summaryrefslogtreecommitdiffstats
path: root/docs/sqlglot/expressions.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sqlglot/expressions.html')
-rw-r--r--docs/sqlglot/expressions.html33876
1 files changed, 25029 insertions, 8847 deletions
diff --git a/docs/sqlglot/expressions.html b/docs/sqlglot/expressions.html
index 138c7fc..e66d4e8 100644
--- a/docs/sqlglot/expressions.html
+++ b/docs/sqlglot/expressions.html
@@ -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.expressions 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>
@@ -42,6 +42,27 @@
<a class="function" href="#Expression.__init__">Expression</a>
</li>
<li>
+ <a class="variable" href="#Expression.key">key</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.args">args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.parent">parent</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.arg_key">arg_key</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.comments">comments</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.hashable_args">hashable_args</a>
+ </li>
+ <li>
<a class="variable" href="#Expression.this">this</a>
</li>
<li>
@@ -69,9 +90,21 @@
<a class="variable" href="#Expression.alias">alias</a>
</li>
<li>
+ <a class="variable" href="#Expression.name">name</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.alias_or_name">alias_or_name</a>
+ </li>
+ <li>
<a class="variable" href="#Expression.output_name">output_name</a>
</li>
<li>
+ <a class="variable" href="#Expression.type">type</a>
+ </li>
+ <li>
+ <a class="variable" href="#Expression.meta">meta</a>
+ </li>
+ <li>
<a class="function" href="#Expression.copy">copy</a>
</li>
<li>
@@ -156,6 +189,12 @@
</li>
<li>
+ <a class="variable" href="#IntoType">IntoType</a>
+ </li>
+ <li>
+ <a class="variable" href="#ExpOrStr">ExpOrStr</a>
+ </li>
+ <li>
<a class="class" href="#Condition">Condition</a>
<ul class="memberlist">
<li>
@@ -194,18 +233,36 @@
<li>
<a class="function" href="#Condition.rlike">rlike</a>
</li>
+ <li>
+ <a class="variable" href="#Condition.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Predicate">Predicate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Predicate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DerivedTable">DerivedTable</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DerivedTable.alias_column_names">alias_column_names</a>
+ </li>
+ <li>
+ <a class="variable" href="#DerivedTable.selects">selects</a>
+ </li>
+ <li>
+ <a class="variable" href="#DerivedTable.named_selects">named_selects</a>
+ </li>
+ <li>
+ <a class="variable" href="#DerivedTable.key">key</a>
+ </li>
</ul>
</li>
@@ -221,126 +278,240 @@
<li>
<a class="function" href="#Unionable.except_">except_</a>
</li>
+ <li>
+ <a class="variable" href="#Unionable.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UDTF">UDTF</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UDTF.selects">selects</a>
+ </li>
+ <li>
+ <a class="variable" href="#UDTF.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Cache">Cache</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Cache.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Cache.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Uncache">Uncache</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Uncache.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Uncache.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Create">Create</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Create.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Create.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Clone">Clone</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Clone.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Clone.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Describe">Describe</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Describe.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Describe.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Pragma">Pragma</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Pragma.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Set">Set</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Set.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Set.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SetItem">SetItem</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SetItem.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SetItem.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Show">Show</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Show.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Show.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UserDefinedFunction">UserDefinedFunction</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UserDefinedFunction.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#UserDefinedFunction.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CharacterSet">CharacterSet</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CharacterSet.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CharacterSet.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#With">With</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#With.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#With.recursive">recursive</a>
+ </li>
+ <li>
+ <a class="variable" href="#With.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#WithinGroup">WithinGroup</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#WithinGroup.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#WithinGroup.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CTE">CTE</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CTE.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CTE.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TableAlias">TableAlias</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TableAlias.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TableAlias.columns">columns</a>
+ </li>
+ <li>
+ <a class="variable" href="#TableAlias.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitString">BitString</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitString.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#HexString">HexString</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#HexString.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ByteString">ByteString</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ByteString.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RawString">RawString</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RawString.key">key</a>
+ </li>
</ul>
</li>
@@ -348,6 +519,18 @@
<a class="class" href="#Column">Column</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Column.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Column.table">table</a>
+ </li>
+ <li>
+ <a class="variable" href="#Column.db">db</a>
+ </li>
+ <li>
+ <a class="variable" href="#Column.catalog">catalog</a>
+ </li>
+ <li>
<a class="variable" href="#Column.output_name">output_name</a>
</li>
<li>
@@ -356,186 +539,336 @@
<li>
<a class="function" href="#Column.to_dot">to_dot</a>
</li>
+ <li>
+ <a class="variable" href="#Column.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ColumnPosition">ColumnPosition</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ColumnPosition.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ColumnPosition.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ColumnDef">ColumnDef</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ColumnDef.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ColumnDef.constraints">constraints</a>
+ </li>
+ <li>
+ <a class="variable" href="#ColumnDef.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AlterColumn">AlterColumn</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AlterColumn.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#AlterColumn.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RenameTable">RenameTable</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RenameTable.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SetTag">SetTag</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SetTag.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SetTag.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Comment">Comment</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Comment.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Comment.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MergeTreeTTLAction">MergeTreeTTLAction</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MergeTreeTTLAction.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#MergeTreeTTLAction.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MergeTreeTTL">MergeTreeTTL</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MergeTreeTTL.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#MergeTreeTTL.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ColumnConstraint">ColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ColumnConstraint.kind">kind</a>
+ </li>
+ <li>
+ <a class="variable" href="#ColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ColumnConstraintKind">ColumnConstraintKind</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ColumnConstraintKind.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AutoIncrementColumnConstraint">AutoIncrementColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AutoIncrementColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CaseSpecificColumnConstraint">CaseSpecificColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CaseSpecificColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CaseSpecificColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CharacterSetColumnConstraint">CharacterSetColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CharacterSetColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CharacterSetColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CheckColumnConstraint">CheckColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CheckColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CollateColumnConstraint">CollateColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CollateColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CommentColumnConstraint">CommentColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CommentColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CompressColumnConstraint">CompressColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CompressColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateFormatColumnConstraint">DateFormatColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateFormatColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DateFormatColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DefaultColumnConstraint">DefaultColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DefaultColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#EncodeColumnConstraint">EncodeColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#EncodeColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#GeneratedAsIdentityColumnConstraint">GeneratedAsIdentityColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#GeneratedAsIdentityColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#GeneratedAsIdentityColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#InlineLengthColumnConstraint">InlineLengthColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#InlineLengthColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NotNullColumnConstraint">NotNullColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NotNullColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#NotNullColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#OnUpdateColumnConstraint">OnUpdateColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#OnUpdateColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PrimaryKeyColumnConstraint">PrimaryKeyColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PrimaryKeyColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#PrimaryKeyColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TitleColumnConstraint">TitleColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TitleColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UniqueColumnConstraint">UniqueColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UniqueColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#UniqueColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UppercaseColumnConstraint">UppercaseColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UppercaseColumnConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#UppercaseColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PathColumnConstraint">PathColumnConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PathColumnConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Constraint">Constraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Constraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Constraint.key">key</a>
+ </li>
</ul>
</li>
@@ -543,6 +876,9 @@
<a class="class" href="#Delete">Delete</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Delete.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Delete.delete">delete</a>
</li>
<li>
@@ -551,72 +887,138 @@
<li>
<a class="function" href="#Delete.returning">returning</a>
</li>
+ <li>
+ <a class="variable" href="#Delete.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Drop">Drop</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Drop.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Drop.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Filter">Filter</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Filter.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Filter.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Check">Check</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Check.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Directory">Directory</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Directory.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Directory.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ForeignKey">ForeignKey</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ForeignKey.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ForeignKey.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PrimaryKey">PrimaryKey</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PrimaryKey.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#PrimaryKey.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Into">Into</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Into.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Into.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#From">From</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#From.name">name</a>
+ </li>
+ <li>
+ <a class="variable" href="#From.alias_or_name">alias_or_name</a>
+ </li>
+ <li>
+ <a class="variable" href="#From.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Having">Having</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Having.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Hint">Hint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Hint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Hint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JoinHint">JoinHint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JoinHint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#JoinHint.key">key</a>
+ </li>
</ul>
</li>
@@ -624,14 +1026,32 @@
<a class="class" href="#Identifier">Identifier</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Identifier.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Identifier.quoted">quoted</a>
+ </li>
+ <li>
+ <a class="variable" href="#Identifier.hashable_args">hashable_args</a>
+ </li>
+ <li>
<a class="variable" href="#Identifier.output_name">output_name</a>
</li>
+ <li>
+ <a class="variable" href="#Identifier.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Index">Index</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Index.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Index.key">key</a>
+ </li>
</ul>
</li>
@@ -639,68 +1059,131 @@
<a class="class" href="#Insert">Insert</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Insert.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Insert.with_">with_</a>
</li>
+ <li>
+ <a class="variable" href="#Insert.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#OnConflict">OnConflict</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#OnConflict.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#OnConflict.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Returning">Returning</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Returning.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Returning.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Introducer">Introducer</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Introducer.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Introducer.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#National">National</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#National.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LoadData">LoadData</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LoadData.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#LoadData.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Partition">Partition</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Partition.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Partition.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Fetch">Fetch</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Fetch.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Fetch.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Group">Group</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Group.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Group.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Lambda">Lambda</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Lambda.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Lambda.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Limit">Limit</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Limit.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Limit.key">key</a>
+ </li>
</ul>
</li>
@@ -708,6 +1191,12 @@
<a class="class" href="#Literal">Literal</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Literal.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Literal.hashable_args">hashable_args</a>
+ </li>
+ <li>
<a class="function" href="#Literal.number">number</a>
</li>
<li>
@@ -716,6 +1205,9 @@
<li>
<a class="variable" href="#Literal.output_name">output_name</a>
</li>
+ <li>
+ <a class="variable" href="#Literal.key">key</a>
+ </li>
</ul>
</li>
@@ -723,377 +1215,749 @@
<a class="class" href="#Join">Join</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Join.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Join.method">method</a>
+ </li>
+ <li>
+ <a class="variable" href="#Join.kind">kind</a>
+ </li>
+ <li>
+ <a class="variable" href="#Join.side">side</a>
+ </li>
+ <li>
+ <a class="variable" href="#Join.hint">hint</a>
+ </li>
+ <li>
+ <a class="variable" href="#Join.alias_or_name">alias_or_name</a>
+ </li>
+ <li>
<a class="function" href="#Join.on">on</a>
</li>
<li>
<a class="function" href="#Join.using">using</a>
</li>
+ <li>
+ <a class="variable" href="#Join.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Lateral">Lateral</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Lateral.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Lateral.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MatchRecognize">MatchRecognize</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MatchRecognize.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#MatchRecognize.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Final">Final</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Final.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Offset">Offset</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Offset.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Offset.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Order">Order</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Order.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Order.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Cluster">Cluster</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Cluster.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Distribute">Distribute</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Distribute.key">key</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>
<li>
<a class="class" href="#Ordered">Ordered</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Ordered.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Ordered.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Property">Property</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Property.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Property.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AlgorithmProperty">AlgorithmProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AlgorithmProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#AlgorithmProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AutoIncrementProperty">AutoIncrementProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AutoIncrementProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#AutoIncrementProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BlockCompressionProperty">BlockCompressionProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BlockCompressionProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#BlockCompressionProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CharacterSetProperty">CharacterSetProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CharacterSetProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CharacterSetProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ChecksumProperty">ChecksumProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ChecksumProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ChecksumProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CollateProperty">CollateProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CollateProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CollateProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CopyGrantsProperty">CopyGrantsProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CopyGrantsProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CopyGrantsProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DataBlocksizeProperty">DataBlocksizeProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DataBlocksizeProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataBlocksizeProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DefinerProperty">DefinerProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DefinerProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DefinerProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DistKeyProperty">DistKeyProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DistKeyProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DistKeyProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DistStyleProperty">DistStyleProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DistStyleProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DistStyleProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#EngineProperty">EngineProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#EngineProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#EngineProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ToTableProperty">ToTableProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ToTableProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ToTableProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ExecuteAsProperty">ExecuteAsProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ExecuteAsProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ExecuteAsProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ExternalProperty">ExternalProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ExternalProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ExternalProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#FallbackProperty">FallbackProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#FallbackProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#FallbackProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#FileFormatProperty">FileFormatProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#FileFormatProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#FileFormatProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#FreespaceProperty">FreespaceProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#FreespaceProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#FreespaceProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#InputOutputFormat">InputOutputFormat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#InputOutputFormat.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#InputOutputFormat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#IsolatedLoadingProperty">IsolatedLoadingProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#IsolatedLoadingProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#IsolatedLoadingProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JournalProperty">JournalProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JournalProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#JournalProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LanguageProperty">LanguageProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LanguageProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#LanguageProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DictProperty">DictProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DictProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DictProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DictSubProperty">DictSubProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DictSubProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DictRange">DictRange</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DictRange.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DictRange.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#OnCluster">OnCluster</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#OnCluster.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#OnCluster.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LikeProperty">LikeProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LikeProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#LikeProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LocationProperty">LocationProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LocationProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#LocationProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LockingProperty">LockingProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LockingProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#LockingProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LogProperty">LogProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LogProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#LogProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MaterializedProperty">MaterializedProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MaterializedProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#MaterializedProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MergeBlockRatioProperty">MergeBlockRatioProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MergeBlockRatioProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#MergeBlockRatioProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NoPrimaryIndexProperty">NoPrimaryIndexProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NoPrimaryIndexProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#NoPrimaryIndexProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#OnCommitProperty">OnCommitProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#OnCommitProperty.arg_type">arg_type</a>
+ </li>
+ <li>
+ <a class="variable" href="#OnCommitProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PartitionedByProperty">PartitionedByProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PartitionedByProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#PartitionedByProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ReturnsProperty">ReturnsProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ReturnsProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ReturnsProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RowFormatProperty">RowFormatProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RowFormatProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RowFormatProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RowFormatDelimitedProperty">RowFormatDelimitedProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RowFormatDelimitedProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RowFormatDelimitedProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RowFormatSerdeProperty">RowFormatSerdeProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RowFormatSerdeProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RowFormatSerdeProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SchemaCommentProperty">SchemaCommentProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SchemaCommentProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SchemaCommentProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SerdeProperties">SerdeProperties</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SerdeProperties.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SerdeProperties.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SetProperty">SetProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SetProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SetProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SettingsProperty">SettingsProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SettingsProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SettingsProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SortKeyProperty">SortKeyProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SortKeyProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SortKeyProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SqlSecurityProperty">SqlSecurityProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SqlSecurityProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SqlSecurityProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StabilityProperty">StabilityProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StabilityProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StabilityProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TemporaryProperty">TemporaryProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TemporaryProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TemporaryProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TransientProperty">TransientProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TransientProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TransientProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#VolatileProperty">VolatileProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#VolatileProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#VolatileProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#WithDataProperty">WithDataProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#WithDataProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#WithDataProperty.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#WithJournalTableProperty">WithJournalTableProperty</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#WithJournalTableProperty.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#WithJournalTableProperty.key">key</a>
+ </li>
</ul>
</li>
@@ -1101,6 +1965,15 @@
<a class="class" href="#Properties">Properties</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Properties.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Properties.NAME_TO_PROPERTY">NAME_TO_PROPERTY</a>
+ </li>
+ <li>
+ <a class="variable" href="#Properties.PROPERTY_TO_NAME">PROPERTY_TO_NAME</a>
+ </li>
+ <li>
<a class="class" href="#Properties.Location">Properties.Location</a>
<ul class="memberlist">
<li>
@@ -1133,24 +2006,39 @@
<li>
<a class="function" href="#Properties.from_dict">from_dict</a>
</li>
+ <li>
+ <a class="variable" href="#Properties.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Qualify">Qualify</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Qualify.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Return">Return</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Return.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Reference">Reference</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Reference.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Reference.key">key</a>
+ </li>
</ul>
</li>
@@ -1158,8 +2046,14 @@
<a class="class" href="#Tuple">Tuple</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Tuple.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Tuple.isin">isin</a>
</li>
+ <li>
+ <a class="variable" href="#Tuple.key">key</a>
+ </li>
</ul>
</li>
@@ -1173,8 +2067,47 @@
<a class="function" href="#Subqueryable.limit">limit</a>
</li>
<li>
+ <a class="variable" href="#Subqueryable.ctes">ctes</a>
+ </li>
+ <li>
+ <a class="variable" href="#Subqueryable.selects">selects</a>
+ </li>
+ <li>
+ <a class="variable" href="#Subqueryable.named_selects">named_selects</a>
+ </li>
+ <li>
<a class="function" href="#Subqueryable.with_">with_</a>
</li>
+ <li>
+ <a class="variable" href="#Subqueryable.key">key</a>
+ </li>
+ </ul>
+
+ </li>
+ <li>
+ <a class="variable" href="#QUERY_MODIFIERS">QUERY_MODIFIERS</a>
+ </li>
+ <li>
+ <a class="class" href="#WithTableHint">WithTableHint</a>
+ <ul class="memberlist">
+ <li>
+ <a class="variable" href="#WithTableHint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#WithTableHint.key">key</a>
+ </li>
+ </ul>
+
+ </li>
+ <li>
+ <a class="class" href="#IndexTableHint">IndexTableHint</a>
+ <ul class="memberlist">
+ <li>
+ <a class="variable" href="#IndexTableHint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#IndexTableHint.key">key</a>
+ </li>
</ul>
</li>
@@ -1182,14 +2115,32 @@
<a class="class" href="#Table">Table</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Table.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Table.db">db</a>
+ </li>
+ <li>
+ <a class="variable" href="#Table.catalog">catalog</a>
+ </li>
+ <li>
<a class="variable" href="#Table.parts">parts</a>
</li>
+ <li>
+ <a class="variable" href="#Table.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SystemTime">SystemTime</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SystemTime.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SystemTime.key">key</a>
+ </li>
</ul>
</li>
@@ -1197,62 +2148,119 @@
<a class="class" href="#Union">Union</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Union.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Union.limit">limit</a>
</li>
<li>
<a class="function" href="#Union.select">select</a>
</li>
<li>
+ <a class="variable" href="#Union.named_selects">named_selects</a>
+ </li>
+ <li>
<a class="variable" href="#Union.is_star">is_star</a>
</li>
+ <li>
+ <a class="variable" href="#Union.selects">selects</a>
+ </li>
+ <li>
+ <a class="variable" href="#Union.left">left</a>
+ </li>
+ <li>
+ <a class="variable" href="#Union.right">right</a>
+ </li>
+ <li>
+ <a class="variable" href="#Union.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Except">Except</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Except.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Intersect">Intersect</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Intersect.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Unnest">Unnest</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Unnest.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Unnest.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Update">Update</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Update.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Update.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Values">Values</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Values.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Values.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Var">Var</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Var.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Schema">Schema</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Schema.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Schema.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Lock">Lock</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Lock.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Lock.key">key</a>
+ </li>
</ul>
</li>
@@ -1260,6 +2268,9 @@
<a class="class" href="#Select">Select</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Select.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Select.from_">from_</a>
</li>
<li>
@@ -1314,8 +2325,17 @@
<a class="function" href="#Select.hint">hint</a>
</li>
<li>
+ <a class="variable" href="#Select.named_selects">named_selects</a>
+ </li>
+ <li>
<a class="variable" href="#Select.is_star">is_star</a>
</li>
+ <li>
+ <a class="variable" href="#Select.selects">selects</a>
+ </li>
+ <li>
+ <a class="variable" href="#Select.key">key</a>
+ </li>
</ul>
</li>
@@ -1323,6 +2343,9 @@
<a class="class" href="#Subquery">Subquery</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Subquery.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Subquery.unnest">unnest</a>
</li>
<li>
@@ -1331,42 +2354,78 @@
<li>
<a class="variable" href="#Subquery.output_name">output_name</a>
</li>
+ <li>
+ <a class="variable" href="#Subquery.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TableSample">TableSample</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TableSample.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TableSample.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Tag">Tag</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Tag.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Tag.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Pivot">Pivot</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Pivot.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Pivot.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Window">Window</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Window.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Window.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#WindowSpec">WindowSpec</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#WindowSpec.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#WindowSpec.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Where">Where</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Where.key">key</a>
+ </li>
</ul>
</li>
@@ -1374,44 +2433,89 @@
<a class="class" href="#Star">Star</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Star.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Star.name">name</a>
+ </li>
+ <li>
<a class="variable" href="#Star.output_name">output_name</a>
</li>
+ <li>
+ <a class="variable" href="#Star.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Parameter">Parameter</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Parameter.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Parameter.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SessionParameter">SessionParameter</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SessionParameter.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SessionParameter.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Placeholder">Placeholder</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Placeholder.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Placeholder.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Null">Null</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Null.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Null.name">name</a>
+ </li>
+ <li>
+ <a class="variable" href="#Null.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Boolean">Boolean</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Boolean.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DataTypeSize">DataTypeSize</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DataTypeSize.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataTypeSize.key">key</a>
+ </li>
</ul>
</li>
@@ -1419,6 +2523,9 @@
<a class="class" href="#DataType">DataType</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#DataType.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="class" href="#DataType.Type">DataType.Type</a>
<ul class="memberlist">
<li>
@@ -1638,6 +2745,9 @@
<a class="variable" href="#DataType.Type.UNIQUEIDENTIFIER">UNIQUEIDENTIFIER</a>
</li>
<li>
+ <a class="variable" href="#DataType.Type.USERDEFINED">USERDEFINED</a>
+ </li>
+ <li>
<a class="variable" href="#DataType.Type.UUID">UUID</a>
</li>
<li>
@@ -1656,155 +2766,278 @@
</li>
<li>
+ <a class="variable" href="#DataType.TEXT_TYPES">TEXT_TYPES</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataType.INTEGER_TYPES">INTEGER_TYPES</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataType.FLOAT_TYPES">FLOAT_TYPES</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataType.NUMERIC_TYPES">NUMERIC_TYPES</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataType.TEMPORAL_TYPES">TEMPORAL_TYPES</a>
+ </li>
+ <li>
+ <a class="variable" href="#DataType.META_TYPES">META_TYPES</a>
+ </li>
+ <li>
<a class="function" href="#DataType.build">build</a>
</li>
<li>
<a class="function" href="#DataType.is_type">is_type</a>
</li>
+ <li>
+ <a class="variable" href="#DataType.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PseudoType">PseudoType</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PseudoType.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SubqueryPredicate">SubqueryPredicate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SubqueryPredicate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#All">All</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#All.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Any">Any</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Any.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Exists">Exists</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Exists.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Command">Command</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Command.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Command.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Transaction">Transaction</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Transaction.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Transaction.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Commit">Commit</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Commit.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Commit.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Rollback">Rollback</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Rollback.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Rollback.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AlterTable">AlterTable</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AlterTable.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#AlterTable.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AddConstraint">AddConstraint</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AddConstraint.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#AddConstraint.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DropPartition">DropPartition</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DropPartition.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DropPartition.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Binary">Binary</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Binary.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Binary.left">left</a>
+ </li>
+ <li>
+ <a class="variable" href="#Binary.right">right</a>
+ </li>
+ <li>
+ <a class="variable" href="#Binary.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Add">Add</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Add.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Connector">Connector</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Connector.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#And">And</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#And.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Or">Or</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Or.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitwiseAnd">BitwiseAnd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitwiseAnd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitwiseLeftShift">BitwiseLeftShift</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitwiseLeftShift.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitwiseOr">BitwiseOr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitwiseOr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitwiseRightShift">BitwiseRightShift</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitwiseRightShift.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitwiseXor">BitwiseXor</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitwiseXor.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Div">Div</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Div.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Overlaps">Overlaps</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Overlaps.key">key</a>
+ </li>
</ul>
</li>
@@ -1812,185 +3045,281 @@
<a class="class" href="#Dot">Dot</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Dot.name">name</a>
+ </li>
+ <li>
<a class="variable" href="#Dot.output_name">output_name</a>
</li>
<li>
<a class="function" href="#Dot.build">build</a>
</li>
+ <li>
+ <a class="variable" href="#Dot.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DPipe">DPipe</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DPipe.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SafeDPipe">SafeDPipe</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SafeDPipe.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#EQ">EQ</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#EQ.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NullSafeEQ">NullSafeEQ</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NullSafeEQ.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NullSafeNEQ">NullSafeNEQ</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NullSafeNEQ.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Distance">Distance</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Distance.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Escape">Escape</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Escape.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Glob">Glob</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Glob.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#GT">GT</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#GT.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#GTE">GTE</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#GTE.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ILike">ILike</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ILike.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ILikeAny">ILikeAny</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ILikeAny.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#IntDiv">IntDiv</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#IntDiv.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Is">Is</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Is.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Kwarg">Kwarg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Kwarg.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Like">Like</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Like.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LikeAny">LikeAny</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LikeAny.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LT">LT</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LT.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LTE">LTE</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LTE.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Mod">Mod</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Mod.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Mul">Mul</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Mul.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NEQ">NEQ</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NEQ.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SimilarTo">SimilarTo</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SimilarTo.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Slice">Slice</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Slice.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Slice.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Sub">Sub</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Sub.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayOverlaps">ArrayOverlaps</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayOverlaps.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Unary">Unary</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Unary.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#BitwiseNot">BitwiseNot</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#BitwiseNot.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Not">Not</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Not.key">key</a>
+ </li>
</ul>
</li>
@@ -1998,14 +3327,23 @@
<a class="class" href="#Paren">Paren</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Paren.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="variable" href="#Paren.output_name">output_name</a>
</li>
+ <li>
+ <a class="variable" href="#Paren.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Neg">Neg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Neg.key">key</a>
+ </li>
</ul>
</li>
@@ -2013,44 +3351,89 @@
<a class="class" href="#Alias">Alias</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Alias.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="variable" href="#Alias.output_name">output_name</a>
</li>
+ <li>
+ <a class="variable" href="#Alias.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Aliases">Aliases</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Aliases.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Aliases.aliases">aliases</a>
+ </li>
+ <li>
+ <a class="variable" href="#Aliases.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AtTimeZone">AtTimeZone</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AtTimeZone.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#AtTimeZone.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Between">Between</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Between.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Between.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Bracket">Bracket</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Bracket.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Bracket.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Distinct">Distinct</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Distinct.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Distinct.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#In">In</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#In.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#In.key">key</a>
+ </li>
</ul>
</li>
@@ -2060,24 +3443,45 @@
<li>
<a class="function" href="#TimeUnit.__init__">TimeUnit</a>
</li>
+ <li>
+ <a class="variable" href="#TimeUnit.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimeUnit.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Interval">Interval</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Interval.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Interval.unit">unit</a>
+ </li>
+ <li>
+ <a class="variable" href="#Interval.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#IgnoreNulls">IgnoreNulls</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#IgnoreNulls.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RespectNulls">RespectNulls</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RespectNulls.key">key</a>
+ </li>
</ul>
</li>
@@ -2085,6 +3489,9 @@
<a class="class" href="#Func">Func</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Func.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
<a class="function" href="#Func.from_arg_list">from_arg_list</a>
</li>
<li>
@@ -2096,144 +3503,270 @@
<li>
<a class="function" href="#Func.default_parser_mappings">default_parser_mappings</a>
</li>
+ <li>
+ <a class="variable" href="#Func.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AggFunc">AggFunc</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AggFunc.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ParameterizedAgg">ParameterizedAgg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ParameterizedAgg.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ParameterizedAgg.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Abs">Abs</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Abs.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Anonymous">Anonymous</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Anonymous.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Anonymous.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Anonymous.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Hll">Hll</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Hll.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Hll.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Hll.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ApproxDistinct">ApproxDistinct</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ApproxDistinct.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ApproxDistinct.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Array">Array</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Array.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Array.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Array.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ToChar">ToChar</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ToChar.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ToChar.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#GenerateSeries">GenerateSeries</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#GenerateSeries.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#GenerateSeries.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayAgg">ArrayAgg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayAgg.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayAll">ArrayAll</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayAll.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArrayAll.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayAny">ArrayAny</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayAny.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArrayAny.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayConcat">ArrayConcat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayConcat.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArrayConcat.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArrayConcat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayContains">ArrayContains</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayContains.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayContained">ArrayContained</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayContained.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayFilter">ArrayFilter</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayFilter.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArrayFilter.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayJoin">ArrayJoin</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayJoin.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArrayJoin.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArraySize">ArraySize</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArraySize.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArraySize.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArraySort">ArraySort</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArraySort.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ArraySort.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArraySum">ArraySum</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArraySum.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ArrayUnionAgg">ArrayUnionAgg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ArrayUnionAgg.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Avg">Avg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Avg.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#AnyValue">AnyValue</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#AnyValue.key">key</a>
+ </li>
</ul>
</li>
@@ -2241,11 +3774,17 @@
<a class="class" href="#Case">Case</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Case.arg_types">arg_types</a>
+ </li>
+ <li>
<a class="function" href="#Case.when">when</a>
</li>
<li>
<a class="function" href="#Case.else_">else_</a>
</li>
+ <li>
+ <a class="variable" href="#Case.key">key</a>
+ </li>
</ul>
</li>
@@ -2253,909 +3792,1695 @@
<a class="class" href="#Cast">Cast</a>
<ul class="memberlist">
<li>
+ <a class="variable" href="#Cast.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Cast.name">name</a>
+ </li>
+ <li>
+ <a class="variable" href="#Cast.to">to</a>
+ </li>
+ <li>
<a class="variable" href="#Cast.output_name">output_name</a>
</li>
<li>
<a class="function" href="#Cast.is_type">is_type</a>
</li>
+ <li>
+ <a class="variable" href="#Cast.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CastToStrType">CastToStrType</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CastToStrType.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CastToStrType.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Collate">Collate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Collate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TryCast">TryCast</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TryCast.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Ceil">Ceil</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Ceil.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Ceil.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Coalesce">Coalesce</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Coalesce.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Coalesce.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Coalesce.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Concat">Concat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Concat.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Concat.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Concat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SafeConcat">SafeConcat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SafeConcat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ConcatWs">ConcatWs</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ConcatWs.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Count">Count</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Count.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Count.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Count.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CountIf">CountIf</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CountIf.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CurrentDate">CurrentDate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CurrentDate.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CurrentDate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CurrentDatetime">CurrentDatetime</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CurrentDatetime.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CurrentDatetime.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CurrentTime">CurrentTime</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CurrentTime.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CurrentTime.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CurrentTimestamp">CurrentTimestamp</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CurrentTimestamp.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CurrentTimestamp.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#CurrentUser">CurrentUser</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#CurrentUser.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#CurrentUser.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateAdd">DateAdd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateAdd.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DateAdd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateSub">DateSub</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateSub.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DateSub.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateDiff">DateDiff</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateDiff.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DateDiff.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateTrunc">DateTrunc</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateTrunc.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DateTrunc.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DatetimeAdd">DatetimeAdd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DatetimeAdd.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DatetimeAdd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DatetimeSub">DatetimeSub</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DatetimeSub.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DatetimeSub.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DatetimeDiff">DatetimeDiff</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DatetimeDiff.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DatetimeDiff.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DatetimeTrunc">DatetimeTrunc</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DatetimeTrunc.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DatetimeTrunc.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DayOfWeek">DayOfWeek</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DayOfWeek.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DayOfMonth">DayOfMonth</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DayOfMonth.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DayOfYear">DayOfYear</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DayOfYear.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#WeekOfYear">WeekOfYear</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#WeekOfYear.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LastDateOfMonth">LastDateOfMonth</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LastDateOfMonth.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Extract">Extract</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Extract.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Extract.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimestampAdd">TimestampAdd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimestampAdd.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimestampAdd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimestampSub">TimestampSub</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimestampSub.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimestampSub.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimestampDiff">TimestampDiff</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimestampDiff.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimestampDiff.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimestampTrunc">TimestampTrunc</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimestampTrunc.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimestampTrunc.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeAdd">TimeAdd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeAdd.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimeAdd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeSub">TimeSub</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeSub.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimeSub.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeDiff">TimeDiff</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeDiff.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimeDiff.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeTrunc">TimeTrunc</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeTrunc.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimeTrunc.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateFromParts">DateFromParts</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateFromParts.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#DateFromParts.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateStrToDate">DateStrToDate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateStrToDate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateToDateStr">DateToDateStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateToDateStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DateToDi">DateToDi</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DateToDi.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Date">Date</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Date.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Date.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Date.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Day">Day</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Day.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Decode">Decode</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Decode.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Decode.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#DiToDate">DiToDate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#DiToDate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Encode">Encode</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Encode.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Encode.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Exp">Exp</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Exp.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Explode">Explode</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Explode.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Floor">Floor</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Floor.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Floor.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#FromBase64">FromBase64</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#FromBase64.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ToBase64">ToBase64</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ToBase64.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Greatest">Greatest</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Greatest.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Greatest.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Greatest.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#GroupConcat">GroupConcat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#GroupConcat.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#GroupConcat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Hex">Hex</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Hex.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#If">If</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#If.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#If.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Initcap">Initcap</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Initcap.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Initcap.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONKeyValue">JSONKeyValue</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONKeyValue.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#JSONKeyValue.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONObject">JSONObject</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONObject.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#JSONObject.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#OpenJSONColumnDef">OpenJSONColumnDef</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#OpenJSONColumnDef.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#OpenJSONColumnDef.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#OpenJSON">OpenJSON</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#OpenJSON.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#OpenJSON.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONBContains">JSONBContains</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONBContains.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONExtract">JSONExtract</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONExtract.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONExtractScalar">JSONExtractScalar</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONExtractScalar.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONBExtract">JSONBExtract</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONBExtract.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONBExtractScalar">JSONBExtractScalar</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONBExtractScalar.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#JSONFormat">JSONFormat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#JSONFormat.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#JSONFormat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Least">Least</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Least.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Least.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Least.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Left">Left</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Left.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Left.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Right">Right</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Right.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Right.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Length">Length</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Length.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Levenshtein">Levenshtein</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Levenshtein.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Levenshtein.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Ln">Ln</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Ln.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Log">Log</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Log.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Log.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Log2">Log2</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Log2.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Log10">Log10</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Log10.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LogicalOr">LogicalOr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LogicalOr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#LogicalAnd">LogicalAnd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#LogicalAnd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Lower">Lower</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Lower.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Map">Map</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Map.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Map.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StarMap">StarMap</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StarMap.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#VarMap">VarMap</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#VarMap.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#VarMap.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#VarMap.keys">keys</a>
+ </li>
+ <li>
+ <a class="variable" href="#VarMap.values">values</a>
+ </li>
+ <li>
+ <a class="variable" href="#VarMap.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MatchAgainst">MatchAgainst</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MatchAgainst.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#MatchAgainst.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Max">Max</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Max.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Max.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Max.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#MD5">MD5</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#MD5.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Min">Min</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Min.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Min.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Min.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Month">Month</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Month.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Nvl2">Nvl2</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Nvl2.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Nvl2.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Posexplode">Posexplode</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Posexplode.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Pow">Pow</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Pow.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PercentileCont">PercentileCont</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PercentileCont.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#PercentileCont.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PercentileDisc">PercentileDisc</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#PercentileDisc.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#PercentileDisc.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Quantile">Quantile</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Quantile.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Quantile.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ApproxQuantile">ApproxQuantile</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ApproxQuantile.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ApproxQuantile.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RangeN">RangeN</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RangeN.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RangeN.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#ReadCSV">ReadCSV</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#ReadCSV.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#ReadCSV.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#ReadCSV.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Reduce">Reduce</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Reduce.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Reduce.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RegexpExtract">RegexpExtract</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RegexpExtract.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RegexpExtract.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RegexpLike">RegexpLike</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RegexpLike.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RegexpLike.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RegexpILike">RegexpILike</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RegexpILike.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RegexpILike.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RegexpSplit">RegexpSplit</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RegexpSplit.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RegexpSplit.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Repeat">Repeat</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Repeat.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Repeat.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Round">Round</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Round.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Round.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#RowNumber">RowNumber</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#RowNumber.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#RowNumber.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SafeDivide">SafeDivide</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SafeDivide.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SafeDivide.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SetAgg">SetAgg</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SetAgg.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SHA">SHA</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SHA.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SHA2">SHA2</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SHA2.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SHA2.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#SortArray">SortArray</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#SortArray.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#SortArray.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Split">Split</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Split.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Split.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Substring">Substring</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Substring.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Substring.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StandardHash">StandardHash</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StandardHash.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StandardHash.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StrPosition">StrPosition</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StrPosition.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StrPosition.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StrToDate">StrToDate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StrToDate.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StrToDate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StrToTime">StrToTime</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StrToTime.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StrToTime.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StrToUnix">StrToUnix</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StrToUnix.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StrToUnix.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NumberToStr">NumberToStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NumberToStr.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#NumberToStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#FromBase">FromBase</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#FromBase.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#FromBase.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Struct">Struct</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Struct.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Struct.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
+ <a class="variable" href="#Struct.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StructExtract">StructExtract</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StructExtract.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#StructExtract.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Sum">Sum</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Sum.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Sqrt">Sqrt</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Sqrt.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Stddev">Stddev</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Stddev.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StddevPop">StddevPop</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StddevPop.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#StddevSamp">StddevSamp</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#StddevSamp.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeToStr">TimeToStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeToStr.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TimeToStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeToTimeStr">TimeToTimeStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeToTimeStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeToUnix">TimeToUnix</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeToUnix.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeStrToDate">TimeStrToDate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeStrToDate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeStrToTime">TimeStrToTime</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeStrToTime.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TimeStrToUnix">TimeStrToUnix</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TimeStrToUnix.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Trim">Trim</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Trim.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Trim.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TsOrDsAdd">TsOrDsAdd</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TsOrDsAdd.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TsOrDsAdd.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TsOrDsToDateStr">TsOrDsToDateStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TsOrDsToDateStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TsOrDsToDate">TsOrDsToDate</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TsOrDsToDate.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#TsOrDsToDate.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#TsOrDiToDi">TsOrDiToDi</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#TsOrDiToDi.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Unhex">Unhex</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Unhex.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UnixToStr">UnixToStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UnixToStr.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#UnixToStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UnixToTime">UnixToTime</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UnixToTime.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#UnixToTime.SECONDS">SECONDS</a>
+ </li>
+ <li>
+ <a class="variable" href="#UnixToTime.MILLIS">MILLIS</a>
+ </li>
+ <li>
+ <a class="variable" href="#UnixToTime.MICROS">MICROS</a>
+ </li>
+ <li>
+ <a class="variable" href="#UnixToTime.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#UnixToTimeStr">UnixToTimeStr</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#UnixToTimeStr.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Upper">Upper</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Upper.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Variance">Variance</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Variance.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#VariancePop">VariancePop</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#VariancePop.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Week">Week</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Week.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Week.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#XMLTable">XMLTable</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#XMLTable.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#XMLTable.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Year">Year</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Year.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Use">Use</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Use.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Use.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#Merge">Merge</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#Merge.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#Merge.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#When">When</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#When.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#When.key">key</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#NextValueFor">NextValueFor</a>
<ul class="memberlist">
+ <li>
+ <a class="variable" href="#NextValueFor.arg_types">arg_types</a>
+ </li>
+ <li>
+ <a class="variable" href="#NextValueFor.key">key</a>
+ </li>
</ul>
</li>
<li>
+ <a class="variable" href="#ALL_FUNCTIONS">ALL_FUNCTIONS</a>
+ </li>
+ <li>
<a class="function" href="#maybe_parse">maybe_parse</a>
</li>
<li>
@@ -3198,9 +5523,15 @@
<a class="function" href="#paren">paren</a>
</li>
<li>
+ <a class="variable" href="#SAFE_IDENTIFIER_RE">SAFE_IDENTIFIER_RE</a>
+ </li>
+ <li>
<a class="function" href="#to_identifier">to_identifier</a>
</li>
<li>
+ <a class="variable" href="#INTERVAL_STRING_RE">INTERVAL_STRING_RE</a>
+ </li>
+ <li>
<a class="function" href="#to_interval">to_interval</a>
</li>
<li>
@@ -3266,6 +5597,15 @@
<li>
<a class="function" href="#null">null</a>
</li>
+ <li>
+ <a class="variable" href="#TRUE">TRUE</a>
+ </li>
+ <li>
+ <a class="variable" href="#FALSE">FALSE</a>
+ </li>
+ <li>
+ <a class="variable" href="#NULL">NULL</a>
+ </li>
</ul>
@@ -4600,1681 +6940,1681 @@ SQL expressions, such as <code><a href="#select">sqlglot.expressions.select</a><
</span><span id="L-1301"><a href="#L-1301"><span class="linenos">1301</span></a>
</span><span id="L-1302"><a href="#L-1302"><span class="linenos">1302</span></a>
</span><span id="L-1303"><a href="#L-1303"><span class="linenos">1303</span></a><span class="k">class</span> <span class="nc">Delete</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1304"><a href="#L-1304"><span class="linenos">1304</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-1305"><a href="#L-1305"><span class="linenos">1305</span></a>
-</span><span id="L-1306"><a href="#L-1306"><span class="linenos">1306</span></a> <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
-</span><span id="L-1307"><a href="#L-1307"><span class="linenos">1307</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1308"><a href="#L-1308"><span class="linenos">1308</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-1309"><a href="#L-1309"><span class="linenos">1309</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1310"><a href="#L-1310"><span class="linenos">1310</span></a> <span class="n">copy</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-1311"><a href="#L-1311"><span class="linenos">1311</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1312"><a href="#L-1312"><span class="linenos">1312</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="L-1313"><a href="#L-1313"><span class="linenos">1313</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-1314"><a href="#L-1314"><span class="linenos">1314</span></a><span class="sd"> Create a DELETE expression or replace the table on an existing DELETE expression.</span>
-</span><span id="L-1315"><a href="#L-1315"><span class="linenos">1315</span></a>
-</span><span id="L-1316"><a href="#L-1316"><span class="linenos">1316</span></a><span class="sd"> Example:</span>
-</span><span id="L-1317"><a href="#L-1317"><span class="linenos">1317</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).sql()</span>
-</span><span id="L-1318"><a href="#L-1318"><span class="linenos">1318</span></a><span class="sd"> &#39;DELETE FROM tbl&#39;</span>
-</span><span id="L-1319"><a href="#L-1319"><span class="linenos">1319</span></a>
-</span><span id="L-1320"><a href="#L-1320"><span class="linenos">1320</span></a><span class="sd"> Args:</span>
-</span><span id="L-1321"><a href="#L-1321"><span class="linenos">1321</span></a><span class="sd"> table: the table from which to delete.</span>
-</span><span id="L-1322"><a href="#L-1322"><span class="linenos">1322</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-1323"><a href="#L-1323"><span class="linenos">1323</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-1324"><a href="#L-1324"><span class="linenos">1324</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-1325"><a href="#L-1325"><span class="linenos">1325</span></a>
-</span><span id="L-1326"><a href="#L-1326"><span class="linenos">1326</span></a><span class="sd"> Returns:</span>
-</span><span id="L-1327"><a href="#L-1327"><span class="linenos">1327</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="L-1328"><a href="#L-1328"><span class="linenos">1328</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-1329"><a href="#L-1329"><span class="linenos">1329</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="L-1330"><a href="#L-1330"><span class="linenos">1330</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
-</span><span id="L-1331"><a href="#L-1331"><span class="linenos">1331</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1332"><a href="#L-1332"><span class="linenos">1332</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;this&quot;</span><span class="p">,</span>
-</span><span id="L-1333"><a href="#L-1333"><span class="linenos">1333</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-1334"><a href="#L-1334"><span class="linenos">1334</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
-</span><span id="L-1335"><a href="#L-1335"><span class="linenos">1335</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-1336"><a href="#L-1336"><span class="linenos">1336</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1337"><a href="#L-1337"><span class="linenos">1337</span></a> <span class="p">)</span>
-</span><span id="L-1338"><a href="#L-1338"><span class="linenos">1338</span></a>
-</span><span id="L-1339"><a href="#L-1339"><span class="linenos">1339</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
-</span><span id="L-1340"><a href="#L-1340"><span class="linenos">1340</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1341"><a href="#L-1341"><span class="linenos">1341</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-1342"><a href="#L-1342"><span class="linenos">1342</span></a> <span class="n">append</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-1343"><a href="#L-1343"><span class="linenos">1343</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1344"><a href="#L-1344"><span class="linenos">1344</span></a> <span class="n">copy</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-1345"><a href="#L-1345"><span class="linenos">1345</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1346"><a href="#L-1346"><span class="linenos">1346</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="L-1347"><a href="#L-1347"><span class="linenos">1347</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-1348"><a href="#L-1348"><span class="linenos">1348</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
-</span><span id="L-1349"><a href="#L-1349"><span class="linenos">1349</span></a>
-</span><span id="L-1350"><a href="#L-1350"><span class="linenos">1350</span></a><span class="sd"> Example:</span>
-</span><span id="L-1351"><a href="#L-1351"><span class="linenos">1351</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
-</span><span id="L-1352"><a href="#L-1352"><span class="linenos">1352</span></a><span class="sd"> &quot;DELETE FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
-</span><span id="L-1353"><a href="#L-1353"><span class="linenos">1353</span></a>
-</span><span id="L-1354"><a href="#L-1354"><span class="linenos">1354</span></a><span class="sd"> Args:</span>
-</span><span id="L-1355"><a href="#L-1355"><span class="linenos">1355</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-1356"><a href="#L-1356"><span class="linenos">1356</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-1357"><a href="#L-1357"><span class="linenos">1357</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="L-1358"><a href="#L-1358"><span class="linenos">1358</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="L-1359"><a href="#L-1359"><span class="linenos">1359</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="L-1360"><a href="#L-1360"><span class="linenos">1360</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-1361"><a href="#L-1361"><span class="linenos">1361</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-1362"><a href="#L-1362"><span class="linenos">1362</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-1363"><a href="#L-1363"><span class="linenos">1363</span></a>
-</span><span id="L-1364"><a href="#L-1364"><span class="linenos">1364</span></a><span class="sd"> Returns:</span>
-</span><span id="L-1365"><a href="#L-1365"><span class="linenos">1365</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="L-1366"><a href="#L-1366"><span class="linenos">1366</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-1367"><a href="#L-1367"><span class="linenos">1367</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="L-1368"><a href="#L-1368"><span class="linenos">1368</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-1369"><a href="#L-1369"><span class="linenos">1369</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1370"><a href="#L-1370"><span class="linenos">1370</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="L-1371"><a href="#L-1371"><span class="linenos">1371</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-1372"><a href="#L-1372"><span class="linenos">1372</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
-</span><span id="L-1373"><a href="#L-1373"><span class="linenos">1373</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-1374"><a href="#L-1374"><span class="linenos">1374</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-1375"><a href="#L-1375"><span class="linenos">1375</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1376"><a href="#L-1376"><span class="linenos">1376</span></a> <span class="p">)</span>
-</span><span id="L-1377"><a href="#L-1377"><span class="linenos">1377</span></a>
-</span><span id="L-1378"><a href="#L-1378"><span class="linenos">1378</span></a> <span class="k">def</span> <span class="nf">returning</span><span class="p">(</span>
-</span><span id="L-1379"><a href="#L-1379"><span class="linenos">1379</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1380"><a href="#L-1380"><span class="linenos">1380</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-1381"><a href="#L-1381"><span class="linenos">1381</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1382"><a href="#L-1382"><span class="linenos">1382</span></a> <span class="n">copy</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-1383"><a href="#L-1383"><span class="linenos">1383</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1384"><a href="#L-1384"><span class="linenos">1384</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="L-1385"><a href="#L-1385"><span class="linenos">1385</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-1386"><a href="#L-1386"><span class="linenos">1386</span></a><span class="sd"> Set the RETURNING expression. Not supported by all dialects.</span>
-</span><span id="L-1387"><a href="#L-1387"><span class="linenos">1387</span></a>
-</span><span id="L-1388"><a href="#L-1388"><span class="linenos">1388</span></a><span class="sd"> Example:</span>
-</span><span id="L-1389"><a href="#L-1389"><span class="linenos">1389</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).returning(&quot;*&quot;, dialect=&quot;postgres&quot;).sql()</span>
-</span><span id="L-1390"><a href="#L-1390"><span class="linenos">1390</span></a><span class="sd"> &#39;DELETE FROM tbl RETURNING *&#39;</span>
-</span><span id="L-1391"><a href="#L-1391"><span class="linenos">1391</span></a>
-</span><span id="L-1392"><a href="#L-1392"><span class="linenos">1392</span></a><span class="sd"> Args:</span>
-</span><span id="L-1393"><a href="#L-1393"><span class="linenos">1393</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="L-1394"><a href="#L-1394"><span class="linenos">1394</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-1395"><a href="#L-1395"><span class="linenos">1395</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-1396"><a href="#L-1396"><span class="linenos">1396</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-1397"><a href="#L-1397"><span class="linenos">1397</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-1304"><a href="#L-1304"><span class="linenos">1304</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1305"><a href="#L-1305"><span class="linenos">1305</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1306"><a href="#L-1306"><span class="linenos">1306</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1307"><a href="#L-1307"><span class="linenos">1307</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1308"><a href="#L-1308"><span class="linenos">1308</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1309"><a href="#L-1309"><span class="linenos">1309</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1310"><a href="#L-1310"><span class="linenos">1310</span></a> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1311"><a href="#L-1311"><span class="linenos">1311</span></a> <span class="p">}</span>
+</span><span id="L-1312"><a href="#L-1312"><span class="linenos">1312</span></a>
+</span><span id="L-1313"><a href="#L-1313"><span class="linenos">1313</span></a> <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
+</span><span id="L-1314"><a href="#L-1314"><span class="linenos">1314</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1315"><a href="#L-1315"><span class="linenos">1315</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-1316"><a href="#L-1316"><span class="linenos">1316</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1317"><a href="#L-1317"><span class="linenos">1317</span></a> <span class="n">copy</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-1318"><a href="#L-1318"><span class="linenos">1318</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1319"><a href="#L-1319"><span class="linenos">1319</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="L-1320"><a href="#L-1320"><span class="linenos">1320</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-1321"><a href="#L-1321"><span class="linenos">1321</span></a><span class="sd"> Create a DELETE expression or replace the table on an existing DELETE expression.</span>
+</span><span id="L-1322"><a href="#L-1322"><span class="linenos">1322</span></a>
+</span><span id="L-1323"><a href="#L-1323"><span class="linenos">1323</span></a><span class="sd"> Example:</span>
+</span><span id="L-1324"><a href="#L-1324"><span class="linenos">1324</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).sql()</span>
+</span><span id="L-1325"><a href="#L-1325"><span class="linenos">1325</span></a><span class="sd"> &#39;DELETE FROM tbl&#39;</span>
+</span><span id="L-1326"><a href="#L-1326"><span class="linenos">1326</span></a>
+</span><span id="L-1327"><a href="#L-1327"><span class="linenos">1327</span></a><span class="sd"> Args:</span>
+</span><span id="L-1328"><a href="#L-1328"><span class="linenos">1328</span></a><span class="sd"> table: the table from which to delete.</span>
+</span><span id="L-1329"><a href="#L-1329"><span class="linenos">1329</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-1330"><a href="#L-1330"><span class="linenos">1330</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-1331"><a href="#L-1331"><span class="linenos">1331</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-1332"><a href="#L-1332"><span class="linenos">1332</span></a>
+</span><span id="L-1333"><a href="#L-1333"><span class="linenos">1333</span></a><span class="sd"> Returns:</span>
+</span><span id="L-1334"><a href="#L-1334"><span class="linenos">1334</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="L-1335"><a href="#L-1335"><span class="linenos">1335</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-1336"><a href="#L-1336"><span class="linenos">1336</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="L-1337"><a href="#L-1337"><span class="linenos">1337</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
+</span><span id="L-1338"><a href="#L-1338"><span class="linenos">1338</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1339"><a href="#L-1339"><span class="linenos">1339</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;this&quot;</span><span class="p">,</span>
+</span><span id="L-1340"><a href="#L-1340"><span class="linenos">1340</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-1341"><a href="#L-1341"><span class="linenos">1341</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
+</span><span id="L-1342"><a href="#L-1342"><span class="linenos">1342</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-1343"><a href="#L-1343"><span class="linenos">1343</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1344"><a href="#L-1344"><span class="linenos">1344</span></a> <span class="p">)</span>
+</span><span id="L-1345"><a href="#L-1345"><span class="linenos">1345</span></a>
+</span><span id="L-1346"><a href="#L-1346"><span class="linenos">1346</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
+</span><span id="L-1347"><a href="#L-1347"><span class="linenos">1347</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1348"><a href="#L-1348"><span class="linenos">1348</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-1349"><a href="#L-1349"><span class="linenos">1349</span></a> <span class="n">append</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-1350"><a href="#L-1350"><span class="linenos">1350</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1351"><a href="#L-1351"><span class="linenos">1351</span></a> <span class="n">copy</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-1352"><a href="#L-1352"><span class="linenos">1352</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1353"><a href="#L-1353"><span class="linenos">1353</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="L-1354"><a href="#L-1354"><span class="linenos">1354</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-1355"><a href="#L-1355"><span class="linenos">1355</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
+</span><span id="L-1356"><a href="#L-1356"><span class="linenos">1356</span></a>
+</span><span id="L-1357"><a href="#L-1357"><span class="linenos">1357</span></a><span class="sd"> Example:</span>
+</span><span id="L-1358"><a href="#L-1358"><span class="linenos">1358</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
+</span><span id="L-1359"><a href="#L-1359"><span class="linenos">1359</span></a><span class="sd"> &quot;DELETE FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
+</span><span id="L-1360"><a href="#L-1360"><span class="linenos">1360</span></a>
+</span><span id="L-1361"><a href="#L-1361"><span class="linenos">1361</span></a><span class="sd"> Args:</span>
+</span><span id="L-1362"><a href="#L-1362"><span class="linenos">1362</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-1363"><a href="#L-1363"><span class="linenos">1363</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-1364"><a href="#L-1364"><span class="linenos">1364</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="L-1365"><a href="#L-1365"><span class="linenos">1365</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="L-1366"><a href="#L-1366"><span class="linenos">1366</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="L-1367"><a href="#L-1367"><span class="linenos">1367</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-1368"><a href="#L-1368"><span class="linenos">1368</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-1369"><a href="#L-1369"><span class="linenos">1369</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-1370"><a href="#L-1370"><span class="linenos">1370</span></a>
+</span><span id="L-1371"><a href="#L-1371"><span class="linenos">1371</span></a><span class="sd"> Returns:</span>
+</span><span id="L-1372"><a href="#L-1372"><span class="linenos">1372</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="L-1373"><a href="#L-1373"><span class="linenos">1373</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-1374"><a href="#L-1374"><span class="linenos">1374</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="L-1375"><a href="#L-1375"><span class="linenos">1375</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-1376"><a href="#L-1376"><span class="linenos">1376</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1377"><a href="#L-1377"><span class="linenos">1377</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="L-1378"><a href="#L-1378"><span class="linenos">1378</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-1379"><a href="#L-1379"><span class="linenos">1379</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
+</span><span id="L-1380"><a href="#L-1380"><span class="linenos">1380</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-1381"><a href="#L-1381"><span class="linenos">1381</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-1382"><a href="#L-1382"><span class="linenos">1382</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1383"><a href="#L-1383"><span class="linenos">1383</span></a> <span class="p">)</span>
+</span><span id="L-1384"><a href="#L-1384"><span class="linenos">1384</span></a>
+</span><span id="L-1385"><a href="#L-1385"><span class="linenos">1385</span></a> <span class="k">def</span> <span class="nf">returning</span><span class="p">(</span>
+</span><span id="L-1386"><a href="#L-1386"><span class="linenos">1386</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1387"><a href="#L-1387"><span class="linenos">1387</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-1388"><a href="#L-1388"><span class="linenos">1388</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1389"><a href="#L-1389"><span class="linenos">1389</span></a> <span class="n">copy</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-1390"><a href="#L-1390"><span class="linenos">1390</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1391"><a href="#L-1391"><span class="linenos">1391</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="L-1392"><a href="#L-1392"><span class="linenos">1392</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-1393"><a href="#L-1393"><span class="linenos">1393</span></a><span class="sd"> Set the RETURNING expression. Not supported by all dialects.</span>
+</span><span id="L-1394"><a href="#L-1394"><span class="linenos">1394</span></a>
+</span><span id="L-1395"><a href="#L-1395"><span class="linenos">1395</span></a><span class="sd"> Example:</span>
+</span><span id="L-1396"><a href="#L-1396"><span class="linenos">1396</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).returning(&quot;*&quot;, dialect=&quot;postgres&quot;).sql()</span>
+</span><span id="L-1397"><a href="#L-1397"><span class="linenos">1397</span></a><span class="sd"> &#39;DELETE FROM tbl RETURNING *&#39;</span>
</span><span id="L-1398"><a href="#L-1398"><span class="linenos">1398</span></a>
-</span><span id="L-1399"><a href="#L-1399"><span class="linenos">1399</span></a><span class="sd"> Returns:</span>
-</span><span id="L-1400"><a href="#L-1400"><span class="linenos">1400</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="L-1401"><a href="#L-1401"><span class="linenos">1401</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-1402"><a href="#L-1402"><span class="linenos">1402</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="L-1403"><a href="#L-1403"><span class="linenos">1403</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="L-1404"><a href="#L-1404"><span class="linenos">1404</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1405"><a href="#L-1405"><span class="linenos">1405</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;returning&quot;</span><span class="p">,</span>
-</span><span id="L-1406"><a href="#L-1406"><span class="linenos">1406</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;RETURNING&quot;</span><span class="p">,</span>
-</span><span id="L-1407"><a href="#L-1407"><span class="linenos">1407</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-1408"><a href="#L-1408"><span class="linenos">1408</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-1409"><a href="#L-1409"><span class="linenos">1409</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Returning</span><span class="p">,</span>
-</span><span id="L-1410"><a href="#L-1410"><span class="linenos">1410</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1411"><a href="#L-1411"><span class="linenos">1411</span></a> <span class="p">)</span>
-</span><span id="L-1412"><a href="#L-1412"><span class="linenos">1412</span></a>
-</span><span id="L-1413"><a href="#L-1413"><span class="linenos">1413</span></a>
-</span><span id="L-1414"><a href="#L-1414"><span class="linenos">1414</span></a><span class="k">class</span> <span class="nc">Drop</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1415"><a href="#L-1415"><span class="linenos">1415</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1416"><a href="#L-1416"><span class="linenos">1416</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1417"><a href="#L-1417"><span class="linenos">1417</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1418"><a href="#L-1418"><span class="linenos">1418</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1419"><a href="#L-1419"><span class="linenos">1419</span></a> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1420"><a href="#L-1420"><span class="linenos">1420</span></a> <span class="s2">&quot;materialized&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1421"><a href="#L-1421"><span class="linenos">1421</span></a> <span class="s2">&quot;cascade&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1422"><a href="#L-1422"><span class="linenos">1422</span></a> <span class="s2">&quot;constraints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1423"><a href="#L-1423"><span class="linenos">1423</span></a> <span class="s2">&quot;purge&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1424"><a href="#L-1424"><span class="linenos">1424</span></a> <span class="p">}</span>
-</span><span id="L-1425"><a href="#L-1425"><span class="linenos">1425</span></a>
-</span><span id="L-1426"><a href="#L-1426"><span class="linenos">1426</span></a>
-</span><span id="L-1427"><a href="#L-1427"><span class="linenos">1427</span></a><span class="k">class</span> <span class="nc">Filter</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1428"><a href="#L-1428"><span class="linenos">1428</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1429"><a href="#L-1429"><span class="linenos">1429</span></a>
-</span><span id="L-1430"><a href="#L-1430"><span class="linenos">1430</span></a>
-</span><span id="L-1431"><a href="#L-1431"><span class="linenos">1431</span></a><span class="k">class</span> <span class="nc">Check</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1432"><a href="#L-1432"><span class="linenos">1432</span></a> <span class="k">pass</span>
+</span><span id="L-1399"><a href="#L-1399"><span class="linenos">1399</span></a><span class="sd"> Args:</span>
+</span><span id="L-1400"><a href="#L-1400"><span class="linenos">1400</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="L-1401"><a href="#L-1401"><span class="linenos">1401</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-1402"><a href="#L-1402"><span class="linenos">1402</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-1403"><a href="#L-1403"><span class="linenos">1403</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-1404"><a href="#L-1404"><span class="linenos">1404</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-1405"><a href="#L-1405"><span class="linenos">1405</span></a>
+</span><span id="L-1406"><a href="#L-1406"><span class="linenos">1406</span></a><span class="sd"> Returns:</span>
+</span><span id="L-1407"><a href="#L-1407"><span class="linenos">1407</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="L-1408"><a href="#L-1408"><span class="linenos">1408</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-1409"><a href="#L-1409"><span class="linenos">1409</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="L-1410"><a href="#L-1410"><span class="linenos">1410</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="L-1411"><a href="#L-1411"><span class="linenos">1411</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1412"><a href="#L-1412"><span class="linenos">1412</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;returning&quot;</span><span class="p">,</span>
+</span><span id="L-1413"><a href="#L-1413"><span class="linenos">1413</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;RETURNING&quot;</span><span class="p">,</span>
+</span><span id="L-1414"><a href="#L-1414"><span class="linenos">1414</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-1415"><a href="#L-1415"><span class="linenos">1415</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-1416"><a href="#L-1416"><span class="linenos">1416</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Returning</span><span class="p">,</span>
+</span><span id="L-1417"><a href="#L-1417"><span class="linenos">1417</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1418"><a href="#L-1418"><span class="linenos">1418</span></a> <span class="p">)</span>
+</span><span id="L-1419"><a href="#L-1419"><span class="linenos">1419</span></a>
+</span><span id="L-1420"><a href="#L-1420"><span class="linenos">1420</span></a>
+</span><span id="L-1421"><a href="#L-1421"><span class="linenos">1421</span></a><span class="k">class</span> <span class="nc">Drop</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1422"><a href="#L-1422"><span class="linenos">1422</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1423"><a href="#L-1423"><span class="linenos">1423</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1424"><a href="#L-1424"><span class="linenos">1424</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1425"><a href="#L-1425"><span class="linenos">1425</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1426"><a href="#L-1426"><span class="linenos">1426</span></a> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1427"><a href="#L-1427"><span class="linenos">1427</span></a> <span class="s2">&quot;materialized&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1428"><a href="#L-1428"><span class="linenos">1428</span></a> <span class="s2">&quot;cascade&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1429"><a href="#L-1429"><span class="linenos">1429</span></a> <span class="s2">&quot;constraints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1430"><a href="#L-1430"><span class="linenos">1430</span></a> <span class="s2">&quot;purge&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1431"><a href="#L-1431"><span class="linenos">1431</span></a> <span class="p">}</span>
+</span><span id="L-1432"><a href="#L-1432"><span class="linenos">1432</span></a>
</span><span id="L-1433"><a href="#L-1433"><span class="linenos">1433</span></a>
-</span><span id="L-1434"><a href="#L-1434"><span class="linenos">1434</span></a>
-</span><span id="L-1435"><a href="#L-1435"><span class="linenos">1435</span></a><span class="k">class</span> <span class="nc">Directory</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1436"><a href="#L-1436"><span class="linenos">1436</span></a> <span class="c1"># https://spark.apache.org/docs/3.0.0-preview/sql-ref-syntax-dml-insert-overwrite-directory-hive.html</span>
-</span><span id="L-1437"><a href="#L-1437"><span class="linenos">1437</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;row_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-1438"><a href="#L-1438"><span class="linenos">1438</span></a>
-</span><span id="L-1439"><a href="#L-1439"><span class="linenos">1439</span></a>
-</span><span id="L-1440"><a href="#L-1440"><span class="linenos">1440</span></a><span class="k">class</span> <span class="nc">ForeignKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1441"><a href="#L-1441"><span class="linenos">1441</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1442"><a href="#L-1442"><span class="linenos">1442</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1443"><a href="#L-1443"><span class="linenos">1443</span></a> <span class="s2">&quot;reference&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1444"><a href="#L-1444"><span class="linenos">1444</span></a> <span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1445"><a href="#L-1445"><span class="linenos">1445</span></a> <span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1446"><a href="#L-1446"><span class="linenos">1446</span></a> <span class="p">}</span>
-</span><span id="L-1447"><a href="#L-1447"><span class="linenos">1447</span></a>
-</span><span id="L-1448"><a href="#L-1448"><span class="linenos">1448</span></a>
-</span><span id="L-1449"><a href="#L-1449"><span class="linenos">1449</span></a><span class="k">class</span> <span class="nc">PrimaryKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1450"><a href="#L-1450"><span class="linenos">1450</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-1451"><a href="#L-1451"><span class="linenos">1451</span></a>
-</span><span id="L-1452"><a href="#L-1452"><span class="linenos">1452</span></a>
-</span><span id="L-1453"><a href="#L-1453"><span class="linenos">1453</span></a><span class="c1"># https://www.postgresql.org/docs/9.1/sql-selectinto.html</span>
-</span><span id="L-1454"><a href="#L-1454"><span class="linenos">1454</span></a><span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_SELECT_INTO.html#r_SELECT_INTO-examples</span>
-</span><span id="L-1455"><a href="#L-1455"><span class="linenos">1455</span></a><span class="k">class</span> <span class="nc">Into</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1456"><a href="#L-1456"><span class="linenos">1456</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unlogged&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-1457"><a href="#L-1457"><span class="linenos">1457</span></a>
+</span><span id="L-1434"><a href="#L-1434"><span class="linenos">1434</span></a><span class="k">class</span> <span class="nc">Filter</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1435"><a href="#L-1435"><span class="linenos">1435</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1436"><a href="#L-1436"><span class="linenos">1436</span></a>
+</span><span id="L-1437"><a href="#L-1437"><span class="linenos">1437</span></a>
+</span><span id="L-1438"><a href="#L-1438"><span class="linenos">1438</span></a><span class="k">class</span> <span class="nc">Check</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1439"><a href="#L-1439"><span class="linenos">1439</span></a> <span class="k">pass</span>
+</span><span id="L-1440"><a href="#L-1440"><span class="linenos">1440</span></a>
+</span><span id="L-1441"><a href="#L-1441"><span class="linenos">1441</span></a>
+</span><span id="L-1442"><a href="#L-1442"><span class="linenos">1442</span></a><span class="k">class</span> <span class="nc">Directory</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1443"><a href="#L-1443"><span class="linenos">1443</span></a> <span class="c1"># https://spark.apache.org/docs/3.0.0-preview/sql-ref-syntax-dml-insert-overwrite-directory-hive.html</span>
+</span><span id="L-1444"><a href="#L-1444"><span class="linenos">1444</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;row_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1445"><a href="#L-1445"><span class="linenos">1445</span></a>
+</span><span id="L-1446"><a href="#L-1446"><span class="linenos">1446</span></a>
+</span><span id="L-1447"><a href="#L-1447"><span class="linenos">1447</span></a><span class="k">class</span> <span class="nc">ForeignKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1448"><a href="#L-1448"><span class="linenos">1448</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1449"><a href="#L-1449"><span class="linenos">1449</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1450"><a href="#L-1450"><span class="linenos">1450</span></a> <span class="s2">&quot;reference&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1451"><a href="#L-1451"><span class="linenos">1451</span></a> <span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1452"><a href="#L-1452"><span class="linenos">1452</span></a> <span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1453"><a href="#L-1453"><span class="linenos">1453</span></a> <span class="p">}</span>
+</span><span id="L-1454"><a href="#L-1454"><span class="linenos">1454</span></a>
+</span><span id="L-1455"><a href="#L-1455"><span class="linenos">1455</span></a>
+</span><span id="L-1456"><a href="#L-1456"><span class="linenos">1456</span></a><span class="k">class</span> <span class="nc">PrimaryKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1457"><a href="#L-1457"><span class="linenos">1457</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1458"><a href="#L-1458"><span class="linenos">1458</span></a>
-</span><span id="L-1459"><a href="#L-1459"><span class="linenos">1459</span></a><span class="k">class</span> <span class="nc">From</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1460"><a href="#L-1460"><span class="linenos">1460</span></a> <span class="nd">@property</span>
-</span><span id="L-1461"><a href="#L-1461"><span class="linenos">1461</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1462"><a href="#L-1462"><span class="linenos">1462</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-1463"><a href="#L-1463"><span class="linenos">1463</span></a>
-</span><span id="L-1464"><a href="#L-1464"><span class="linenos">1464</span></a> <span class="nd">@property</span>
-</span><span id="L-1465"><a href="#L-1465"><span class="linenos">1465</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1466"><a href="#L-1466"><span class="linenos">1466</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
-</span><span id="L-1467"><a href="#L-1467"><span class="linenos">1467</span></a>
-</span><span id="L-1468"><a href="#L-1468"><span class="linenos">1468</span></a>
-</span><span id="L-1469"><a href="#L-1469"><span class="linenos">1469</span></a><span class="k">class</span> <span class="nc">Having</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1470"><a href="#L-1470"><span class="linenos">1470</span></a> <span class="k">pass</span>
-</span><span id="L-1471"><a href="#L-1471"><span class="linenos">1471</span></a>
-</span><span id="L-1472"><a href="#L-1472"><span class="linenos">1472</span></a>
-</span><span id="L-1473"><a href="#L-1473"><span class="linenos">1473</span></a><span class="k">class</span> <span class="nc">Hint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1474"><a href="#L-1474"><span class="linenos">1474</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1459"><a href="#L-1459"><span class="linenos">1459</span></a>
+</span><span id="L-1460"><a href="#L-1460"><span class="linenos">1460</span></a><span class="c1"># https://www.postgresql.org/docs/9.1/sql-selectinto.html</span>
+</span><span id="L-1461"><a href="#L-1461"><span class="linenos">1461</span></a><span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_SELECT_INTO.html#r_SELECT_INTO-examples</span>
+</span><span id="L-1462"><a href="#L-1462"><span class="linenos">1462</span></a><span class="k">class</span> <span class="nc">Into</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1463"><a href="#L-1463"><span class="linenos">1463</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unlogged&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1464"><a href="#L-1464"><span class="linenos">1464</span></a>
+</span><span id="L-1465"><a href="#L-1465"><span class="linenos">1465</span></a>
+</span><span id="L-1466"><a href="#L-1466"><span class="linenos">1466</span></a><span class="k">class</span> <span class="nc">From</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1467"><a href="#L-1467"><span class="linenos">1467</span></a> <span class="nd">@property</span>
+</span><span id="L-1468"><a href="#L-1468"><span class="linenos">1468</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1469"><a href="#L-1469"><span class="linenos">1469</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-1470"><a href="#L-1470"><span class="linenos">1470</span></a>
+</span><span id="L-1471"><a href="#L-1471"><span class="linenos">1471</span></a> <span class="nd">@property</span>
+</span><span id="L-1472"><a href="#L-1472"><span class="linenos">1472</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1473"><a href="#L-1473"><span class="linenos">1473</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
+</span><span id="L-1474"><a href="#L-1474"><span class="linenos">1474</span></a>
</span><span id="L-1475"><a href="#L-1475"><span class="linenos">1475</span></a>
-</span><span id="L-1476"><a href="#L-1476"><span class="linenos">1476</span></a>
-</span><span id="L-1477"><a href="#L-1477"><span class="linenos">1477</span></a><span class="k">class</span> <span class="nc">JoinHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1478"><a href="#L-1478"><span class="linenos">1478</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1476"><a href="#L-1476"><span class="linenos">1476</span></a><span class="k">class</span> <span class="nc">Having</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1477"><a href="#L-1477"><span class="linenos">1477</span></a> <span class="k">pass</span>
+</span><span id="L-1478"><a href="#L-1478"><span class="linenos">1478</span></a>
</span><span id="L-1479"><a href="#L-1479"><span class="linenos">1479</span></a>
-</span><span id="L-1480"><a href="#L-1480"><span class="linenos">1480</span></a>
-</span><span id="L-1481"><a href="#L-1481"><span class="linenos">1481</span></a><span class="k">class</span> <span class="nc">Identifier</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1482"><a href="#L-1482"><span class="linenos">1482</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quoted&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1480"><a href="#L-1480"><span class="linenos">1480</span></a><span class="k">class</span> <span class="nc">Hint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1481"><a href="#L-1481"><span class="linenos">1481</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1482"><a href="#L-1482"><span class="linenos">1482</span></a>
</span><span id="L-1483"><a href="#L-1483"><span class="linenos">1483</span></a>
-</span><span id="L-1484"><a href="#L-1484"><span class="linenos">1484</span></a> <span class="nd">@property</span>
-</span><span id="L-1485"><a href="#L-1485"><span class="linenos">1485</span></a> <span class="k">def</span> <span class="nf">quoted</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-1486"><a href="#L-1486"><span class="linenos">1486</span></a> <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</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">&quot;quoted&quot;</span><span class="p">))</span>
+</span><span id="L-1484"><a href="#L-1484"><span class="linenos">1484</span></a><span class="k">class</span> <span class="nc">JoinHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1485"><a href="#L-1485"><span class="linenos">1485</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1486"><a href="#L-1486"><span class="linenos">1486</span></a>
</span><span id="L-1487"><a href="#L-1487"><span class="linenos">1487</span></a>
-</span><span id="L-1488"><a href="#L-1488"><span class="linenos">1488</span></a> <span class="nd">@property</span>
-</span><span id="L-1489"><a href="#L-1489"><span class="linenos">1489</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
-</span><span id="L-1490"><a href="#L-1490"><span class="linenos">1490</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">(</span><span class="n">char</span><span class="o">.</span><span class="n">isupper</span><span class="p">()</span> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">):</span>
-</span><span id="L-1491"><a href="#L-1491"><span class="linenos">1491</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span><span class="p">)</span>
-</span><span id="L-1492"><a href="#L-1492"><span class="linenos">1492</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
-</span><span id="L-1493"><a href="#L-1493"><span class="linenos">1493</span></a>
-</span><span id="L-1494"><a href="#L-1494"><span class="linenos">1494</span></a> <span class="nd">@property</span>
-</span><span id="L-1495"><a href="#L-1495"><span class="linenos">1495</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1496"><a href="#L-1496"><span class="linenos">1496</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-1497"><a href="#L-1497"><span class="linenos">1497</span></a>
-</span><span id="L-1498"><a href="#L-1498"><span class="linenos">1498</span></a>
-</span><span id="L-1499"><a href="#L-1499"><span class="linenos">1499</span></a><span class="k">class</span> <span class="nc">Index</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1500"><a href="#L-1500"><span class="linenos">1500</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1501"><a href="#L-1501"><span class="linenos">1501</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1502"><a href="#L-1502"><span class="linenos">1502</span></a> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1503"><a href="#L-1503"><span class="linenos">1503</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1504"><a href="#L-1504"><span class="linenos">1504</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1505"><a href="#L-1505"><span class="linenos">1505</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1506"><a href="#L-1506"><span class="linenos">1506</span></a> <span class="s2">&quot;unique&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1507"><a href="#L-1507"><span class="linenos">1507</span></a> <span class="s2">&quot;primary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1508"><a href="#L-1508"><span class="linenos">1508</span></a> <span class="s2">&quot;amp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
-</span><span id="L-1509"><a href="#L-1509"><span class="linenos">1509</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
-</span><span id="L-1510"><a href="#L-1510"><span class="linenos">1510</span></a> <span class="p">}</span>
-</span><span id="L-1511"><a href="#L-1511"><span class="linenos">1511</span></a>
-</span><span id="L-1512"><a href="#L-1512"><span class="linenos">1512</span></a>
-</span><span id="L-1513"><a href="#L-1513"><span class="linenos">1513</span></a><span class="k">class</span> <span class="nc">Insert</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1514"><a href="#L-1514"><span class="linenos">1514</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1515"><a href="#L-1515"><span class="linenos">1515</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1516"><a href="#L-1516"><span class="linenos">1516</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1517"><a href="#L-1517"><span class="linenos">1517</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1518"><a href="#L-1518"><span class="linenos">1518</span></a> <span class="s2">&quot;conflict&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1519"><a href="#L-1519"><span class="linenos">1519</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1520"><a href="#L-1520"><span class="linenos">1520</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1521"><a href="#L-1521"><span class="linenos">1521</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1522"><a href="#L-1522"><span class="linenos">1522</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1523"><a href="#L-1523"><span class="linenos">1523</span></a> <span class="s2">&quot;alternative&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1524"><a href="#L-1524"><span class="linenos">1524</span></a> <span class="p">}</span>
-</span><span id="L-1525"><a href="#L-1525"><span class="linenos">1525</span></a>
-</span><span id="L-1526"><a href="#L-1526"><span class="linenos">1526</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
-</span><span id="L-1527"><a href="#L-1527"><span class="linenos">1527</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1528"><a href="#L-1528"><span class="linenos">1528</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-1529"><a href="#L-1529"><span class="linenos">1529</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-1530"><a href="#L-1530"><span class="linenos">1530</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1531"><a href="#L-1531"><span class="linenos">1531</span></a> <span class="n">append</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-1532"><a href="#L-1532"><span class="linenos">1532</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1533"><a href="#L-1533"><span class="linenos">1533</span></a> <span class="n">copy</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-1534"><a href="#L-1534"><span class="linenos">1534</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1535"><a href="#L-1535"><span class="linenos">1535</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
-</span><span id="L-1536"><a href="#L-1536"><span class="linenos">1536</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-1537"><a href="#L-1537"><span class="linenos">1537</span></a><span class="sd"> Append to or set the common table expressions.</span>
-</span><span id="L-1538"><a href="#L-1538"><span class="linenos">1538</span></a>
-</span><span id="L-1539"><a href="#L-1539"><span class="linenos">1539</span></a><span class="sd"> Example:</span>
-</span><span id="L-1540"><a href="#L-1540"><span class="linenos">1540</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;SELECT x FROM cte&quot;, &quot;t&quot;).with_(&quot;cte&quot;, as_=&quot;SELECT * FROM tbl&quot;).sql()</span>
-</span><span id="L-1541"><a href="#L-1541"><span class="linenos">1541</span></a><span class="sd"> &#39;WITH cte AS (SELECT * FROM tbl) INSERT INTO t SELECT x FROM cte&#39;</span>
-</span><span id="L-1542"><a href="#L-1542"><span class="linenos">1542</span></a>
-</span><span id="L-1543"><a href="#L-1543"><span class="linenos">1543</span></a><span class="sd"> Args:</span>
-</span><span id="L-1544"><a href="#L-1544"><span class="linenos">1544</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
-</span><span id="L-1545"><a href="#L-1545"><span class="linenos">1545</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
-</span><span id="L-1546"><a href="#L-1546"><span class="linenos">1546</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
-</span><span id="L-1547"><a href="#L-1547"><span class="linenos">1547</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-1548"><a href="#L-1548"><span class="linenos">1548</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
-</span><span id="L-1549"><a href="#L-1549"><span class="linenos">1549</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-1550"><a href="#L-1550"><span class="linenos">1550</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="L-1551"><a href="#L-1551"><span class="linenos">1551</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-1552"><a href="#L-1552"><span class="linenos">1552</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-1553"><a href="#L-1553"><span class="linenos">1553</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-1554"><a href="#L-1554"><span class="linenos">1554</span></a>
-</span><span id="L-1555"><a href="#L-1555"><span class="linenos">1555</span></a><span class="sd"> Returns:</span>
-</span><span id="L-1556"><a href="#L-1556"><span class="linenos">1556</span></a><span class="sd"> The modified expression.</span>
-</span><span id="L-1557"><a href="#L-1557"><span class="linenos">1557</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-1558"><a href="#L-1558"><span class="linenos">1558</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="L-1559"><a href="#L-1559"><span class="linenos">1559</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-1560"><a href="#L-1560"><span class="linenos">1560</span></a> <span class="p">)</span>
-</span><span id="L-1561"><a href="#L-1561"><span class="linenos">1561</span></a>
+</span><span id="L-1488"><a href="#L-1488"><span class="linenos">1488</span></a><span class="k">class</span> <span class="nc">Identifier</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1489"><a href="#L-1489"><span class="linenos">1489</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quoted&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1490"><a href="#L-1490"><span class="linenos">1490</span></a>
+</span><span id="L-1491"><a href="#L-1491"><span class="linenos">1491</span></a> <span class="nd">@property</span>
+</span><span id="L-1492"><a href="#L-1492"><span class="linenos">1492</span></a> <span class="k">def</span> <span class="nf">quoted</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-1493"><a href="#L-1493"><span class="linenos">1493</span></a> <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</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">&quot;quoted&quot;</span><span class="p">))</span>
+</span><span id="L-1494"><a href="#L-1494"><span class="linenos">1494</span></a>
+</span><span id="L-1495"><a href="#L-1495"><span class="linenos">1495</span></a> <span class="nd">@property</span>
+</span><span id="L-1496"><a href="#L-1496"><span class="linenos">1496</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
+</span><span id="L-1497"><a href="#L-1497"><span class="linenos">1497</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">(</span><span class="n">char</span><span class="o">.</span><span class="n">isupper</span><span class="p">()</span> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">):</span>
+</span><span id="L-1498"><a href="#L-1498"><span class="linenos">1498</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span><span class="p">)</span>
+</span><span id="L-1499"><a href="#L-1499"><span class="linenos">1499</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
+</span><span id="L-1500"><a href="#L-1500"><span class="linenos">1500</span></a>
+</span><span id="L-1501"><a href="#L-1501"><span class="linenos">1501</span></a> <span class="nd">@property</span>
+</span><span id="L-1502"><a href="#L-1502"><span class="linenos">1502</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1503"><a href="#L-1503"><span class="linenos">1503</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-1504"><a href="#L-1504"><span class="linenos">1504</span></a>
+</span><span id="L-1505"><a href="#L-1505"><span class="linenos">1505</span></a>
+</span><span id="L-1506"><a href="#L-1506"><span class="linenos">1506</span></a><span class="k">class</span> <span class="nc">Index</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1507"><a href="#L-1507"><span class="linenos">1507</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1508"><a href="#L-1508"><span class="linenos">1508</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1509"><a href="#L-1509"><span class="linenos">1509</span></a> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1510"><a href="#L-1510"><span class="linenos">1510</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1511"><a href="#L-1511"><span class="linenos">1511</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1512"><a href="#L-1512"><span class="linenos">1512</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1513"><a href="#L-1513"><span class="linenos">1513</span></a> <span class="s2">&quot;unique&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1514"><a href="#L-1514"><span class="linenos">1514</span></a> <span class="s2">&quot;primary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1515"><a href="#L-1515"><span class="linenos">1515</span></a> <span class="s2">&quot;amp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
+</span><span id="L-1516"><a href="#L-1516"><span class="linenos">1516</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
+</span><span id="L-1517"><a href="#L-1517"><span class="linenos">1517</span></a> <span class="p">}</span>
+</span><span id="L-1518"><a href="#L-1518"><span class="linenos">1518</span></a>
+</span><span id="L-1519"><a href="#L-1519"><span class="linenos">1519</span></a>
+</span><span id="L-1520"><a href="#L-1520"><span class="linenos">1520</span></a><span class="k">class</span> <span class="nc">Insert</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1521"><a href="#L-1521"><span class="linenos">1521</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1522"><a href="#L-1522"><span class="linenos">1522</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1523"><a href="#L-1523"><span class="linenos">1523</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1524"><a href="#L-1524"><span class="linenos">1524</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1525"><a href="#L-1525"><span class="linenos">1525</span></a> <span class="s2">&quot;conflict&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1526"><a href="#L-1526"><span class="linenos">1526</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1527"><a href="#L-1527"><span class="linenos">1527</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1528"><a href="#L-1528"><span class="linenos">1528</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1529"><a href="#L-1529"><span class="linenos">1529</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1530"><a href="#L-1530"><span class="linenos">1530</span></a> <span class="s2">&quot;alternative&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1531"><a href="#L-1531"><span class="linenos">1531</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1532"><a href="#L-1532"><span class="linenos">1532</span></a> <span class="p">}</span>
+</span><span id="L-1533"><a href="#L-1533"><span class="linenos">1533</span></a>
+</span><span id="L-1534"><a href="#L-1534"><span class="linenos">1534</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
+</span><span id="L-1535"><a href="#L-1535"><span class="linenos">1535</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1536"><a href="#L-1536"><span class="linenos">1536</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-1537"><a href="#L-1537"><span class="linenos">1537</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-1538"><a href="#L-1538"><span class="linenos">1538</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1539"><a href="#L-1539"><span class="linenos">1539</span></a> <span class="n">append</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-1540"><a href="#L-1540"><span class="linenos">1540</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1541"><a href="#L-1541"><span class="linenos">1541</span></a> <span class="n">copy</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-1542"><a href="#L-1542"><span class="linenos">1542</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1543"><a href="#L-1543"><span class="linenos">1543</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
+</span><span id="L-1544"><a href="#L-1544"><span class="linenos">1544</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-1545"><a href="#L-1545"><span class="linenos">1545</span></a><span class="sd"> Append to or set the common table expressions.</span>
+</span><span id="L-1546"><a href="#L-1546"><span class="linenos">1546</span></a>
+</span><span id="L-1547"><a href="#L-1547"><span class="linenos">1547</span></a><span class="sd"> Example:</span>
+</span><span id="L-1548"><a href="#L-1548"><span class="linenos">1548</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;SELECT x FROM cte&quot;, &quot;t&quot;).with_(&quot;cte&quot;, as_=&quot;SELECT * FROM tbl&quot;).sql()</span>
+</span><span id="L-1549"><a href="#L-1549"><span class="linenos">1549</span></a><span class="sd"> &#39;WITH cte AS (SELECT * FROM tbl) INSERT INTO t SELECT x FROM cte&#39;</span>
+</span><span id="L-1550"><a href="#L-1550"><span class="linenos">1550</span></a>
+</span><span id="L-1551"><a href="#L-1551"><span class="linenos">1551</span></a><span class="sd"> Args:</span>
+</span><span id="L-1552"><a href="#L-1552"><span class="linenos">1552</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
+</span><span id="L-1553"><a href="#L-1553"><span class="linenos">1553</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
+</span><span id="L-1554"><a href="#L-1554"><span class="linenos">1554</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
+</span><span id="L-1555"><a href="#L-1555"><span class="linenos">1555</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-1556"><a href="#L-1556"><span class="linenos">1556</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
+</span><span id="L-1557"><a href="#L-1557"><span class="linenos">1557</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-1558"><a href="#L-1558"><span class="linenos">1558</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="L-1559"><a href="#L-1559"><span class="linenos">1559</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-1560"><a href="#L-1560"><span class="linenos">1560</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-1561"><a href="#L-1561"><span class="linenos">1561</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
</span><span id="L-1562"><a href="#L-1562"><span class="linenos">1562</span></a>
-</span><span id="L-1563"><a href="#L-1563"><span class="linenos">1563</span></a><span class="k">class</span> <span class="nc">OnConflict</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1564"><a href="#L-1564"><span class="linenos">1564</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1565"><a href="#L-1565"><span class="linenos">1565</span></a> <span class="s2">&quot;duplicate&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1566"><a href="#L-1566"><span class="linenos">1566</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1567"><a href="#L-1567"><span class="linenos">1567</span></a> <span class="s2">&quot;nothing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1568"><a href="#L-1568"><span class="linenos">1568</span></a> <span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1569"><a href="#L-1569"><span class="linenos">1569</span></a> <span class="s2">&quot;constraint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1570"><a href="#L-1570"><span class="linenos">1570</span></a> <span class="p">}</span>
-</span><span id="L-1571"><a href="#L-1571"><span class="linenos">1571</span></a>
-</span><span id="L-1572"><a href="#L-1572"><span class="linenos">1572</span></a>
-</span><span id="L-1573"><a href="#L-1573"><span class="linenos">1573</span></a><span class="k">class</span> <span class="nc">Returning</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1574"><a href="#L-1574"><span class="linenos">1574</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1575"><a href="#L-1575"><span class="linenos">1575</span></a>
-</span><span id="L-1576"><a href="#L-1576"><span class="linenos">1576</span></a>
-</span><span id="L-1577"><a href="#L-1577"><span class="linenos">1577</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/charset-introducer.html</span>
-</span><span id="L-1578"><a href="#L-1578"><span class="linenos">1578</span></a><span class="k">class</span> <span class="nc">Introducer</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1579"><a href="#L-1579"><span class="linenos">1579</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1563"><a href="#L-1563"><span class="linenos">1563</span></a><span class="sd"> Returns:</span>
+</span><span id="L-1564"><a href="#L-1564"><span class="linenos">1564</span></a><span class="sd"> The modified expression.</span>
+</span><span id="L-1565"><a href="#L-1565"><span class="linenos">1565</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-1566"><a href="#L-1566"><span class="linenos">1566</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="L-1567"><a href="#L-1567"><span class="linenos">1567</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-1568"><a href="#L-1568"><span class="linenos">1568</span></a> <span class="p">)</span>
+</span><span id="L-1569"><a href="#L-1569"><span class="linenos">1569</span></a>
+</span><span id="L-1570"><a href="#L-1570"><span class="linenos">1570</span></a>
+</span><span id="L-1571"><a href="#L-1571"><span class="linenos">1571</span></a><span class="k">class</span> <span class="nc">OnConflict</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1572"><a href="#L-1572"><span class="linenos">1572</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1573"><a href="#L-1573"><span class="linenos">1573</span></a> <span class="s2">&quot;duplicate&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1574"><a href="#L-1574"><span class="linenos">1574</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1575"><a href="#L-1575"><span class="linenos">1575</span></a> <span class="s2">&quot;nothing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1576"><a href="#L-1576"><span class="linenos">1576</span></a> <span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1577"><a href="#L-1577"><span class="linenos">1577</span></a> <span class="s2">&quot;constraint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1578"><a href="#L-1578"><span class="linenos">1578</span></a> <span class="p">}</span>
+</span><span id="L-1579"><a href="#L-1579"><span class="linenos">1579</span></a>
</span><span id="L-1580"><a href="#L-1580"><span class="linenos">1580</span></a>
-</span><span id="L-1581"><a href="#L-1581"><span class="linenos">1581</span></a>
-</span><span id="L-1582"><a href="#L-1582"><span class="linenos">1582</span></a><span class="c1"># national char, like n&#39;utf8&#39;</span>
-</span><span id="L-1583"><a href="#L-1583"><span class="linenos">1583</span></a><span class="k">class</span> <span class="nc">National</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1584"><a href="#L-1584"><span class="linenos">1584</span></a> <span class="k">pass</span>
-</span><span id="L-1585"><a href="#L-1585"><span class="linenos">1585</span></a>
-</span><span id="L-1586"><a href="#L-1586"><span class="linenos">1586</span></a>
-</span><span id="L-1587"><a href="#L-1587"><span class="linenos">1587</span></a><span class="k">class</span> <span class="nc">LoadData</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1588"><a href="#L-1588"><span class="linenos">1588</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1589"><a href="#L-1589"><span class="linenos">1589</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1590"><a href="#L-1590"><span class="linenos">1590</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1591"><a href="#L-1591"><span class="linenos">1591</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1592"><a href="#L-1592"><span class="linenos">1592</span></a> <span class="s2">&quot;inpath&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1593"><a href="#L-1593"><span class="linenos">1593</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1594"><a href="#L-1594"><span class="linenos">1594</span></a> <span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1595"><a href="#L-1595"><span class="linenos">1595</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1596"><a href="#L-1596"><span class="linenos">1596</span></a> <span class="p">}</span>
-</span><span id="L-1597"><a href="#L-1597"><span class="linenos">1597</span></a>
-</span><span id="L-1598"><a href="#L-1598"><span class="linenos">1598</span></a>
-</span><span id="L-1599"><a href="#L-1599"><span class="linenos">1599</span></a><span class="k">class</span> <span class="nc">Partition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1600"><a href="#L-1600"><span class="linenos">1600</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1601"><a href="#L-1601"><span class="linenos">1601</span></a>
-</span><span id="L-1602"><a href="#L-1602"><span class="linenos">1602</span></a>
-</span><span id="L-1603"><a href="#L-1603"><span class="linenos">1603</span></a><span class="k">class</span> <span class="nc">Fetch</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1604"><a href="#L-1604"><span class="linenos">1604</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1605"><a href="#L-1605"><span class="linenos">1605</span></a> <span class="s2">&quot;direction&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1606"><a href="#L-1606"><span class="linenos">1606</span></a> <span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1607"><a href="#L-1607"><span class="linenos">1607</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1608"><a href="#L-1608"><span class="linenos">1608</span></a> <span class="s2">&quot;with_ties&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1609"><a href="#L-1609"><span class="linenos">1609</span></a> <span class="p">}</span>
+</span><span id="L-1581"><a href="#L-1581"><span class="linenos">1581</span></a><span class="k">class</span> <span class="nc">Returning</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1582"><a href="#L-1582"><span class="linenos">1582</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1583"><a href="#L-1583"><span class="linenos">1583</span></a>
+</span><span id="L-1584"><a href="#L-1584"><span class="linenos">1584</span></a>
+</span><span id="L-1585"><a href="#L-1585"><span class="linenos">1585</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/charset-introducer.html</span>
+</span><span id="L-1586"><a href="#L-1586"><span class="linenos">1586</span></a><span class="k">class</span> <span class="nc">Introducer</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1587"><a href="#L-1587"><span class="linenos">1587</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1588"><a href="#L-1588"><span class="linenos">1588</span></a>
+</span><span id="L-1589"><a href="#L-1589"><span class="linenos">1589</span></a>
+</span><span id="L-1590"><a href="#L-1590"><span class="linenos">1590</span></a><span class="c1"># national char, like n&#39;utf8&#39;</span>
+</span><span id="L-1591"><a href="#L-1591"><span class="linenos">1591</span></a><span class="k">class</span> <span class="nc">National</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1592"><a href="#L-1592"><span class="linenos">1592</span></a> <span class="k">pass</span>
+</span><span id="L-1593"><a href="#L-1593"><span class="linenos">1593</span></a>
+</span><span id="L-1594"><a href="#L-1594"><span class="linenos">1594</span></a>
+</span><span id="L-1595"><a href="#L-1595"><span class="linenos">1595</span></a><span class="k">class</span> <span class="nc">LoadData</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1596"><a href="#L-1596"><span class="linenos">1596</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1597"><a href="#L-1597"><span class="linenos">1597</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1598"><a href="#L-1598"><span class="linenos">1598</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1599"><a href="#L-1599"><span class="linenos">1599</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1600"><a href="#L-1600"><span class="linenos">1600</span></a> <span class="s2">&quot;inpath&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1601"><a href="#L-1601"><span class="linenos">1601</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1602"><a href="#L-1602"><span class="linenos">1602</span></a> <span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1603"><a href="#L-1603"><span class="linenos">1603</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1604"><a href="#L-1604"><span class="linenos">1604</span></a> <span class="p">}</span>
+</span><span id="L-1605"><a href="#L-1605"><span class="linenos">1605</span></a>
+</span><span id="L-1606"><a href="#L-1606"><span class="linenos">1606</span></a>
+</span><span id="L-1607"><a href="#L-1607"><span class="linenos">1607</span></a><span class="k">class</span> <span class="nc">Partition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1608"><a href="#L-1608"><span class="linenos">1608</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1609"><a href="#L-1609"><span class="linenos">1609</span></a>
</span><span id="L-1610"><a href="#L-1610"><span class="linenos">1610</span></a>
-</span><span id="L-1611"><a href="#L-1611"><span class="linenos">1611</span></a>
-</span><span id="L-1612"><a href="#L-1612"><span class="linenos">1612</span></a><span class="k">class</span> <span class="nc">Group</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1613"><a href="#L-1613"><span class="linenos">1613</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1614"><a href="#L-1614"><span class="linenos">1614</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1615"><a href="#L-1615"><span class="linenos">1615</span></a> <span class="s2">&quot;grouping_sets&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1616"><a href="#L-1616"><span class="linenos">1616</span></a> <span class="s2">&quot;cube&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1617"><a href="#L-1617"><span class="linenos">1617</span></a> <span class="s2">&quot;rollup&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1618"><a href="#L-1618"><span class="linenos">1618</span></a> <span class="s2">&quot;totals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1619"><a href="#L-1619"><span class="linenos">1619</span></a> <span class="p">}</span>
-</span><span id="L-1620"><a href="#L-1620"><span class="linenos">1620</span></a>
-</span><span id="L-1621"><a href="#L-1621"><span class="linenos">1621</span></a>
-</span><span id="L-1622"><a href="#L-1622"><span class="linenos">1622</span></a><span class="k">class</span> <span class="nc">Lambda</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1623"><a href="#L-1623"><span class="linenos">1623</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1624"><a href="#L-1624"><span class="linenos">1624</span></a>
-</span><span id="L-1625"><a href="#L-1625"><span class="linenos">1625</span></a>
-</span><span id="L-1626"><a href="#L-1626"><span class="linenos">1626</span></a><span class="k">class</span> <span class="nc">Limit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1627"><a href="#L-1627"><span class="linenos">1627</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1611"><a href="#L-1611"><span class="linenos">1611</span></a><span class="k">class</span> <span class="nc">Fetch</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1612"><a href="#L-1612"><span class="linenos">1612</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1613"><a href="#L-1613"><span class="linenos">1613</span></a> <span class="s2">&quot;direction&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1614"><a href="#L-1614"><span class="linenos">1614</span></a> <span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1615"><a href="#L-1615"><span class="linenos">1615</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1616"><a href="#L-1616"><span class="linenos">1616</span></a> <span class="s2">&quot;with_ties&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1617"><a href="#L-1617"><span class="linenos">1617</span></a> <span class="p">}</span>
+</span><span id="L-1618"><a href="#L-1618"><span class="linenos">1618</span></a>
+</span><span id="L-1619"><a href="#L-1619"><span class="linenos">1619</span></a>
+</span><span id="L-1620"><a href="#L-1620"><span class="linenos">1620</span></a><span class="k">class</span> <span class="nc">Group</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1621"><a href="#L-1621"><span class="linenos">1621</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1622"><a href="#L-1622"><span class="linenos">1622</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1623"><a href="#L-1623"><span class="linenos">1623</span></a> <span class="s2">&quot;grouping_sets&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1624"><a href="#L-1624"><span class="linenos">1624</span></a> <span class="s2">&quot;cube&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1625"><a href="#L-1625"><span class="linenos">1625</span></a> <span class="s2">&quot;rollup&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1626"><a href="#L-1626"><span class="linenos">1626</span></a> <span class="s2">&quot;totals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1627"><a href="#L-1627"><span class="linenos">1627</span></a> <span class="p">}</span>
</span><span id="L-1628"><a href="#L-1628"><span class="linenos">1628</span></a>
</span><span id="L-1629"><a href="#L-1629"><span class="linenos">1629</span></a>
-</span><span id="L-1630"><a href="#L-1630"><span class="linenos">1630</span></a><span class="k">class</span> <span class="nc">Literal</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-1631"><a href="#L-1631"><span class="linenos">1631</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_string&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1630"><a href="#L-1630"><span class="linenos">1630</span></a><span class="k">class</span> <span class="nc">Lambda</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1631"><a href="#L-1631"><span class="linenos">1631</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1632"><a href="#L-1632"><span class="linenos">1632</span></a>
-</span><span id="L-1633"><a href="#L-1633"><span class="linenos">1633</span></a> <span class="nd">@property</span>
-</span><span id="L-1634"><a href="#L-1634"><span class="linenos">1634</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
-</span><span id="L-1635"><a href="#L-1635"><span class="linenos">1635</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</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">&quot;is_string&quot;</span><span class="p">))</span>
+</span><span id="L-1633"><a href="#L-1633"><span class="linenos">1633</span></a>
+</span><span id="L-1634"><a href="#L-1634"><span class="linenos">1634</span></a><span class="k">class</span> <span class="nc">Limit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1635"><a href="#L-1635"><span class="linenos">1635</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1636"><a href="#L-1636"><span class="linenos">1636</span></a>
-</span><span id="L-1637"><a href="#L-1637"><span class="linenos">1637</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-1638"><a href="#L-1638"><span class="linenos">1638</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
-</span><span id="L-1639"><a href="#L-1639"><span class="linenos">1639</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</span><span id="L-1637"><a href="#L-1637"><span class="linenos">1637</span></a>
+</span><span id="L-1638"><a href="#L-1638"><span class="linenos">1638</span></a><span class="k">class</span> <span class="nc">Literal</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-1639"><a href="#L-1639"><span class="linenos">1639</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_string&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1640"><a href="#L-1640"><span class="linenos">1640</span></a>
-</span><span id="L-1641"><a href="#L-1641"><span class="linenos">1641</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-1642"><a href="#L-1642"><span class="linenos">1642</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
-</span><span id="L-1643"><a href="#L-1643"><span class="linenos">1643</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-1641"><a href="#L-1641"><span class="linenos">1641</span></a> <span class="nd">@property</span>
+</span><span id="L-1642"><a href="#L-1642"><span class="linenos">1642</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
+</span><span id="L-1643"><a href="#L-1643"><span class="linenos">1643</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</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">&quot;is_string&quot;</span><span class="p">))</span>
</span><span id="L-1644"><a href="#L-1644"><span class="linenos">1644</span></a>
-</span><span id="L-1645"><a href="#L-1645"><span class="linenos">1645</span></a> <span class="nd">@property</span>
-</span><span id="L-1646"><a href="#L-1646"><span class="linenos">1646</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1647"><a href="#L-1647"><span class="linenos">1647</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-1645"><a href="#L-1645"><span class="linenos">1645</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-1646"><a href="#L-1646"><span class="linenos">1646</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
+</span><span id="L-1647"><a href="#L-1647"><span class="linenos">1647</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
</span><span id="L-1648"><a href="#L-1648"><span class="linenos">1648</span></a>
-</span><span id="L-1649"><a href="#L-1649"><span class="linenos">1649</span></a>
-</span><span id="L-1650"><a href="#L-1650"><span class="linenos">1650</span></a><span class="k">class</span> <span class="nc">Join</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1651"><a href="#L-1651"><span class="linenos">1651</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1652"><a href="#L-1652"><span class="linenos">1652</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1653"><a href="#L-1653"><span class="linenos">1653</span></a> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1654"><a href="#L-1654"><span class="linenos">1654</span></a> <span class="s2">&quot;side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1655"><a href="#L-1655"><span class="linenos">1655</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1656"><a href="#L-1656"><span class="linenos">1656</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1657"><a href="#L-1657"><span class="linenos">1657</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1658"><a href="#L-1658"><span class="linenos">1658</span></a> <span class="s2">&quot;global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1659"><a href="#L-1659"><span class="linenos">1659</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1660"><a href="#L-1660"><span class="linenos">1660</span></a> <span class="p">}</span>
-</span><span id="L-1661"><a href="#L-1661"><span class="linenos">1661</span></a>
-</span><span id="L-1662"><a href="#L-1662"><span class="linenos">1662</span></a> <span class="nd">@property</span>
-</span><span id="L-1663"><a href="#L-1663"><span class="linenos">1663</span></a> <span class="k">def</span> <span class="nf">method</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1664"><a href="#L-1664"><span class="linenos">1664</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="L-1665"><a href="#L-1665"><span class="linenos">1665</span></a>
-</span><span id="L-1666"><a href="#L-1666"><span class="linenos">1666</span></a> <span class="nd">@property</span>
-</span><span id="L-1667"><a href="#L-1667"><span class="linenos">1667</span></a> <span class="k">def</span> <span class="nf">kind</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1668"><a href="#L-1668"><span class="linenos">1668</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-1649"><a href="#L-1649"><span class="linenos">1649</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-1650"><a href="#L-1650"><span class="linenos">1650</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
+</span><span id="L-1651"><a href="#L-1651"><span class="linenos">1651</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-1652"><a href="#L-1652"><span class="linenos">1652</span></a>
+</span><span id="L-1653"><a href="#L-1653"><span class="linenos">1653</span></a> <span class="nd">@property</span>
+</span><span id="L-1654"><a href="#L-1654"><span class="linenos">1654</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1655"><a href="#L-1655"><span class="linenos">1655</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-1656"><a href="#L-1656"><span class="linenos">1656</span></a>
+</span><span id="L-1657"><a href="#L-1657"><span class="linenos">1657</span></a>
+</span><span id="L-1658"><a href="#L-1658"><span class="linenos">1658</span></a><span class="k">class</span> <span class="nc">Join</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1659"><a href="#L-1659"><span class="linenos">1659</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1660"><a href="#L-1660"><span class="linenos">1660</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1661"><a href="#L-1661"><span class="linenos">1661</span></a> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1662"><a href="#L-1662"><span class="linenos">1662</span></a> <span class="s2">&quot;side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1663"><a href="#L-1663"><span class="linenos">1663</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1664"><a href="#L-1664"><span class="linenos">1664</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1665"><a href="#L-1665"><span class="linenos">1665</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1666"><a href="#L-1666"><span class="linenos">1666</span></a> <span class="s2">&quot;global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1667"><a href="#L-1667"><span class="linenos">1667</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1668"><a href="#L-1668"><span class="linenos">1668</span></a> <span class="p">}</span>
</span><span id="L-1669"><a href="#L-1669"><span class="linenos">1669</span></a>
</span><span id="L-1670"><a href="#L-1670"><span class="linenos">1670</span></a> <span class="nd">@property</span>
-</span><span id="L-1671"><a href="#L-1671"><span class="linenos">1671</span></a> <span class="k">def</span> <span class="nf">side</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1672"><a href="#L-1672"><span class="linenos">1672</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-1671"><a href="#L-1671"><span class="linenos">1671</span></a> <span class="k">def</span> <span class="nf">method</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1672"><a href="#L-1672"><span class="linenos">1672</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
</span><span id="L-1673"><a href="#L-1673"><span class="linenos">1673</span></a>
</span><span id="L-1674"><a href="#L-1674"><span class="linenos">1674</span></a> <span class="nd">@property</span>
-</span><span id="L-1675"><a href="#L-1675"><span class="linenos">1675</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1676"><a href="#L-1676"><span class="linenos">1676</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;hint&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-1675"><a href="#L-1675"><span class="linenos">1675</span></a> <span class="k">def</span> <span class="nf">kind</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1676"><a href="#L-1676"><span class="linenos">1676</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
</span><span id="L-1677"><a href="#L-1677"><span class="linenos">1677</span></a>
</span><span id="L-1678"><a href="#L-1678"><span class="linenos">1678</span></a> <span class="nd">@property</span>
-</span><span id="L-1679"><a href="#L-1679"><span class="linenos">1679</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-1680"><a href="#L-1680"><span class="linenos">1680</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
+</span><span id="L-1679"><a href="#L-1679"><span class="linenos">1679</span></a> <span class="k">def</span> <span class="nf">side</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1680"><a href="#L-1680"><span class="linenos">1680</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
</span><span id="L-1681"><a href="#L-1681"><span class="linenos">1681</span></a>
-</span><span id="L-1682"><a href="#L-1682"><span class="linenos">1682</span></a> <span class="k">def</span> <span class="nf">on</span><span class="p">(</span>
-</span><span id="L-1683"><a href="#L-1683"><span class="linenos">1683</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1684"><a href="#L-1684"><span class="linenos">1684</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-1685"><a href="#L-1685"><span class="linenos">1685</span></a> <span class="n">append</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-1686"><a href="#L-1686"><span class="linenos">1686</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1687"><a href="#L-1687"><span class="linenos">1687</span></a> <span class="n">copy</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-1688"><a href="#L-1688"><span class="linenos">1688</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1689"><a href="#L-1689"><span class="linenos">1689</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
-</span><span id="L-1690"><a href="#L-1690"><span class="linenos">1690</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-1691"><a href="#L-1691"><span class="linenos">1691</span></a><span class="sd"> Append to or set the ON expressions.</span>
-</span><span id="L-1692"><a href="#L-1692"><span class="linenos">1692</span></a>
-</span><span id="L-1693"><a href="#L-1693"><span class="linenos">1693</span></a><span class="sd"> Example:</span>
-</span><span id="L-1694"><a href="#L-1694"><span class="linenos">1694</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="L-1695"><a href="#L-1695"><span class="linenos">1695</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).on(&quot;y = 1&quot;).sql()</span>
-</span><span id="L-1696"><a href="#L-1696"><span class="linenos">1696</span></a><span class="sd"> &#39;JOIN x ON y = 1&#39;</span>
-</span><span id="L-1697"><a href="#L-1697"><span class="linenos">1697</span></a>
-</span><span id="L-1698"><a href="#L-1698"><span class="linenos">1698</span></a><span class="sd"> Args:</span>
-</span><span id="L-1699"><a href="#L-1699"><span class="linenos">1699</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-1700"><a href="#L-1700"><span class="linenos">1700</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-1701"><a href="#L-1701"><span class="linenos">1701</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="L-1702"><a href="#L-1702"><span class="linenos">1702</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="L-1703"><a href="#L-1703"><span class="linenos">1703</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="L-1704"><a href="#L-1704"><span class="linenos">1704</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-1705"><a href="#L-1705"><span class="linenos">1705</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-1706"><a href="#L-1706"><span class="linenos">1706</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-1707"><a href="#L-1707"><span class="linenos">1707</span></a>
-</span><span id="L-1708"><a href="#L-1708"><span class="linenos">1708</span></a><span class="sd"> Returns:</span>
-</span><span id="L-1709"><a href="#L-1709"><span class="linenos">1709</span></a><span class="sd"> The modified Join expression.</span>
-</span><span id="L-1710"><a href="#L-1710"><span class="linenos">1710</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-1711"><a href="#L-1711"><span class="linenos">1711</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="L-1712"><a href="#L-1712"><span class="linenos">1712</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-1713"><a href="#L-1713"><span class="linenos">1713</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1714"><a href="#L-1714"><span class="linenos">1714</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;on&quot;</span><span class="p">,</span>
-</span><span id="L-1715"><a href="#L-1715"><span class="linenos">1715</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-1716"><a href="#L-1716"><span class="linenos">1716</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-1717"><a href="#L-1717"><span class="linenos">1717</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-1718"><a href="#L-1718"><span class="linenos">1718</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1719"><a href="#L-1719"><span class="linenos">1719</span></a> <span class="p">)</span>
-</span><span id="L-1720"><a href="#L-1720"><span class="linenos">1720</span></a>
-</span><span id="L-1721"><a href="#L-1721"><span class="linenos">1721</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
-</span><span id="L-1722"><a href="#L-1722"><span class="linenos">1722</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="L-1723"><a href="#L-1723"><span class="linenos">1723</span></a>
-</span><span id="L-1724"><a href="#L-1724"><span class="linenos">1724</span></a> <span class="k">return</span> <span class="n">join</span>
-</span><span id="L-1725"><a href="#L-1725"><span class="linenos">1725</span></a>
-</span><span id="L-1726"><a href="#L-1726"><span class="linenos">1726</span></a> <span class="k">def</span> <span class="nf">using</span><span class="p">(</span>
-</span><span id="L-1727"><a href="#L-1727"><span class="linenos">1727</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1728"><a href="#L-1728"><span class="linenos">1728</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-1729"><a href="#L-1729"><span class="linenos">1729</span></a> <span class="n">append</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-1730"><a href="#L-1730"><span class="linenos">1730</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-1731"><a href="#L-1731"><span class="linenos">1731</span></a> <span class="n">copy</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-1732"><a href="#L-1732"><span class="linenos">1732</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1733"><a href="#L-1733"><span class="linenos">1733</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
-</span><span id="L-1734"><a href="#L-1734"><span class="linenos">1734</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-1735"><a href="#L-1735"><span class="linenos">1735</span></a><span class="sd"> Append to or set the USING expressions.</span>
-</span><span id="L-1736"><a href="#L-1736"><span class="linenos">1736</span></a>
-</span><span id="L-1737"><a href="#L-1737"><span class="linenos">1737</span></a><span class="sd"> Example:</span>
-</span><span id="L-1738"><a href="#L-1738"><span class="linenos">1738</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="L-1739"><a href="#L-1739"><span class="linenos">1739</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).using(&quot;foo&quot;, &quot;bla&quot;).sql()</span>
-</span><span id="L-1740"><a href="#L-1740"><span class="linenos">1740</span></a><span class="sd"> &#39;JOIN x USING (foo, bla)&#39;</span>
-</span><span id="L-1741"><a href="#L-1741"><span class="linenos">1741</span></a>
-</span><span id="L-1742"><a href="#L-1742"><span class="linenos">1742</span></a><span class="sd"> Args:</span>
-</span><span id="L-1743"><a href="#L-1743"><span class="linenos">1743</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-1744"><a href="#L-1744"><span class="linenos">1744</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-1745"><a href="#L-1745"><span class="linenos">1745</span></a><span class="sd"> append: if `True`, concatenate the new expressions to the existing &quot;using&quot; list.</span>
-</span><span id="L-1746"><a href="#L-1746"><span class="linenos">1746</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="L-1747"><a href="#L-1747"><span class="linenos">1747</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-1748"><a href="#L-1748"><span class="linenos">1748</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-1749"><a href="#L-1749"><span class="linenos">1749</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-1750"><a href="#L-1750"><span class="linenos">1750</span></a>
-</span><span id="L-1751"><a href="#L-1751"><span class="linenos">1751</span></a><span class="sd"> Returns:</span>
-</span><span id="L-1752"><a href="#L-1752"><span class="linenos">1752</span></a><span class="sd"> The modified Join expression.</span>
-</span><span id="L-1753"><a href="#L-1753"><span class="linenos">1753</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-1754"><a href="#L-1754"><span class="linenos">1754</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-1755"><a href="#L-1755"><span class="linenos">1755</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-1756"><a href="#L-1756"><span class="linenos">1756</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-1757"><a href="#L-1757"><span class="linenos">1757</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
-</span><span id="L-1758"><a href="#L-1758"><span class="linenos">1758</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-1759"><a href="#L-1759"><span class="linenos">1759</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-1760"><a href="#L-1760"><span class="linenos">1760</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-1761"><a href="#L-1761"><span class="linenos">1761</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-1762"><a href="#L-1762"><span class="linenos">1762</span></a> <span class="p">)</span>
-</span><span id="L-1763"><a href="#L-1763"><span class="linenos">1763</span></a>
-</span><span id="L-1764"><a href="#L-1764"><span class="linenos">1764</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
-</span><span id="L-1765"><a href="#L-1765"><span class="linenos">1765</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="L-1766"><a href="#L-1766"><span class="linenos">1766</span></a>
-</span><span id="L-1767"><a href="#L-1767"><span class="linenos">1767</span></a> <span class="k">return</span> <span class="n">join</span>
-</span><span id="L-1768"><a href="#L-1768"><span class="linenos">1768</span></a>
-</span><span id="L-1769"><a href="#L-1769"><span class="linenos">1769</span></a>
-</span><span id="L-1770"><a href="#L-1770"><span class="linenos">1770</span></a><span class="k">class</span> <span class="nc">Lateral</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
-</span><span id="L-1771"><a href="#L-1771"><span class="linenos">1771</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;view&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;outer&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-1772"><a href="#L-1772"><span class="linenos">1772</span></a>
-</span><span id="L-1773"><a href="#L-1773"><span class="linenos">1773</span></a>
-</span><span id="L-1774"><a href="#L-1774"><span class="linenos">1774</span></a><span class="k">class</span> <span class="nc">MatchRecognize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1775"><a href="#L-1775"><span class="linenos">1775</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1776"><a href="#L-1776"><span class="linenos">1776</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1777"><a href="#L-1777"><span class="linenos">1777</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1778"><a href="#L-1778"><span class="linenos">1778</span></a> <span class="s2">&quot;measures&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1779"><a href="#L-1779"><span class="linenos">1779</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1780"><a href="#L-1780"><span class="linenos">1780</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1781"><a href="#L-1781"><span class="linenos">1781</span></a> <span class="s2">&quot;pattern&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1782"><a href="#L-1782"><span class="linenos">1782</span></a> <span class="s2">&quot;define&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1783"><a href="#L-1783"><span class="linenos">1783</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1784"><a href="#L-1784"><span class="linenos">1784</span></a> <span class="p">}</span>
-</span><span id="L-1785"><a href="#L-1785"><span class="linenos">1785</span></a>
-</span><span id="L-1786"><a href="#L-1786"><span class="linenos">1786</span></a>
-</span><span id="L-1787"><a href="#L-1787"><span class="linenos">1787</span></a><span class="c1"># Clickhouse FROM FINAL modifier</span>
-</span><span id="L-1788"><a href="#L-1788"><span class="linenos">1788</span></a><span class="c1"># https://clickhouse.com/docs/en/sql-reference/statements/select/from/#final-modifier</span>
-</span><span id="L-1789"><a href="#L-1789"><span class="linenos">1789</span></a><span class="k">class</span> <span class="nc">Final</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1790"><a href="#L-1790"><span class="linenos">1790</span></a> <span class="k">pass</span>
-</span><span id="L-1791"><a href="#L-1791"><span class="linenos">1791</span></a>
-</span><span id="L-1792"><a href="#L-1792"><span class="linenos">1792</span></a>
-</span><span id="L-1793"><a href="#L-1793"><span class="linenos">1793</span></a><span class="k">class</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1794"><a href="#L-1794"><span class="linenos">1794</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1795"><a href="#L-1795"><span class="linenos">1795</span></a>
-</span><span id="L-1796"><a href="#L-1796"><span class="linenos">1796</span></a>
-</span><span id="L-1797"><a href="#L-1797"><span class="linenos">1797</span></a><span class="k">class</span> <span class="nc">Order</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1798"><a href="#L-1798"><span class="linenos">1798</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1682"><a href="#L-1682"><span class="linenos">1682</span></a> <span class="nd">@property</span>
+</span><span id="L-1683"><a href="#L-1683"><span class="linenos">1683</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1684"><a href="#L-1684"><span class="linenos">1684</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;hint&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-1685"><a href="#L-1685"><span class="linenos">1685</span></a>
+</span><span id="L-1686"><a href="#L-1686"><span class="linenos">1686</span></a> <span class="nd">@property</span>
+</span><span id="L-1687"><a href="#L-1687"><span class="linenos">1687</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-1688"><a href="#L-1688"><span class="linenos">1688</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
+</span><span id="L-1689"><a href="#L-1689"><span class="linenos">1689</span></a>
+</span><span id="L-1690"><a href="#L-1690"><span class="linenos">1690</span></a> <span class="k">def</span> <span class="nf">on</span><span class="p">(</span>
+</span><span id="L-1691"><a href="#L-1691"><span class="linenos">1691</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1692"><a href="#L-1692"><span class="linenos">1692</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-1693"><a href="#L-1693"><span class="linenos">1693</span></a> <span class="n">append</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-1694"><a href="#L-1694"><span class="linenos">1694</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1695"><a href="#L-1695"><span class="linenos">1695</span></a> <span class="n">copy</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-1696"><a href="#L-1696"><span class="linenos">1696</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1697"><a href="#L-1697"><span class="linenos">1697</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
+</span><span id="L-1698"><a href="#L-1698"><span class="linenos">1698</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-1699"><a href="#L-1699"><span class="linenos">1699</span></a><span class="sd"> Append to or set the ON expressions.</span>
+</span><span id="L-1700"><a href="#L-1700"><span class="linenos">1700</span></a>
+</span><span id="L-1701"><a href="#L-1701"><span class="linenos">1701</span></a><span class="sd"> Example:</span>
+</span><span id="L-1702"><a href="#L-1702"><span class="linenos">1702</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="L-1703"><a href="#L-1703"><span class="linenos">1703</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).on(&quot;y = 1&quot;).sql()</span>
+</span><span id="L-1704"><a href="#L-1704"><span class="linenos">1704</span></a><span class="sd"> &#39;JOIN x ON y = 1&#39;</span>
+</span><span id="L-1705"><a href="#L-1705"><span class="linenos">1705</span></a>
+</span><span id="L-1706"><a href="#L-1706"><span class="linenos">1706</span></a><span class="sd"> Args:</span>
+</span><span id="L-1707"><a href="#L-1707"><span class="linenos">1707</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-1708"><a href="#L-1708"><span class="linenos">1708</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-1709"><a href="#L-1709"><span class="linenos">1709</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="L-1710"><a href="#L-1710"><span class="linenos">1710</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="L-1711"><a href="#L-1711"><span class="linenos">1711</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="L-1712"><a href="#L-1712"><span class="linenos">1712</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-1713"><a href="#L-1713"><span class="linenos">1713</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-1714"><a href="#L-1714"><span class="linenos">1714</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-1715"><a href="#L-1715"><span class="linenos">1715</span></a>
+</span><span id="L-1716"><a href="#L-1716"><span class="linenos">1716</span></a><span class="sd"> Returns:</span>
+</span><span id="L-1717"><a href="#L-1717"><span class="linenos">1717</span></a><span class="sd"> The modified Join expression.</span>
+</span><span id="L-1718"><a href="#L-1718"><span class="linenos">1718</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-1719"><a href="#L-1719"><span class="linenos">1719</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="L-1720"><a href="#L-1720"><span class="linenos">1720</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-1721"><a href="#L-1721"><span class="linenos">1721</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1722"><a href="#L-1722"><span class="linenos">1722</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;on&quot;</span><span class="p">,</span>
+</span><span id="L-1723"><a href="#L-1723"><span class="linenos">1723</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-1724"><a href="#L-1724"><span class="linenos">1724</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-1725"><a href="#L-1725"><span class="linenos">1725</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-1726"><a href="#L-1726"><span class="linenos">1726</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1727"><a href="#L-1727"><span class="linenos">1727</span></a> <span class="p">)</span>
+</span><span id="L-1728"><a href="#L-1728"><span class="linenos">1728</span></a>
+</span><span id="L-1729"><a href="#L-1729"><span class="linenos">1729</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
+</span><span id="L-1730"><a href="#L-1730"><span class="linenos">1730</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="L-1731"><a href="#L-1731"><span class="linenos">1731</span></a>
+</span><span id="L-1732"><a href="#L-1732"><span class="linenos">1732</span></a> <span class="k">return</span> <span class="n">join</span>
+</span><span id="L-1733"><a href="#L-1733"><span class="linenos">1733</span></a>
+</span><span id="L-1734"><a href="#L-1734"><span class="linenos">1734</span></a> <span class="k">def</span> <span class="nf">using</span><span class="p">(</span>
+</span><span id="L-1735"><a href="#L-1735"><span class="linenos">1735</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1736"><a href="#L-1736"><span class="linenos">1736</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-1737"><a href="#L-1737"><span class="linenos">1737</span></a> <span class="n">append</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-1738"><a href="#L-1738"><span class="linenos">1738</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-1739"><a href="#L-1739"><span class="linenos">1739</span></a> <span class="n">copy</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-1740"><a href="#L-1740"><span class="linenos">1740</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1741"><a href="#L-1741"><span class="linenos">1741</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
+</span><span id="L-1742"><a href="#L-1742"><span class="linenos">1742</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-1743"><a href="#L-1743"><span class="linenos">1743</span></a><span class="sd"> Append to or set the USING expressions.</span>
+</span><span id="L-1744"><a href="#L-1744"><span class="linenos">1744</span></a>
+</span><span id="L-1745"><a href="#L-1745"><span class="linenos">1745</span></a><span class="sd"> Example:</span>
+</span><span id="L-1746"><a href="#L-1746"><span class="linenos">1746</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="L-1747"><a href="#L-1747"><span class="linenos">1747</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).using(&quot;foo&quot;, &quot;bla&quot;).sql()</span>
+</span><span id="L-1748"><a href="#L-1748"><span class="linenos">1748</span></a><span class="sd"> &#39;JOIN x USING (foo, bla)&#39;</span>
+</span><span id="L-1749"><a href="#L-1749"><span class="linenos">1749</span></a>
+</span><span id="L-1750"><a href="#L-1750"><span class="linenos">1750</span></a><span class="sd"> Args:</span>
+</span><span id="L-1751"><a href="#L-1751"><span class="linenos">1751</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-1752"><a href="#L-1752"><span class="linenos">1752</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-1753"><a href="#L-1753"><span class="linenos">1753</span></a><span class="sd"> append: if `True`, concatenate the new expressions to the existing &quot;using&quot; list.</span>
+</span><span id="L-1754"><a href="#L-1754"><span class="linenos">1754</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="L-1755"><a href="#L-1755"><span class="linenos">1755</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-1756"><a href="#L-1756"><span class="linenos">1756</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-1757"><a href="#L-1757"><span class="linenos">1757</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-1758"><a href="#L-1758"><span class="linenos">1758</span></a>
+</span><span id="L-1759"><a href="#L-1759"><span class="linenos">1759</span></a><span class="sd"> Returns:</span>
+</span><span id="L-1760"><a href="#L-1760"><span class="linenos">1760</span></a><span class="sd"> The modified Join expression.</span>
+</span><span id="L-1761"><a href="#L-1761"><span class="linenos">1761</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-1762"><a href="#L-1762"><span class="linenos">1762</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-1763"><a href="#L-1763"><span class="linenos">1763</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-1764"><a href="#L-1764"><span class="linenos">1764</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-1765"><a href="#L-1765"><span class="linenos">1765</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
+</span><span id="L-1766"><a href="#L-1766"><span class="linenos">1766</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-1767"><a href="#L-1767"><span class="linenos">1767</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-1768"><a href="#L-1768"><span class="linenos">1768</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-1769"><a href="#L-1769"><span class="linenos">1769</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-1770"><a href="#L-1770"><span class="linenos">1770</span></a> <span class="p">)</span>
+</span><span id="L-1771"><a href="#L-1771"><span class="linenos">1771</span></a>
+</span><span id="L-1772"><a href="#L-1772"><span class="linenos">1772</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
+</span><span id="L-1773"><a href="#L-1773"><span class="linenos">1773</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="L-1774"><a href="#L-1774"><span class="linenos">1774</span></a>
+</span><span id="L-1775"><a href="#L-1775"><span class="linenos">1775</span></a> <span class="k">return</span> <span class="n">join</span>
+</span><span id="L-1776"><a href="#L-1776"><span class="linenos">1776</span></a>
+</span><span id="L-1777"><a href="#L-1777"><span class="linenos">1777</span></a>
+</span><span id="L-1778"><a href="#L-1778"><span class="linenos">1778</span></a><span class="k">class</span> <span class="nc">Lateral</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
+</span><span id="L-1779"><a href="#L-1779"><span class="linenos">1779</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;view&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;outer&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1780"><a href="#L-1780"><span class="linenos">1780</span></a>
+</span><span id="L-1781"><a href="#L-1781"><span class="linenos">1781</span></a>
+</span><span id="L-1782"><a href="#L-1782"><span class="linenos">1782</span></a><span class="k">class</span> <span class="nc">MatchRecognize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1783"><a href="#L-1783"><span class="linenos">1783</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1784"><a href="#L-1784"><span class="linenos">1784</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1785"><a href="#L-1785"><span class="linenos">1785</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1786"><a href="#L-1786"><span class="linenos">1786</span></a> <span class="s2">&quot;measures&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1787"><a href="#L-1787"><span class="linenos">1787</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1788"><a href="#L-1788"><span class="linenos">1788</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1789"><a href="#L-1789"><span class="linenos">1789</span></a> <span class="s2">&quot;pattern&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1790"><a href="#L-1790"><span class="linenos">1790</span></a> <span class="s2">&quot;define&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1791"><a href="#L-1791"><span class="linenos">1791</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1792"><a href="#L-1792"><span class="linenos">1792</span></a> <span class="p">}</span>
+</span><span id="L-1793"><a href="#L-1793"><span class="linenos">1793</span></a>
+</span><span id="L-1794"><a href="#L-1794"><span class="linenos">1794</span></a>
+</span><span id="L-1795"><a href="#L-1795"><span class="linenos">1795</span></a><span class="c1"># Clickhouse FROM FINAL modifier</span>
+</span><span id="L-1796"><a href="#L-1796"><span class="linenos">1796</span></a><span class="c1"># https://clickhouse.com/docs/en/sql-reference/statements/select/from/#final-modifier</span>
+</span><span id="L-1797"><a href="#L-1797"><span class="linenos">1797</span></a><span class="k">class</span> <span class="nc">Final</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1798"><a href="#L-1798"><span class="linenos">1798</span></a> <span class="k">pass</span>
</span><span id="L-1799"><a href="#L-1799"><span class="linenos">1799</span></a>
</span><span id="L-1800"><a href="#L-1800"><span class="linenos">1800</span></a>
-</span><span id="L-1801"><a href="#L-1801"><span class="linenos">1801</span></a><span class="c1"># hive specific sorts</span>
-</span><span id="L-1802"><a href="#L-1802"><span class="linenos">1802</span></a><span class="c1"># https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy</span>
-</span><span id="L-1803"><a href="#L-1803"><span class="linenos">1803</span></a><span class="k">class</span> <span class="nc">Cluster</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
-</span><span id="L-1804"><a href="#L-1804"><span class="linenos">1804</span></a> <span class="k">pass</span>
-</span><span id="L-1805"><a href="#L-1805"><span class="linenos">1805</span></a>
-</span><span id="L-1806"><a href="#L-1806"><span class="linenos">1806</span></a>
-</span><span id="L-1807"><a href="#L-1807"><span class="linenos">1807</span></a><span class="k">class</span> <span class="nc">Distribute</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
-</span><span id="L-1808"><a href="#L-1808"><span class="linenos">1808</span></a> <span class="k">pass</span>
-</span><span id="L-1809"><a href="#L-1809"><span class="linenos">1809</span></a>
-</span><span id="L-1810"><a href="#L-1810"><span class="linenos">1810</span></a>
-</span><span id="L-1811"><a href="#L-1811"><span class="linenos">1811</span></a><span class="k">class</span> <span class="nc">Sort</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
+</span><span id="L-1801"><a href="#L-1801"><span class="linenos">1801</span></a><span class="k">class</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1802"><a href="#L-1802"><span class="linenos">1802</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1803"><a href="#L-1803"><span class="linenos">1803</span></a>
+</span><span id="L-1804"><a href="#L-1804"><span class="linenos">1804</span></a>
+</span><span id="L-1805"><a href="#L-1805"><span class="linenos">1805</span></a><span class="k">class</span> <span class="nc">Order</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1806"><a href="#L-1806"><span class="linenos">1806</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1807"><a href="#L-1807"><span class="linenos">1807</span></a>
+</span><span id="L-1808"><a href="#L-1808"><span class="linenos">1808</span></a>
+</span><span id="L-1809"><a href="#L-1809"><span class="linenos">1809</span></a><span class="c1"># hive specific sorts</span>
+</span><span id="L-1810"><a href="#L-1810"><span class="linenos">1810</span></a><span class="c1"># https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy</span>
+</span><span id="L-1811"><a href="#L-1811"><span class="linenos">1811</span></a><span class="k">class</span> <span class="nc">Cluster</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
</span><span id="L-1812"><a href="#L-1812"><span class="linenos">1812</span></a> <span class="k">pass</span>
</span><span id="L-1813"><a href="#L-1813"><span class="linenos">1813</span></a>
</span><span id="L-1814"><a href="#L-1814"><span class="linenos">1814</span></a>
-</span><span id="L-1815"><a href="#L-1815"><span class="linenos">1815</span></a><span class="k">class</span> <span class="nc">Ordered</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1816"><a href="#L-1816"><span class="linenos">1816</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;desc&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;nulls_first&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1815"><a href="#L-1815"><span class="linenos">1815</span></a><span class="k">class</span> <span class="nc">Distribute</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
+</span><span id="L-1816"><a href="#L-1816"><span class="linenos">1816</span></a> <span class="k">pass</span>
</span><span id="L-1817"><a href="#L-1817"><span class="linenos">1817</span></a>
</span><span id="L-1818"><a href="#L-1818"><span class="linenos">1818</span></a>
-</span><span id="L-1819"><a href="#L-1819"><span class="linenos">1819</span></a><span class="k">class</span> <span class="nc">Property</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1820"><a href="#L-1820"><span class="linenos">1820</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1819"><a href="#L-1819"><span class="linenos">1819</span></a><span class="k">class</span> <span class="nc">Sort</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
+</span><span id="L-1820"><a href="#L-1820"><span class="linenos">1820</span></a> <span class="k">pass</span>
</span><span id="L-1821"><a href="#L-1821"><span class="linenos">1821</span></a>
</span><span id="L-1822"><a href="#L-1822"><span class="linenos">1822</span></a>
-</span><span id="L-1823"><a href="#L-1823"><span class="linenos">1823</span></a><span class="k">class</span> <span class="nc">AlgorithmProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1824"><a href="#L-1824"><span class="linenos">1824</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1823"><a href="#L-1823"><span class="linenos">1823</span></a><span class="k">class</span> <span class="nc">Ordered</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1824"><a href="#L-1824"><span class="linenos">1824</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;desc&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;nulls_first&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1825"><a href="#L-1825"><span class="linenos">1825</span></a>
</span><span id="L-1826"><a href="#L-1826"><span class="linenos">1826</span></a>
-</span><span id="L-1827"><a href="#L-1827"><span class="linenos">1827</span></a><span class="k">class</span> <span class="nc">AutoIncrementProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1828"><a href="#L-1828"><span class="linenos">1828</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1827"><a href="#L-1827"><span class="linenos">1827</span></a><span class="k">class</span> <span class="nc">Property</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1828"><a href="#L-1828"><span class="linenos">1828</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1829"><a href="#L-1829"><span class="linenos">1829</span></a>
</span><span id="L-1830"><a href="#L-1830"><span class="linenos">1830</span></a>
-</span><span id="L-1831"><a href="#L-1831"><span class="linenos">1831</span></a><span class="k">class</span> <span class="nc">BlockCompressionProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1832"><a href="#L-1832"><span class="linenos">1832</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;autotemp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;always&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;manual&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;never&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1831"><a href="#L-1831"><span class="linenos">1831</span></a><span class="k">class</span> <span class="nc">AlgorithmProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1832"><a href="#L-1832"><span class="linenos">1832</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1833"><a href="#L-1833"><span class="linenos">1833</span></a>
</span><span id="L-1834"><a href="#L-1834"><span class="linenos">1834</span></a>
-</span><span id="L-1835"><a href="#L-1835"><span class="linenos">1835</span></a><span class="k">class</span> <span class="nc">CharacterSetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1836"><a href="#L-1836"><span class="linenos">1836</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1835"><a href="#L-1835"><span class="linenos">1835</span></a><span class="k">class</span> <span class="nc">AutoIncrementProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1836"><a href="#L-1836"><span class="linenos">1836</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1837"><a href="#L-1837"><span class="linenos">1837</span></a>
</span><span id="L-1838"><a href="#L-1838"><span class="linenos">1838</span></a>
-</span><span id="L-1839"><a href="#L-1839"><span class="linenos">1839</span></a><span class="k">class</span> <span class="nc">ChecksumProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1840"><a href="#L-1840"><span class="linenos">1840</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1839"><a href="#L-1839"><span class="linenos">1839</span></a><span class="k">class</span> <span class="nc">BlockCompressionProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1840"><a href="#L-1840"><span class="linenos">1840</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;autotemp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;always&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;manual&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;never&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1841"><a href="#L-1841"><span class="linenos">1841</span></a>
</span><span id="L-1842"><a href="#L-1842"><span class="linenos">1842</span></a>
-</span><span id="L-1843"><a href="#L-1843"><span class="linenos">1843</span></a><span class="k">class</span> <span class="nc">CollateProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1844"><a href="#L-1844"><span class="linenos">1844</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1843"><a href="#L-1843"><span class="linenos">1843</span></a><span class="k">class</span> <span class="nc">CharacterSetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1844"><a href="#L-1844"><span class="linenos">1844</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1845"><a href="#L-1845"><span class="linenos">1845</span></a>
</span><span id="L-1846"><a href="#L-1846"><span class="linenos">1846</span></a>
-</span><span id="L-1847"><a href="#L-1847"><span class="linenos">1847</span></a><span class="k">class</span> <span class="nc">CopyGrantsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1848"><a href="#L-1848"><span class="linenos">1848</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-1847"><a href="#L-1847"><span class="linenos">1847</span></a><span class="k">class</span> <span class="nc">ChecksumProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1848"><a href="#L-1848"><span class="linenos">1848</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1849"><a href="#L-1849"><span class="linenos">1849</span></a>
</span><span id="L-1850"><a href="#L-1850"><span class="linenos">1850</span></a>
-</span><span id="L-1851"><a href="#L-1851"><span class="linenos">1851</span></a><span class="k">class</span> <span class="nc">DataBlocksizeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1852"><a href="#L-1852"><span class="linenos">1852</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1853"><a href="#L-1853"><span class="linenos">1853</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1854"><a href="#L-1854"><span class="linenos">1854</span></a> <span class="s2">&quot;units&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1855"><a href="#L-1855"><span class="linenos">1855</span></a> <span class="s2">&quot;minimum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1856"><a href="#L-1856"><span class="linenos">1856</span></a> <span class="s2">&quot;maximum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1857"><a href="#L-1857"><span class="linenos">1857</span></a> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1858"><a href="#L-1858"><span class="linenos">1858</span></a> <span class="p">}</span>
-</span><span id="L-1859"><a href="#L-1859"><span class="linenos">1859</span></a>
-</span><span id="L-1860"><a href="#L-1860"><span class="linenos">1860</span></a>
-</span><span id="L-1861"><a href="#L-1861"><span class="linenos">1861</span></a><span class="k">class</span> <span class="nc">DefinerProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1862"><a href="#L-1862"><span class="linenos">1862</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1863"><a href="#L-1863"><span class="linenos">1863</span></a>
-</span><span id="L-1864"><a href="#L-1864"><span class="linenos">1864</span></a>
-</span><span id="L-1865"><a href="#L-1865"><span class="linenos">1865</span></a><span class="k">class</span> <span class="nc">DistKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1866"><a href="#L-1866"><span class="linenos">1866</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1851"><a href="#L-1851"><span class="linenos">1851</span></a><span class="k">class</span> <span class="nc">CollateProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1852"><a href="#L-1852"><span class="linenos">1852</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1853"><a href="#L-1853"><span class="linenos">1853</span></a>
+</span><span id="L-1854"><a href="#L-1854"><span class="linenos">1854</span></a>
+</span><span id="L-1855"><a href="#L-1855"><span class="linenos">1855</span></a><span class="k">class</span> <span class="nc">CopyGrantsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1856"><a href="#L-1856"><span class="linenos">1856</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-1857"><a href="#L-1857"><span class="linenos">1857</span></a>
+</span><span id="L-1858"><a href="#L-1858"><span class="linenos">1858</span></a>
+</span><span id="L-1859"><a href="#L-1859"><span class="linenos">1859</span></a><span class="k">class</span> <span class="nc">DataBlocksizeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1860"><a href="#L-1860"><span class="linenos">1860</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1861"><a href="#L-1861"><span class="linenos">1861</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1862"><a href="#L-1862"><span class="linenos">1862</span></a> <span class="s2">&quot;units&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1863"><a href="#L-1863"><span class="linenos">1863</span></a> <span class="s2">&quot;minimum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1864"><a href="#L-1864"><span class="linenos">1864</span></a> <span class="s2">&quot;maximum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1865"><a href="#L-1865"><span class="linenos">1865</span></a> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1866"><a href="#L-1866"><span class="linenos">1866</span></a> <span class="p">}</span>
</span><span id="L-1867"><a href="#L-1867"><span class="linenos">1867</span></a>
</span><span id="L-1868"><a href="#L-1868"><span class="linenos">1868</span></a>
-</span><span id="L-1869"><a href="#L-1869"><span class="linenos">1869</span></a><span class="k">class</span> <span class="nc">DistStyleProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1869"><a href="#L-1869"><span class="linenos">1869</span></a><span class="k">class</span> <span class="nc">DefinerProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-1870"><a href="#L-1870"><span class="linenos">1870</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1871"><a href="#L-1871"><span class="linenos">1871</span></a>
</span><span id="L-1872"><a href="#L-1872"><span class="linenos">1872</span></a>
-</span><span id="L-1873"><a href="#L-1873"><span class="linenos">1873</span></a><span class="k">class</span> <span class="nc">EngineProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1873"><a href="#L-1873"><span class="linenos">1873</span></a><span class="k">class</span> <span class="nc">DistKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-1874"><a href="#L-1874"><span class="linenos">1874</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1875"><a href="#L-1875"><span class="linenos">1875</span></a>
</span><span id="L-1876"><a href="#L-1876"><span class="linenos">1876</span></a>
-</span><span id="L-1877"><a href="#L-1877"><span class="linenos">1877</span></a><span class="k">class</span> <span class="nc">ToTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1877"><a href="#L-1877"><span class="linenos">1877</span></a><span class="k">class</span> <span class="nc">DistStyleProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-1878"><a href="#L-1878"><span class="linenos">1878</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1879"><a href="#L-1879"><span class="linenos">1879</span></a>
</span><span id="L-1880"><a href="#L-1880"><span class="linenos">1880</span></a>
-</span><span id="L-1881"><a href="#L-1881"><span class="linenos">1881</span></a><span class="k">class</span> <span class="nc">ExecuteAsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1881"><a href="#L-1881"><span class="linenos">1881</span></a><span class="k">class</span> <span class="nc">EngineProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-1882"><a href="#L-1882"><span class="linenos">1882</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1883"><a href="#L-1883"><span class="linenos">1883</span></a>
</span><span id="L-1884"><a href="#L-1884"><span class="linenos">1884</span></a>
-</span><span id="L-1885"><a href="#L-1885"><span class="linenos">1885</span></a><span class="k">class</span> <span class="nc">ExternalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1886"><a href="#L-1886"><span class="linenos">1886</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1885"><a href="#L-1885"><span class="linenos">1885</span></a><span class="k">class</span> <span class="nc">ToTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1886"><a href="#L-1886"><span class="linenos">1886</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1887"><a href="#L-1887"><span class="linenos">1887</span></a>
</span><span id="L-1888"><a href="#L-1888"><span class="linenos">1888</span></a>
-</span><span id="L-1889"><a href="#L-1889"><span class="linenos">1889</span></a><span class="k">class</span> <span class="nc">FallbackProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1890"><a href="#L-1890"><span class="linenos">1890</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;protection&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1889"><a href="#L-1889"><span class="linenos">1889</span></a><span class="k">class</span> <span class="nc">ExecuteAsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1890"><a href="#L-1890"><span class="linenos">1890</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1891"><a href="#L-1891"><span class="linenos">1891</span></a>
</span><span id="L-1892"><a href="#L-1892"><span class="linenos">1892</span></a>
-</span><span id="L-1893"><a href="#L-1893"><span class="linenos">1893</span></a><span class="k">class</span> <span class="nc">FileFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1894"><a href="#L-1894"><span class="linenos">1894</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1893"><a href="#L-1893"><span class="linenos">1893</span></a><span class="k">class</span> <span class="nc">ExternalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1894"><a href="#L-1894"><span class="linenos">1894</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1895"><a href="#L-1895"><span class="linenos">1895</span></a>
</span><span id="L-1896"><a href="#L-1896"><span class="linenos">1896</span></a>
-</span><span id="L-1897"><a href="#L-1897"><span class="linenos">1897</span></a><span class="k">class</span> <span class="nc">FreespaceProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1898"><a href="#L-1898"><span class="linenos">1898</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1897"><a href="#L-1897"><span class="linenos">1897</span></a><span class="k">class</span> <span class="nc">FallbackProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1898"><a href="#L-1898"><span class="linenos">1898</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;protection&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1899"><a href="#L-1899"><span class="linenos">1899</span></a>
</span><span id="L-1900"><a href="#L-1900"><span class="linenos">1900</span></a>
-</span><span id="L-1901"><a href="#L-1901"><span class="linenos">1901</span></a><span class="k">class</span> <span class="nc">InputOutputFormat</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1902"><a href="#L-1902"><span class="linenos">1902</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;output_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1901"><a href="#L-1901"><span class="linenos">1901</span></a><span class="k">class</span> <span class="nc">FileFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1902"><a href="#L-1902"><span class="linenos">1902</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1903"><a href="#L-1903"><span class="linenos">1903</span></a>
</span><span id="L-1904"><a href="#L-1904"><span class="linenos">1904</span></a>
-</span><span id="L-1905"><a href="#L-1905"><span class="linenos">1905</span></a><span class="k">class</span> <span class="nc">IsolatedLoadingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1906"><a href="#L-1906"><span class="linenos">1906</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1907"><a href="#L-1907"><span class="linenos">1907</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1908"><a href="#L-1908"><span class="linenos">1908</span></a> <span class="s2">&quot;concurrent&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1909"><a href="#L-1909"><span class="linenos">1909</span></a> <span class="s2">&quot;for_all&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1910"><a href="#L-1910"><span class="linenos">1910</span></a> <span class="s2">&quot;for_insert&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1911"><a href="#L-1911"><span class="linenos">1911</span></a> <span class="s2">&quot;for_none&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1912"><a href="#L-1912"><span class="linenos">1912</span></a> <span class="p">}</span>
-</span><span id="L-1913"><a href="#L-1913"><span class="linenos">1913</span></a>
-</span><span id="L-1914"><a href="#L-1914"><span class="linenos">1914</span></a>
-</span><span id="L-1915"><a href="#L-1915"><span class="linenos">1915</span></a><span class="k">class</span> <span class="nc">JournalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1916"><a href="#L-1916"><span class="linenos">1916</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1917"><a href="#L-1917"><span class="linenos">1917</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1918"><a href="#L-1918"><span class="linenos">1918</span></a> <span class="s2">&quot;dual&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1919"><a href="#L-1919"><span class="linenos">1919</span></a> <span class="s2">&quot;before&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1920"><a href="#L-1920"><span class="linenos">1920</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1921"><a href="#L-1921"><span class="linenos">1921</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1922"><a href="#L-1922"><span class="linenos">1922</span></a> <span class="p">}</span>
-</span><span id="L-1923"><a href="#L-1923"><span class="linenos">1923</span></a>
-</span><span id="L-1924"><a href="#L-1924"><span class="linenos">1924</span></a>
-</span><span id="L-1925"><a href="#L-1925"><span class="linenos">1925</span></a><span class="k">class</span> <span class="nc">LanguageProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1926"><a href="#L-1926"><span class="linenos">1926</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1927"><a href="#L-1927"><span class="linenos">1927</span></a>
-</span><span id="L-1928"><a href="#L-1928"><span class="linenos">1928</span></a>
-</span><span id="L-1929"><a href="#L-1929"><span class="linenos">1929</span></a><span class="k">class</span> <span class="nc">DictProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1930"><a href="#L-1930"><span class="linenos">1930</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1905"><a href="#L-1905"><span class="linenos">1905</span></a><span class="k">class</span> <span class="nc">FreespaceProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1906"><a href="#L-1906"><span class="linenos">1906</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1907"><a href="#L-1907"><span class="linenos">1907</span></a>
+</span><span id="L-1908"><a href="#L-1908"><span class="linenos">1908</span></a>
+</span><span id="L-1909"><a href="#L-1909"><span class="linenos">1909</span></a><span class="k">class</span> <span class="nc">InputOutputFormat</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-1910"><a href="#L-1910"><span class="linenos">1910</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;output_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1911"><a href="#L-1911"><span class="linenos">1911</span></a>
+</span><span id="L-1912"><a href="#L-1912"><span class="linenos">1912</span></a>
+</span><span id="L-1913"><a href="#L-1913"><span class="linenos">1913</span></a><span class="k">class</span> <span class="nc">IsolatedLoadingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1914"><a href="#L-1914"><span class="linenos">1914</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1915"><a href="#L-1915"><span class="linenos">1915</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1916"><a href="#L-1916"><span class="linenos">1916</span></a> <span class="s2">&quot;concurrent&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1917"><a href="#L-1917"><span class="linenos">1917</span></a> <span class="s2">&quot;for_all&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1918"><a href="#L-1918"><span class="linenos">1918</span></a> <span class="s2">&quot;for_insert&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1919"><a href="#L-1919"><span class="linenos">1919</span></a> <span class="s2">&quot;for_none&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1920"><a href="#L-1920"><span class="linenos">1920</span></a> <span class="p">}</span>
+</span><span id="L-1921"><a href="#L-1921"><span class="linenos">1921</span></a>
+</span><span id="L-1922"><a href="#L-1922"><span class="linenos">1922</span></a>
+</span><span id="L-1923"><a href="#L-1923"><span class="linenos">1923</span></a><span class="k">class</span> <span class="nc">JournalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1924"><a href="#L-1924"><span class="linenos">1924</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1925"><a href="#L-1925"><span class="linenos">1925</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1926"><a href="#L-1926"><span class="linenos">1926</span></a> <span class="s2">&quot;dual&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1927"><a href="#L-1927"><span class="linenos">1927</span></a> <span class="s2">&quot;before&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1928"><a href="#L-1928"><span class="linenos">1928</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1929"><a href="#L-1929"><span class="linenos">1929</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1930"><a href="#L-1930"><span class="linenos">1930</span></a> <span class="p">}</span>
</span><span id="L-1931"><a href="#L-1931"><span class="linenos">1931</span></a>
</span><span id="L-1932"><a href="#L-1932"><span class="linenos">1932</span></a>
-</span><span id="L-1933"><a href="#L-1933"><span class="linenos">1933</span></a><span class="k">class</span> <span class="nc">DictSubProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1934"><a href="#L-1934"><span class="linenos">1934</span></a> <span class="k">pass</span>
+</span><span id="L-1933"><a href="#L-1933"><span class="linenos">1933</span></a><span class="k">class</span> <span class="nc">LanguageProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1934"><a href="#L-1934"><span class="linenos">1934</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1935"><a href="#L-1935"><span class="linenos">1935</span></a>
</span><span id="L-1936"><a href="#L-1936"><span class="linenos">1936</span></a>
-</span><span id="L-1937"><a href="#L-1937"><span class="linenos">1937</span></a><span class="k">class</span> <span class="nc">DictRange</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1938"><a href="#L-1938"><span class="linenos">1938</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;min&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;max&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1937"><a href="#L-1937"><span class="linenos">1937</span></a><span class="k">class</span> <span class="nc">DictProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1938"><a href="#L-1938"><span class="linenos">1938</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1939"><a href="#L-1939"><span class="linenos">1939</span></a>
</span><span id="L-1940"><a href="#L-1940"><span class="linenos">1940</span></a>
-</span><span id="L-1941"><a href="#L-1941"><span class="linenos">1941</span></a><span class="c1"># Clickhouse CREATE ... ON CLUSTER modifier</span>
-</span><span id="L-1942"><a href="#L-1942"><span class="linenos">1942</span></a><span class="c1"># https://clickhouse.com/docs/en/sql-reference/distributed-ddl</span>
-</span><span id="L-1943"><a href="#L-1943"><span class="linenos">1943</span></a><span class="k">class</span> <span class="nc">OnCluster</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1944"><a href="#L-1944"><span class="linenos">1944</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1945"><a href="#L-1945"><span class="linenos">1945</span></a>
-</span><span id="L-1946"><a href="#L-1946"><span class="linenos">1946</span></a>
-</span><span id="L-1947"><a href="#L-1947"><span class="linenos">1947</span></a><span class="k">class</span> <span class="nc">LikeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1948"><a href="#L-1948"><span class="linenos">1948</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-1949"><a href="#L-1949"><span class="linenos">1949</span></a>
-</span><span id="L-1950"><a href="#L-1950"><span class="linenos">1950</span></a>
-</span><span id="L-1951"><a href="#L-1951"><span class="linenos">1951</span></a><span class="k">class</span> <span class="nc">LocationProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1941"><a href="#L-1941"><span class="linenos">1941</span></a><span class="k">class</span> <span class="nc">DictSubProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1942"><a href="#L-1942"><span class="linenos">1942</span></a> <span class="k">pass</span>
+</span><span id="L-1943"><a href="#L-1943"><span class="linenos">1943</span></a>
+</span><span id="L-1944"><a href="#L-1944"><span class="linenos">1944</span></a>
+</span><span id="L-1945"><a href="#L-1945"><span class="linenos">1945</span></a><span class="k">class</span> <span class="nc">DictRange</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1946"><a href="#L-1946"><span class="linenos">1946</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;min&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;max&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1947"><a href="#L-1947"><span class="linenos">1947</span></a>
+</span><span id="L-1948"><a href="#L-1948"><span class="linenos">1948</span></a>
+</span><span id="L-1949"><a href="#L-1949"><span class="linenos">1949</span></a><span class="c1"># Clickhouse CREATE ... ON CLUSTER modifier</span>
+</span><span id="L-1950"><a href="#L-1950"><span class="linenos">1950</span></a><span class="c1"># https://clickhouse.com/docs/en/sql-reference/distributed-ddl</span>
+</span><span id="L-1951"><a href="#L-1951"><span class="linenos">1951</span></a><span class="k">class</span> <span class="nc">OnCluster</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-1952"><a href="#L-1952"><span class="linenos">1952</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1953"><a href="#L-1953"><span class="linenos">1953</span></a>
</span><span id="L-1954"><a href="#L-1954"><span class="linenos">1954</span></a>
-</span><span id="L-1955"><a href="#L-1955"><span class="linenos">1955</span></a><span class="k">class</span> <span class="nc">LockingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1956"><a href="#L-1956"><span class="linenos">1956</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-1957"><a href="#L-1957"><span class="linenos">1957</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1958"><a href="#L-1958"><span class="linenos">1958</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1959"><a href="#L-1959"><span class="linenos">1959</span></a> <span class="s2">&quot;for_or_in&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1960"><a href="#L-1960"><span class="linenos">1960</span></a> <span class="s2">&quot;lock_type&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-1961"><a href="#L-1961"><span class="linenos">1961</span></a> <span class="s2">&quot;override&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-1962"><a href="#L-1962"><span class="linenos">1962</span></a> <span class="p">}</span>
-</span><span id="L-1963"><a href="#L-1963"><span class="linenos">1963</span></a>
-</span><span id="L-1964"><a href="#L-1964"><span class="linenos">1964</span></a>
-</span><span id="L-1965"><a href="#L-1965"><span class="linenos">1965</span></a><span class="k">class</span> <span class="nc">LogProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1966"><a href="#L-1966"><span class="linenos">1966</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-1967"><a href="#L-1967"><span class="linenos">1967</span></a>
-</span><span id="L-1968"><a href="#L-1968"><span class="linenos">1968</span></a>
-</span><span id="L-1969"><a href="#L-1969"><span class="linenos">1969</span></a><span class="k">class</span> <span class="nc">MaterializedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1970"><a href="#L-1970"><span class="linenos">1970</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1955"><a href="#L-1955"><span class="linenos">1955</span></a><span class="k">class</span> <span class="nc">LikeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1956"><a href="#L-1956"><span class="linenos">1956</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1957"><a href="#L-1957"><span class="linenos">1957</span></a>
+</span><span id="L-1958"><a href="#L-1958"><span class="linenos">1958</span></a>
+</span><span id="L-1959"><a href="#L-1959"><span class="linenos">1959</span></a><span class="k">class</span> <span class="nc">LocationProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1960"><a href="#L-1960"><span class="linenos">1960</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1961"><a href="#L-1961"><span class="linenos">1961</span></a>
+</span><span id="L-1962"><a href="#L-1962"><span class="linenos">1962</span></a>
+</span><span id="L-1963"><a href="#L-1963"><span class="linenos">1963</span></a><span class="k">class</span> <span class="nc">LockingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1964"><a href="#L-1964"><span class="linenos">1964</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-1965"><a href="#L-1965"><span class="linenos">1965</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1966"><a href="#L-1966"><span class="linenos">1966</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1967"><a href="#L-1967"><span class="linenos">1967</span></a> <span class="s2">&quot;for_or_in&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1968"><a href="#L-1968"><span class="linenos">1968</span></a> <span class="s2">&quot;lock_type&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-1969"><a href="#L-1969"><span class="linenos">1969</span></a> <span class="s2">&quot;override&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-1970"><a href="#L-1970"><span class="linenos">1970</span></a> <span class="p">}</span>
</span><span id="L-1971"><a href="#L-1971"><span class="linenos">1971</span></a>
</span><span id="L-1972"><a href="#L-1972"><span class="linenos">1972</span></a>
-</span><span id="L-1973"><a href="#L-1973"><span class="linenos">1973</span></a><span class="k">class</span> <span class="nc">MergeBlockRatioProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1974"><a href="#L-1974"><span class="linenos">1974</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1973"><a href="#L-1973"><span class="linenos">1973</span></a><span class="k">class</span> <span class="nc">LogProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1974"><a href="#L-1974"><span class="linenos">1974</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1975"><a href="#L-1975"><span class="linenos">1975</span></a>
</span><span id="L-1976"><a href="#L-1976"><span class="linenos">1976</span></a>
-</span><span id="L-1977"><a href="#L-1977"><span class="linenos">1977</span></a><span class="k">class</span> <span class="nc">NoPrimaryIndexProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1978"><a href="#L-1978"><span class="linenos">1978</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-1977"><a href="#L-1977"><span class="linenos">1977</span></a><span class="k">class</span> <span class="nc">MaterializedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1978"><a href="#L-1978"><span class="linenos">1978</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1979"><a href="#L-1979"><span class="linenos">1979</span></a>
</span><span id="L-1980"><a href="#L-1980"><span class="linenos">1980</span></a>
-</span><span id="L-1981"><a href="#L-1981"><span class="linenos">1981</span></a><span class="k">class</span> <span class="nc">OnCommitProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1982"><a href="#L-1982"><span class="linenos">1982</span></a> <span class="n">arg_type</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1981"><a href="#L-1981"><span class="linenos">1981</span></a><span class="k">class</span> <span class="nc">MergeBlockRatioProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1982"><a href="#L-1982"><span class="linenos">1982</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1983"><a href="#L-1983"><span class="linenos">1983</span></a>
</span><span id="L-1984"><a href="#L-1984"><span class="linenos">1984</span></a>
-</span><span id="L-1985"><a href="#L-1985"><span class="linenos">1985</span></a><span class="k">class</span> <span class="nc">PartitionedByProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1986"><a href="#L-1986"><span class="linenos">1986</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1985"><a href="#L-1985"><span class="linenos">1985</span></a><span class="k">class</span> <span class="nc">NoPrimaryIndexProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1986"><a href="#L-1986"><span class="linenos">1986</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1987"><a href="#L-1987"><span class="linenos">1987</span></a>
</span><span id="L-1988"><a href="#L-1988"><span class="linenos">1988</span></a>
-</span><span id="L-1989"><a href="#L-1989"><span class="linenos">1989</span></a><span class="k">class</span> <span class="nc">ReturnsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1990"><a href="#L-1990"><span class="linenos">1990</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1989"><a href="#L-1989"><span class="linenos">1989</span></a><span class="k">class</span> <span class="nc">OnCommitProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1990"><a href="#L-1990"><span class="linenos">1990</span></a> <span class="n">arg_type</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1991"><a href="#L-1991"><span class="linenos">1991</span></a>
</span><span id="L-1992"><a href="#L-1992"><span class="linenos">1992</span></a>
-</span><span id="L-1993"><a href="#L-1993"><span class="linenos">1993</span></a><span class="k">class</span> <span class="nc">RowFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1993"><a href="#L-1993"><span class="linenos">1993</span></a><span class="k">class</span> <span class="nc">PartitionedByProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-1994"><a href="#L-1994"><span class="linenos">1994</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-1995"><a href="#L-1995"><span class="linenos">1995</span></a>
</span><span id="L-1996"><a href="#L-1996"><span class="linenos">1996</span></a>
-</span><span id="L-1997"><a href="#L-1997"><span class="linenos">1997</span></a><span class="k">class</span> <span class="nc">RowFormatDelimitedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-1998"><a href="#L-1998"><span class="linenos">1998</span></a> <span class="c1"># https://cwiki.apache.org/confluence/display/hive/languagemanual+dml</span>
-</span><span id="L-1999"><a href="#L-1999"><span class="linenos">1999</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2000"><a href="#L-2000"><span class="linenos">2000</span></a> <span class="s2">&quot;fields&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2001"><a href="#L-2001"><span class="linenos">2001</span></a> <span class="s2">&quot;escaped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2002"><a href="#L-2002"><span class="linenos">2002</span></a> <span class="s2">&quot;collection_items&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2003"><a href="#L-2003"><span class="linenos">2003</span></a> <span class="s2">&quot;map_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2004"><a href="#L-2004"><span class="linenos">2004</span></a> <span class="s2">&quot;lines&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2005"><a href="#L-2005"><span class="linenos">2005</span></a> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2006"><a href="#L-2006"><span class="linenos">2006</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2007"><a href="#L-2007"><span class="linenos">2007</span></a> <span class="p">}</span>
-</span><span id="L-2008"><a href="#L-2008"><span class="linenos">2008</span></a>
-</span><span id="L-2009"><a href="#L-2009"><span class="linenos">2009</span></a>
-</span><span id="L-2010"><a href="#L-2010"><span class="linenos">2010</span></a><span class="k">class</span> <span class="nc">RowFormatSerdeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2011"><a href="#L-2011"><span class="linenos">2011</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-2012"><a href="#L-2012"><span class="linenos">2012</span></a>
-</span><span id="L-2013"><a href="#L-2013"><span class="linenos">2013</span></a>
-</span><span id="L-2014"><a href="#L-2014"><span class="linenos">2014</span></a><span class="k">class</span> <span class="nc">SchemaCommentProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2015"><a href="#L-2015"><span class="linenos">2015</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1997"><a href="#L-1997"><span class="linenos">1997</span></a><span class="k">class</span> <span class="nc">ReturnsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-1998"><a href="#L-1998"><span class="linenos">1998</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1999"><a href="#L-1999"><span class="linenos">1999</span></a>
+</span><span id="L-2000"><a href="#L-2000"><span class="linenos">2000</span></a>
+</span><span id="L-2001"><a href="#L-2001"><span class="linenos">2001</span></a><span class="k">class</span> <span class="nc">RowFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2002"><a href="#L-2002"><span class="linenos">2002</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2003"><a href="#L-2003"><span class="linenos">2003</span></a>
+</span><span id="L-2004"><a href="#L-2004"><span class="linenos">2004</span></a>
+</span><span id="L-2005"><a href="#L-2005"><span class="linenos">2005</span></a><span class="k">class</span> <span class="nc">RowFormatDelimitedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2006"><a href="#L-2006"><span class="linenos">2006</span></a> <span class="c1"># https://cwiki.apache.org/confluence/display/hive/languagemanual+dml</span>
+</span><span id="L-2007"><a href="#L-2007"><span class="linenos">2007</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2008"><a href="#L-2008"><span class="linenos">2008</span></a> <span class="s2">&quot;fields&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2009"><a href="#L-2009"><span class="linenos">2009</span></a> <span class="s2">&quot;escaped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2010"><a href="#L-2010"><span class="linenos">2010</span></a> <span class="s2">&quot;collection_items&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2011"><a href="#L-2011"><span class="linenos">2011</span></a> <span class="s2">&quot;map_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2012"><a href="#L-2012"><span class="linenos">2012</span></a> <span class="s2">&quot;lines&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2013"><a href="#L-2013"><span class="linenos">2013</span></a> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2014"><a href="#L-2014"><span class="linenos">2014</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2015"><a href="#L-2015"><span class="linenos">2015</span></a> <span class="p">}</span>
</span><span id="L-2016"><a href="#L-2016"><span class="linenos">2016</span></a>
</span><span id="L-2017"><a href="#L-2017"><span class="linenos">2017</span></a>
-</span><span id="L-2018"><a href="#L-2018"><span class="linenos">2018</span></a><span class="k">class</span> <span class="nc">SerdeProperties</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2019"><a href="#L-2019"><span class="linenos">2019</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2018"><a href="#L-2018"><span class="linenos">2018</span></a><span class="k">class</span> <span class="nc">RowFormatSerdeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2019"><a href="#L-2019"><span class="linenos">2019</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2020"><a href="#L-2020"><span class="linenos">2020</span></a>
</span><span id="L-2021"><a href="#L-2021"><span class="linenos">2021</span></a>
-</span><span id="L-2022"><a href="#L-2022"><span class="linenos">2022</span></a><span class="k">class</span> <span class="nc">SetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2023"><a href="#L-2023"><span class="linenos">2023</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;multi&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2022"><a href="#L-2022"><span class="linenos">2022</span></a><span class="k">class</span> <span class="nc">SchemaCommentProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2023"><a href="#L-2023"><span class="linenos">2023</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2024"><a href="#L-2024"><span class="linenos">2024</span></a>
</span><span id="L-2025"><a href="#L-2025"><span class="linenos">2025</span></a>
-</span><span id="L-2026"><a href="#L-2026"><span class="linenos">2026</span></a><span class="k">class</span> <span class="nc">SettingsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2026"><a href="#L-2026"><span class="linenos">2026</span></a><span class="k">class</span> <span class="nc">SerdeProperties</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
</span><span id="L-2027"><a href="#L-2027"><span class="linenos">2027</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2028"><a href="#L-2028"><span class="linenos">2028</span></a>
</span><span id="L-2029"><a href="#L-2029"><span class="linenos">2029</span></a>
-</span><span id="L-2030"><a href="#L-2030"><span class="linenos">2030</span></a><span class="k">class</span> <span class="nc">SortKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2031"><a href="#L-2031"><span class="linenos">2031</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;compound&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2030"><a href="#L-2030"><span class="linenos">2030</span></a><span class="k">class</span> <span class="nc">SetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2031"><a href="#L-2031"><span class="linenos">2031</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;multi&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2032"><a href="#L-2032"><span class="linenos">2032</span></a>
</span><span id="L-2033"><a href="#L-2033"><span class="linenos">2033</span></a>
-</span><span id="L-2034"><a href="#L-2034"><span class="linenos">2034</span></a><span class="k">class</span> <span class="nc">SqlSecurityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2035"><a href="#L-2035"><span class="linenos">2035</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;definer&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2034"><a href="#L-2034"><span class="linenos">2034</span></a><span class="k">class</span> <span class="nc">SettingsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2035"><a href="#L-2035"><span class="linenos">2035</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2036"><a href="#L-2036"><span class="linenos">2036</span></a>
</span><span id="L-2037"><a href="#L-2037"><span class="linenos">2037</span></a>
-</span><span id="L-2038"><a href="#L-2038"><span class="linenos">2038</span></a><span class="k">class</span> <span class="nc">StabilityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2039"><a href="#L-2039"><span class="linenos">2039</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2038"><a href="#L-2038"><span class="linenos">2038</span></a><span class="k">class</span> <span class="nc">SortKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2039"><a href="#L-2039"><span class="linenos">2039</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;compound&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2040"><a href="#L-2040"><span class="linenos">2040</span></a>
</span><span id="L-2041"><a href="#L-2041"><span class="linenos">2041</span></a>
-</span><span id="L-2042"><a href="#L-2042"><span class="linenos">2042</span></a><span class="k">class</span> <span class="nc">TemporaryProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2043"><a href="#L-2043"><span class="linenos">2043</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-2042"><a href="#L-2042"><span class="linenos">2042</span></a><span class="k">class</span> <span class="nc">SqlSecurityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2043"><a href="#L-2043"><span class="linenos">2043</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;definer&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2044"><a href="#L-2044"><span class="linenos">2044</span></a>
</span><span id="L-2045"><a href="#L-2045"><span class="linenos">2045</span></a>
-</span><span id="L-2046"><a href="#L-2046"><span class="linenos">2046</span></a><span class="k">class</span> <span class="nc">TransientProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2047"><a href="#L-2047"><span class="linenos">2047</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2046"><a href="#L-2046"><span class="linenos">2046</span></a><span class="k">class</span> <span class="nc">StabilityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2047"><a href="#L-2047"><span class="linenos">2047</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-2048"><a href="#L-2048"><span class="linenos">2048</span></a>
</span><span id="L-2049"><a href="#L-2049"><span class="linenos">2049</span></a>
-</span><span id="L-2050"><a href="#L-2050"><span class="linenos">2050</span></a><span class="k">class</span> <span class="nc">VolatileProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2051"><a href="#L-2051"><span class="linenos">2051</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2050"><a href="#L-2050"><span class="linenos">2050</span></a><span class="k">class</span> <span class="nc">TemporaryProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2051"><a href="#L-2051"><span class="linenos">2051</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-2052"><a href="#L-2052"><span class="linenos">2052</span></a>
</span><span id="L-2053"><a href="#L-2053"><span class="linenos">2053</span></a>
-</span><span id="L-2054"><a href="#L-2054"><span class="linenos">2054</span></a><span class="k">class</span> <span class="nc">WithDataProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2055"><a href="#L-2055"><span class="linenos">2055</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;statistics&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2054"><a href="#L-2054"><span class="linenos">2054</span></a><span class="k">class</span> <span class="nc">TransientProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2055"><a href="#L-2055"><span class="linenos">2055</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2056"><a href="#L-2056"><span class="linenos">2056</span></a>
</span><span id="L-2057"><a href="#L-2057"><span class="linenos">2057</span></a>
-</span><span id="L-2058"><a href="#L-2058"><span class="linenos">2058</span></a><span class="k">class</span> <span class="nc">WithJournalTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="L-2059"><a href="#L-2059"><span class="linenos">2059</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2058"><a href="#L-2058"><span class="linenos">2058</span></a><span class="k">class</span> <span class="nc">VolatileProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2059"><a href="#L-2059"><span class="linenos">2059</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2060"><a href="#L-2060"><span class="linenos">2060</span></a>
</span><span id="L-2061"><a href="#L-2061"><span class="linenos">2061</span></a>
-</span><span id="L-2062"><a href="#L-2062"><span class="linenos">2062</span></a><span class="k">class</span> <span class="nc">Properties</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2063"><a href="#L-2063"><span class="linenos">2063</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2062"><a href="#L-2062"><span class="linenos">2062</span></a><span class="k">class</span> <span class="nc">WithDataProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2063"><a href="#L-2063"><span class="linenos">2063</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;statistics&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2064"><a href="#L-2064"><span class="linenos">2064</span></a>
-</span><span id="L-2065"><a href="#L-2065"><span class="linenos">2065</span></a> <span class="n">NAME_TO_PROPERTY</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2066"><a href="#L-2066"><span class="linenos">2066</span></a> <span class="s2">&quot;ALGORITHM&quot;</span><span class="p">:</span> <span class="n">AlgorithmProperty</span><span class="p">,</span>
-</span><span id="L-2067"><a href="#L-2067"><span class="linenos">2067</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">AutoIncrementProperty</span><span class="p">,</span>
-</span><span id="L-2068"><a href="#L-2068"><span class="linenos">2068</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">CharacterSetProperty</span><span class="p">,</span>
-</span><span id="L-2069"><a href="#L-2069"><span class="linenos">2069</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">CollateProperty</span><span class="p">,</span>
-</span><span id="L-2070"><a href="#L-2070"><span class="linenos">2070</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">SchemaCommentProperty</span><span class="p">,</span>
-</span><span id="L-2071"><a href="#L-2071"><span class="linenos">2071</span></a> <span class="s2">&quot;DEFINER&quot;</span><span class="p">:</span> <span class="n">DefinerProperty</span><span class="p">,</span>
-</span><span id="L-2072"><a href="#L-2072"><span class="linenos">2072</span></a> <span class="s2">&quot;DISTKEY&quot;</span><span class="p">:</span> <span class="n">DistKeyProperty</span><span class="p">,</span>
-</span><span id="L-2073"><a href="#L-2073"><span class="linenos">2073</span></a> <span class="s2">&quot;DISTSTYLE&quot;</span><span class="p">:</span> <span class="n">DistStyleProperty</span><span class="p">,</span>
-</span><span id="L-2074"><a href="#L-2074"><span class="linenos">2074</span></a> <span class="s2">&quot;ENGINE&quot;</span><span class="p">:</span> <span class="n">EngineProperty</span><span class="p">,</span>
-</span><span id="L-2075"><a href="#L-2075"><span class="linenos">2075</span></a> <span class="s2">&quot;EXECUTE AS&quot;</span><span class="p">:</span> <span class="n">ExecuteAsProperty</span><span class="p">,</span>
-</span><span id="L-2076"><a href="#L-2076"><span class="linenos">2076</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">FileFormatProperty</span><span class="p">,</span>
-</span><span id="L-2077"><a href="#L-2077"><span class="linenos">2077</span></a> <span class="s2">&quot;LANGUAGE&quot;</span><span class="p">:</span> <span class="n">LanguageProperty</span><span class="p">,</span>
-</span><span id="L-2078"><a href="#L-2078"><span class="linenos">2078</span></a> <span class="s2">&quot;LOCATION&quot;</span><span class="p">:</span> <span class="n">LocationProperty</span><span class="p">,</span>
-</span><span id="L-2079"><a href="#L-2079"><span class="linenos">2079</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">PartitionedByProperty</span><span class="p">,</span>
-</span><span id="L-2080"><a href="#L-2080"><span class="linenos">2080</span></a> <span class="s2">&quot;RETURNS&quot;</span><span class="p">:</span> <span class="n">ReturnsProperty</span><span class="p">,</span>
-</span><span id="L-2081"><a href="#L-2081"><span class="linenos">2081</span></a> <span class="s2">&quot;ROW_FORMAT&quot;</span><span class="p">:</span> <span class="n">RowFormatProperty</span><span class="p">,</span>
-</span><span id="L-2082"><a href="#L-2082"><span class="linenos">2082</span></a> <span class="s2">&quot;SORTKEY&quot;</span><span class="p">:</span> <span class="n">SortKeyProperty</span><span class="p">,</span>
-</span><span id="L-2083"><a href="#L-2083"><span class="linenos">2083</span></a> <span class="p">}</span>
-</span><span id="L-2084"><a href="#L-2084"><span class="linenos">2084</span></a>
-</span><span id="L-2085"><a href="#L-2085"><span class="linenos">2085</span></a> <span class="n">PROPERTY_TO_NAME</span> <span class="o">=</span> <span class="p">{</span><span class="n">v</span><span class="p">:</span> <span class="n">k</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
-</span><span id="L-2086"><a href="#L-2086"><span class="linenos">2086</span></a>
-</span><span id="L-2087"><a href="#L-2087"><span class="linenos">2087</span></a> <span class="c1"># CREATE property locations</span>
-</span><span id="L-2088"><a href="#L-2088"><span class="linenos">2088</span></a> <span class="c1"># Form: schema specified</span>
-</span><span id="L-2089"><a href="#L-2089"><span class="linenos">2089</span></a> <span class="c1"># create [POST_CREATE]</span>
-</span><span id="L-2090"><a href="#L-2090"><span class="linenos">2090</span></a> <span class="c1"># table a [POST_NAME]</span>
-</span><span id="L-2091"><a href="#L-2091"><span class="linenos">2091</span></a> <span class="c1"># (b int) [POST_SCHEMA]</span>
-</span><span id="L-2092"><a href="#L-2092"><span class="linenos">2092</span></a> <span class="c1"># with ([POST_WITH])</span>
-</span><span id="L-2093"><a href="#L-2093"><span class="linenos">2093</span></a> <span class="c1"># index (b) [POST_INDEX]</span>
-</span><span id="L-2094"><a href="#L-2094"><span class="linenos">2094</span></a> <span class="c1">#</span>
-</span><span id="L-2095"><a href="#L-2095"><span class="linenos">2095</span></a> <span class="c1"># Form: alias selection</span>
-</span><span id="L-2096"><a href="#L-2096"><span class="linenos">2096</span></a> <span class="c1"># create [POST_CREATE]</span>
-</span><span id="L-2097"><a href="#L-2097"><span class="linenos">2097</span></a> <span class="c1"># table a [POST_NAME]</span>
-</span><span id="L-2098"><a href="#L-2098"><span class="linenos">2098</span></a> <span class="c1"># as [POST_ALIAS] (select * from b) [POST_EXPRESSION]</span>
-</span><span id="L-2099"><a href="#L-2099"><span class="linenos">2099</span></a> <span class="c1"># index (c) [POST_INDEX]</span>
-</span><span id="L-2100"><a href="#L-2100"><span class="linenos">2100</span></a> <span class="k">class</span> <span class="nc">Location</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="L-2101"><a href="#L-2101"><span class="linenos">2101</span></a> <span class="n">POST_CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2102"><a href="#L-2102"><span class="linenos">2102</span></a> <span class="n">POST_NAME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2103"><a href="#L-2103"><span class="linenos">2103</span></a> <span class="n">POST_SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2104"><a href="#L-2104"><span class="linenos">2104</span></a> <span class="n">POST_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2105"><a href="#L-2105"><span class="linenos">2105</span></a> <span class="n">POST_ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2106"><a href="#L-2106"><span class="linenos">2106</span></a> <span class="n">POST_EXPRESSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2107"><a href="#L-2107"><span class="linenos">2107</span></a> <span class="n">POST_INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2108"><a href="#L-2108"><span class="linenos">2108</span></a> <span class="n">UNSUPPORTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-2109"><a href="#L-2109"><span class="linenos">2109</span></a>
-</span><span id="L-2110"><a href="#L-2110"><span class="linenos">2110</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-2111"><a href="#L-2111"><span class="linenos">2111</span></a> <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">properties_dict</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">-&gt;</span> <span class="n">Properties</span><span class="p">:</span>
-</span><span id="L-2112"><a href="#L-2112"><span class="linenos">2112</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-2113"><a href="#L-2113"><span class="linenos">2113</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">properties_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="L-2114"><a href="#L-2114"><span class="linenos">2114</span></a> <span class="n">property_cls</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="L-2115"><a href="#L-2115"><span class="linenos">2115</span></a> <span class="k">if</span> <span class="n">property_cls</span><span class="p">:</span>
-</span><span id="L-2116"><a href="#L-2116"><span class="linenos">2116</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">property_cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
-</span><span id="L-2117"><a href="#L-2117"><span class="linenos">2117</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-2118"><a href="#L-2118"><span class="linenos">2118</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Property</span><span class="p">(</span><span class="n">this</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">key</span><span class="p">),</span> <span class="n">value</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
-</span><span id="L-2119"><a href="#L-2119"><span class="linenos">2119</span></a>
-</span><span id="L-2120"><a href="#L-2120"><span class="linenos">2120</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">expressions</span><span class="p">)</span>
-</span><span id="L-2121"><a href="#L-2121"><span class="linenos">2121</span></a>
-</span><span id="L-2122"><a href="#L-2122"><span class="linenos">2122</span></a>
-</span><span id="L-2123"><a href="#L-2123"><span class="linenos">2123</span></a><span class="k">class</span> <span class="nc">Qualify</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2124"><a href="#L-2124"><span class="linenos">2124</span></a> <span class="k">pass</span>
-</span><span id="L-2125"><a href="#L-2125"><span class="linenos">2125</span></a>
-</span><span id="L-2126"><a href="#L-2126"><span class="linenos">2126</span></a>
-</span><span id="L-2127"><a href="#L-2127"><span class="linenos">2127</span></a><span class="c1"># https://www.ibm.com/docs/en/ias?topic=procedures-return-statement-in-sql</span>
-</span><span id="L-2128"><a href="#L-2128"><span class="linenos">2128</span></a><span class="k">class</span> <span class="nc">Return</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2129"><a href="#L-2129"><span class="linenos">2129</span></a> <span class="k">pass</span>
+</span><span id="L-2065"><a href="#L-2065"><span class="linenos">2065</span></a>
+</span><span id="L-2066"><a href="#L-2066"><span class="linenos">2066</span></a><span class="k">class</span> <span class="nc">WithJournalTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="L-2067"><a href="#L-2067"><span class="linenos">2067</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2068"><a href="#L-2068"><span class="linenos">2068</span></a>
+</span><span id="L-2069"><a href="#L-2069"><span class="linenos">2069</span></a>
+</span><span id="L-2070"><a href="#L-2070"><span class="linenos">2070</span></a><span class="k">class</span> <span class="nc">Properties</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2071"><a href="#L-2071"><span class="linenos">2071</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2072"><a href="#L-2072"><span class="linenos">2072</span></a>
+</span><span id="L-2073"><a href="#L-2073"><span class="linenos">2073</span></a> <span class="n">NAME_TO_PROPERTY</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2074"><a href="#L-2074"><span class="linenos">2074</span></a> <span class="s2">&quot;ALGORITHM&quot;</span><span class="p">:</span> <span class="n">AlgorithmProperty</span><span class="p">,</span>
+</span><span id="L-2075"><a href="#L-2075"><span class="linenos">2075</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">AutoIncrementProperty</span><span class="p">,</span>
+</span><span id="L-2076"><a href="#L-2076"><span class="linenos">2076</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">CharacterSetProperty</span><span class="p">,</span>
+</span><span id="L-2077"><a href="#L-2077"><span class="linenos">2077</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">CollateProperty</span><span class="p">,</span>
+</span><span id="L-2078"><a href="#L-2078"><span class="linenos">2078</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">SchemaCommentProperty</span><span class="p">,</span>
+</span><span id="L-2079"><a href="#L-2079"><span class="linenos">2079</span></a> <span class="s2">&quot;DEFINER&quot;</span><span class="p">:</span> <span class="n">DefinerProperty</span><span class="p">,</span>
+</span><span id="L-2080"><a href="#L-2080"><span class="linenos">2080</span></a> <span class="s2">&quot;DISTKEY&quot;</span><span class="p">:</span> <span class="n">DistKeyProperty</span><span class="p">,</span>
+</span><span id="L-2081"><a href="#L-2081"><span class="linenos">2081</span></a> <span class="s2">&quot;DISTSTYLE&quot;</span><span class="p">:</span> <span class="n">DistStyleProperty</span><span class="p">,</span>
+</span><span id="L-2082"><a href="#L-2082"><span class="linenos">2082</span></a> <span class="s2">&quot;ENGINE&quot;</span><span class="p">:</span> <span class="n">EngineProperty</span><span class="p">,</span>
+</span><span id="L-2083"><a href="#L-2083"><span class="linenos">2083</span></a> <span class="s2">&quot;EXECUTE AS&quot;</span><span class="p">:</span> <span class="n">ExecuteAsProperty</span><span class="p">,</span>
+</span><span id="L-2084"><a href="#L-2084"><span class="linenos">2084</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">FileFormatProperty</span><span class="p">,</span>
+</span><span id="L-2085"><a href="#L-2085"><span class="linenos">2085</span></a> <span class="s2">&quot;LANGUAGE&quot;</span><span class="p">:</span> <span class="n">LanguageProperty</span><span class="p">,</span>
+</span><span id="L-2086"><a href="#L-2086"><span class="linenos">2086</span></a> <span class="s2">&quot;LOCATION&quot;</span><span class="p">:</span> <span class="n">LocationProperty</span><span class="p">,</span>
+</span><span id="L-2087"><a href="#L-2087"><span class="linenos">2087</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">PartitionedByProperty</span><span class="p">,</span>
+</span><span id="L-2088"><a href="#L-2088"><span class="linenos">2088</span></a> <span class="s2">&quot;RETURNS&quot;</span><span class="p">:</span> <span class="n">ReturnsProperty</span><span class="p">,</span>
+</span><span id="L-2089"><a href="#L-2089"><span class="linenos">2089</span></a> <span class="s2">&quot;ROW_FORMAT&quot;</span><span class="p">:</span> <span class="n">RowFormatProperty</span><span class="p">,</span>
+</span><span id="L-2090"><a href="#L-2090"><span class="linenos">2090</span></a> <span class="s2">&quot;SORTKEY&quot;</span><span class="p">:</span> <span class="n">SortKeyProperty</span><span class="p">,</span>
+</span><span id="L-2091"><a href="#L-2091"><span class="linenos">2091</span></a> <span class="p">}</span>
+</span><span id="L-2092"><a href="#L-2092"><span class="linenos">2092</span></a>
+</span><span id="L-2093"><a href="#L-2093"><span class="linenos">2093</span></a> <span class="n">PROPERTY_TO_NAME</span> <span class="o">=</span> <span class="p">{</span><span class="n">v</span><span class="p">:</span> <span class="n">k</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
+</span><span id="L-2094"><a href="#L-2094"><span class="linenos">2094</span></a>
+</span><span id="L-2095"><a href="#L-2095"><span class="linenos">2095</span></a> <span class="c1"># CREATE property locations</span>
+</span><span id="L-2096"><a href="#L-2096"><span class="linenos">2096</span></a> <span class="c1"># Form: schema specified</span>
+</span><span id="L-2097"><a href="#L-2097"><span class="linenos">2097</span></a> <span class="c1"># create [POST_CREATE]</span>
+</span><span id="L-2098"><a href="#L-2098"><span class="linenos">2098</span></a> <span class="c1"># table a [POST_NAME]</span>
+</span><span id="L-2099"><a href="#L-2099"><span class="linenos">2099</span></a> <span class="c1"># (b int) [POST_SCHEMA]</span>
+</span><span id="L-2100"><a href="#L-2100"><span class="linenos">2100</span></a> <span class="c1"># with ([POST_WITH])</span>
+</span><span id="L-2101"><a href="#L-2101"><span class="linenos">2101</span></a> <span class="c1"># index (b) [POST_INDEX]</span>
+</span><span id="L-2102"><a href="#L-2102"><span class="linenos">2102</span></a> <span class="c1">#</span>
+</span><span id="L-2103"><a href="#L-2103"><span class="linenos">2103</span></a> <span class="c1"># Form: alias selection</span>
+</span><span id="L-2104"><a href="#L-2104"><span class="linenos">2104</span></a> <span class="c1"># create [POST_CREATE]</span>
+</span><span id="L-2105"><a href="#L-2105"><span class="linenos">2105</span></a> <span class="c1"># table a [POST_NAME]</span>
+</span><span id="L-2106"><a href="#L-2106"><span class="linenos">2106</span></a> <span class="c1"># as [POST_ALIAS] (select * from b) [POST_EXPRESSION]</span>
+</span><span id="L-2107"><a href="#L-2107"><span class="linenos">2107</span></a> <span class="c1"># index (c) [POST_INDEX]</span>
+</span><span id="L-2108"><a href="#L-2108"><span class="linenos">2108</span></a> <span class="k">class</span> <span class="nc">Location</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
+</span><span id="L-2109"><a href="#L-2109"><span class="linenos">2109</span></a> <span class="n">POST_CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2110"><a href="#L-2110"><span class="linenos">2110</span></a> <span class="n">POST_NAME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2111"><a href="#L-2111"><span class="linenos">2111</span></a> <span class="n">POST_SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2112"><a href="#L-2112"><span class="linenos">2112</span></a> <span class="n">POST_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2113"><a href="#L-2113"><span class="linenos">2113</span></a> <span class="n">POST_ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2114"><a href="#L-2114"><span class="linenos">2114</span></a> <span class="n">POST_EXPRESSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2115"><a href="#L-2115"><span class="linenos">2115</span></a> <span class="n">POST_INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2116"><a href="#L-2116"><span class="linenos">2116</span></a> <span class="n">UNSUPPORTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-2117"><a href="#L-2117"><span class="linenos">2117</span></a>
+</span><span id="L-2118"><a href="#L-2118"><span class="linenos">2118</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-2119"><a href="#L-2119"><span class="linenos">2119</span></a> <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">properties_dict</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">-&gt;</span> <span class="n">Properties</span><span class="p">:</span>
+</span><span id="L-2120"><a href="#L-2120"><span class="linenos">2120</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-2121"><a href="#L-2121"><span class="linenos">2121</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">properties_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="L-2122"><a href="#L-2122"><span class="linenos">2122</span></a> <span class="n">property_cls</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="L-2123"><a href="#L-2123"><span class="linenos">2123</span></a> <span class="k">if</span> <span class="n">property_cls</span><span class="p">:</span>
+</span><span id="L-2124"><a href="#L-2124"><span class="linenos">2124</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">property_cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+</span><span id="L-2125"><a href="#L-2125"><span class="linenos">2125</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-2126"><a href="#L-2126"><span class="linenos">2126</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Property</span><span class="p">(</span><span class="n">this</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">key</span><span class="p">),</span> <span class="n">value</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+</span><span id="L-2127"><a href="#L-2127"><span class="linenos">2127</span></a>
+</span><span id="L-2128"><a href="#L-2128"><span class="linenos">2128</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">expressions</span><span class="p">)</span>
+</span><span id="L-2129"><a href="#L-2129"><span class="linenos">2129</span></a>
</span><span id="L-2130"><a href="#L-2130"><span class="linenos">2130</span></a>
-</span><span id="L-2131"><a href="#L-2131"><span class="linenos">2131</span></a>
-</span><span id="L-2132"><a href="#L-2132"><span class="linenos">2132</span></a><span class="k">class</span> <span class="nc">Reference</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2133"><a href="#L-2133"><span class="linenos">2133</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2131"><a href="#L-2131"><span class="linenos">2131</span></a><span class="k">class</span> <span class="nc">Qualify</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2132"><a href="#L-2132"><span class="linenos">2132</span></a> <span class="k">pass</span>
+</span><span id="L-2133"><a href="#L-2133"><span class="linenos">2133</span></a>
</span><span id="L-2134"><a href="#L-2134"><span class="linenos">2134</span></a>
-</span><span id="L-2135"><a href="#L-2135"><span class="linenos">2135</span></a>
-</span><span id="L-2136"><a href="#L-2136"><span class="linenos">2136</span></a><span class="k">class</span> <span class="nc">Tuple</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2137"><a href="#L-2137"><span class="linenos">2137</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2135"><a href="#L-2135"><span class="linenos">2135</span></a><span class="c1"># https://www.ibm.com/docs/en/ias?topic=procedures-return-statement-in-sql</span>
+</span><span id="L-2136"><a href="#L-2136"><span class="linenos">2136</span></a><span class="k">class</span> <span class="nc">Return</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2137"><a href="#L-2137"><span class="linenos">2137</span></a> <span class="k">pass</span>
</span><span id="L-2138"><a href="#L-2138"><span class="linenos">2138</span></a>
-</span><span id="L-2139"><a href="#L-2139"><span class="linenos">2139</span></a> <span class="k">def</span> <span class="nf">isin</span><span class="p">(</span>
-</span><span id="L-2140"><a href="#L-2140"><span class="linenos">2140</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">query</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2141"><a href="#L-2141"><span class="linenos">2141</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">In</span><span class="p">:</span>
-</span><span id="L-2142"><a href="#L-2142"><span class="linenos">2142</span></a> <span class="k">return</span> <span class="n">In</span><span class="p">(</span>
-</span><span id="L-2143"><a href="#L-2143"><span class="linenos">2143</span></a> <span class="n">this</span><span class="o">=</span><span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">),</span>
-</span><span id="L-2144"><a href="#L-2144"><span class="linenos">2144</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">],</span>
-</span><span id="L-2145"><a href="#L-2145"><span class="linenos">2145</span></a> <span class="n">query</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="k">if</span> <span class="n">query</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2146"><a href="#L-2146"><span class="linenos">2146</span></a> <span class="p">)</span>
-</span><span id="L-2147"><a href="#L-2147"><span class="linenos">2147</span></a>
-</span><span id="L-2148"><a href="#L-2148"><span class="linenos">2148</span></a>
-</span><span id="L-2149"><a href="#L-2149"><span class="linenos">2149</span></a><span class="k">class</span> <span class="nc">Subqueryable</span><span class="p">(</span><span class="n">Unionable</span><span class="p">):</span>
-</span><span id="L-2150"><a href="#L-2150"><span class="linenos">2150</span></a> <span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">alias</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subquery</span><span class="p">:</span>
-</span><span id="L-2151"><a href="#L-2151"><span class="linenos">2151</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2152"><a href="#L-2152"><span class="linenos">2152</span></a><span class="sd"> Convert this expression to an aliased expression that can be used as a Subquery.</span>
-</span><span id="L-2153"><a href="#L-2153"><span class="linenos">2153</span></a>
-</span><span id="L-2154"><a href="#L-2154"><span class="linenos">2154</span></a><span class="sd"> Example:</span>
-</span><span id="L-2155"><a href="#L-2155"><span class="linenos">2155</span></a><span class="sd"> &gt;&gt;&gt; subquery = Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).subquery()</span>
-</span><span id="L-2156"><a href="#L-2156"><span class="linenos">2156</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(subquery).sql()</span>
-</span><span id="L-2157"><a href="#L-2157"><span class="linenos">2157</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl)&#39;</span>
-</span><span id="L-2158"><a href="#L-2158"><span class="linenos">2158</span></a>
-</span><span id="L-2159"><a href="#L-2159"><span class="linenos">2159</span></a><span class="sd"> Args:</span>
-</span><span id="L-2160"><a href="#L-2160"><span class="linenos">2160</span></a><span class="sd"> alias (str | Identifier): an optional alias for the subquery</span>
-</span><span id="L-2161"><a href="#L-2161"><span class="linenos">2161</span></a><span class="sd"> copy (bool): if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2162"><a href="#L-2162"><span class="linenos">2162</span></a>
-</span><span id="L-2163"><a href="#L-2163"><span class="linenos">2163</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2164"><a href="#L-2164"><span class="linenos">2164</span></a><span class="sd"> Alias: the subquery</span>
-</span><span id="L-2165"><a href="#L-2165"><span class="linenos">2165</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2166"><a href="#L-2166"><span class="linenos">2166</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-2167"><a href="#L-2167"><span class="linenos">2167</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2168"><a href="#L-2168"><span class="linenos">2168</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span>
-</span><span id="L-2169"><a href="#L-2169"><span class="linenos">2169</span></a>
-</span><span id="L-2170"><a href="#L-2170"><span class="linenos">2170</span></a> <span class="k">return</span> <span class="n">Subquery</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="L-2171"><a href="#L-2171"><span class="linenos">2171</span></a>
-</span><span id="L-2172"><a href="#L-2172"><span class="linenos">2172</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="L-2173"><a href="#L-2173"><span class="linenos">2173</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2174"><a href="#L-2174"><span class="linenos">2174</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2175"><a href="#L-2175"><span class="linenos">2175</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span>
-</span><span id="L-2176"><a href="#L-2176"><span class="linenos">2176</span></a>
-</span><span id="L-2177"><a href="#L-2177"><span class="linenos">2177</span></a> <span class="nd">@property</span>
-</span><span id="L-2178"><a href="#L-2178"><span class="linenos">2178</span></a> <span class="k">def</span> <span class="nf">ctes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2179"><a href="#L-2179"><span class="linenos">2179</span></a> <span class="n">with_</span> <span class="o">=</span> <span class="bp">self</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">&quot;with&quot;</span><span class="p">)</span>
-</span><span id="L-2180"><a href="#L-2180"><span class="linenos">2180</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">with_</span><span class="p">:</span>
-</span><span id="L-2181"><a href="#L-2181"><span class="linenos">2181</span></a> <span class="k">return</span> <span class="p">[]</span>
-</span><span id="L-2182"><a href="#L-2182"><span class="linenos">2182</span></a> <span class="k">return</span> <span class="n">with_</span><span class="o">.</span><span class="n">expressions</span>
-</span><span id="L-2183"><a href="#L-2183"><span class="linenos">2183</span></a>
-</span><span id="L-2184"><a href="#L-2184"><span class="linenos">2184</span></a> <span class="nd">@property</span>
-</span><span id="L-2185"><a href="#L-2185"><span class="linenos">2185</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2186"><a href="#L-2186"><span class="linenos">2186</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `selects`&quot;</span><span class="p">)</span>
-</span><span id="L-2187"><a href="#L-2187"><span class="linenos">2187</span></a>
-</span><span id="L-2188"><a href="#L-2188"><span class="linenos">2188</span></a> <span class="nd">@property</span>
-</span><span id="L-2189"><a href="#L-2189"><span class="linenos">2189</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2190"><a href="#L-2190"><span class="linenos">2190</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `named_selects`&quot;</span><span class="p">)</span>
+</span><span id="L-2139"><a href="#L-2139"><span class="linenos">2139</span></a>
+</span><span id="L-2140"><a href="#L-2140"><span class="linenos">2140</span></a><span class="k">class</span> <span class="nc">Reference</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2141"><a href="#L-2141"><span class="linenos">2141</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2142"><a href="#L-2142"><span class="linenos">2142</span></a>
+</span><span id="L-2143"><a href="#L-2143"><span class="linenos">2143</span></a>
+</span><span id="L-2144"><a href="#L-2144"><span class="linenos">2144</span></a><span class="k">class</span> <span class="nc">Tuple</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2145"><a href="#L-2145"><span class="linenos">2145</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-2146"><a href="#L-2146"><span class="linenos">2146</span></a>
+</span><span id="L-2147"><a href="#L-2147"><span class="linenos">2147</span></a> <span class="k">def</span> <span class="nf">isin</span><span class="p">(</span>
+</span><span id="L-2148"><a href="#L-2148"><span class="linenos">2148</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">query</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2149"><a href="#L-2149"><span class="linenos">2149</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">In</span><span class="p">:</span>
+</span><span id="L-2150"><a href="#L-2150"><span class="linenos">2150</span></a> <span class="k">return</span> <span class="n">In</span><span class="p">(</span>
+</span><span id="L-2151"><a href="#L-2151"><span class="linenos">2151</span></a> <span class="n">this</span><span class="o">=</span><span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">),</span>
+</span><span id="L-2152"><a href="#L-2152"><span class="linenos">2152</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">],</span>
+</span><span id="L-2153"><a href="#L-2153"><span class="linenos">2153</span></a> <span class="n">query</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="k">if</span> <span class="n">query</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2154"><a href="#L-2154"><span class="linenos">2154</span></a> <span class="p">)</span>
+</span><span id="L-2155"><a href="#L-2155"><span class="linenos">2155</span></a>
+</span><span id="L-2156"><a href="#L-2156"><span class="linenos">2156</span></a>
+</span><span id="L-2157"><a href="#L-2157"><span class="linenos">2157</span></a><span class="k">class</span> <span class="nc">Subqueryable</span><span class="p">(</span><span class="n">Unionable</span><span class="p">):</span>
+</span><span id="L-2158"><a href="#L-2158"><span class="linenos">2158</span></a> <span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">alias</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subquery</span><span class="p">:</span>
+</span><span id="L-2159"><a href="#L-2159"><span class="linenos">2159</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2160"><a href="#L-2160"><span class="linenos">2160</span></a><span class="sd"> Convert this expression to an aliased expression that can be used as a Subquery.</span>
+</span><span id="L-2161"><a href="#L-2161"><span class="linenos">2161</span></a>
+</span><span id="L-2162"><a href="#L-2162"><span class="linenos">2162</span></a><span class="sd"> Example:</span>
+</span><span id="L-2163"><a href="#L-2163"><span class="linenos">2163</span></a><span class="sd"> &gt;&gt;&gt; subquery = Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).subquery()</span>
+</span><span id="L-2164"><a href="#L-2164"><span class="linenos">2164</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(subquery).sql()</span>
+</span><span id="L-2165"><a href="#L-2165"><span class="linenos">2165</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl)&#39;</span>
+</span><span id="L-2166"><a href="#L-2166"><span class="linenos">2166</span></a>
+</span><span id="L-2167"><a href="#L-2167"><span class="linenos">2167</span></a><span class="sd"> Args:</span>
+</span><span id="L-2168"><a href="#L-2168"><span class="linenos">2168</span></a><span class="sd"> alias (str | Identifier): an optional alias for the subquery</span>
+</span><span id="L-2169"><a href="#L-2169"><span class="linenos">2169</span></a><span class="sd"> copy (bool): if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2170"><a href="#L-2170"><span class="linenos">2170</span></a>
+</span><span id="L-2171"><a href="#L-2171"><span class="linenos">2171</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2172"><a href="#L-2172"><span class="linenos">2172</span></a><span class="sd"> Alias: the subquery</span>
+</span><span id="L-2173"><a href="#L-2173"><span class="linenos">2173</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2174"><a href="#L-2174"><span class="linenos">2174</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-2175"><a href="#L-2175"><span class="linenos">2175</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2176"><a href="#L-2176"><span class="linenos">2176</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span>
+</span><span id="L-2177"><a href="#L-2177"><span class="linenos">2177</span></a>
+</span><span id="L-2178"><a href="#L-2178"><span class="linenos">2178</span></a> <span class="k">return</span> <span class="n">Subquery</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="L-2179"><a href="#L-2179"><span class="linenos">2179</span></a>
+</span><span id="L-2180"><a href="#L-2180"><span class="linenos">2180</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="L-2181"><a href="#L-2181"><span class="linenos">2181</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2182"><a href="#L-2182"><span class="linenos">2182</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2183"><a href="#L-2183"><span class="linenos">2183</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span>
+</span><span id="L-2184"><a href="#L-2184"><span class="linenos">2184</span></a>
+</span><span id="L-2185"><a href="#L-2185"><span class="linenos">2185</span></a> <span class="nd">@property</span>
+</span><span id="L-2186"><a href="#L-2186"><span class="linenos">2186</span></a> <span class="k">def</span> <span class="nf">ctes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2187"><a href="#L-2187"><span class="linenos">2187</span></a> <span class="n">with_</span> <span class="o">=</span> <span class="bp">self</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">&quot;with&quot;</span><span class="p">)</span>
+</span><span id="L-2188"><a href="#L-2188"><span class="linenos">2188</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">with_</span><span class="p">:</span>
+</span><span id="L-2189"><a href="#L-2189"><span class="linenos">2189</span></a> <span class="k">return</span> <span class="p">[]</span>
+</span><span id="L-2190"><a href="#L-2190"><span class="linenos">2190</span></a> <span class="k">return</span> <span class="n">with_</span><span class="o">.</span><span class="n">expressions</span>
</span><span id="L-2191"><a href="#L-2191"><span class="linenos">2191</span></a>
-</span><span id="L-2192"><a href="#L-2192"><span class="linenos">2192</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
-</span><span id="L-2193"><a href="#L-2193"><span class="linenos">2193</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2194"><a href="#L-2194"><span class="linenos">2194</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-2195"><a href="#L-2195"><span class="linenos">2195</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-2196"><a href="#L-2196"><span class="linenos">2196</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2197"><a href="#L-2197"><span class="linenos">2197</span></a> <span class="n">append</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-2198"><a href="#L-2198"><span class="linenos">2198</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2199"><a href="#L-2199"><span class="linenos">2199</span></a> <span class="n">copy</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-2200"><a href="#L-2200"><span class="linenos">2200</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2201"><a href="#L-2201"><span class="linenos">2201</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subqueryable</span><span class="p">:</span>
-</span><span id="L-2202"><a href="#L-2202"><span class="linenos">2202</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2203"><a href="#L-2203"><span class="linenos">2203</span></a><span class="sd"> Append to or set the common table expressions.</span>
-</span><span id="L-2204"><a href="#L-2204"><span class="linenos">2204</span></a>
-</span><span id="L-2205"><a href="#L-2205"><span class="linenos">2205</span></a><span class="sd"> Example:</span>
-</span><span id="L-2206"><a href="#L-2206"><span class="linenos">2206</span></a><span class="sd"> &gt;&gt;&gt; Select().with_(&quot;tbl2&quot;, as_=&quot;SELECT * FROM tbl&quot;).select(&quot;x&quot;).from_(&quot;tbl2&quot;).sql()</span>
-</span><span id="L-2207"><a href="#L-2207"><span class="linenos">2207</span></a><span class="sd"> &#39;WITH tbl2 AS (SELECT * FROM tbl) SELECT x FROM tbl2&#39;</span>
-</span><span id="L-2208"><a href="#L-2208"><span class="linenos">2208</span></a>
-</span><span id="L-2209"><a href="#L-2209"><span class="linenos">2209</span></a><span class="sd"> Args:</span>
-</span><span id="L-2210"><a href="#L-2210"><span class="linenos">2210</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
-</span><span id="L-2211"><a href="#L-2211"><span class="linenos">2211</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
-</span><span id="L-2212"><a href="#L-2212"><span class="linenos">2212</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
-</span><span id="L-2213"><a href="#L-2213"><span class="linenos">2213</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2214"><a href="#L-2214"><span class="linenos">2214</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
-</span><span id="L-2215"><a href="#L-2215"><span class="linenos">2215</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2216"><a href="#L-2216"><span class="linenos">2216</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="L-2217"><a href="#L-2217"><span class="linenos">2217</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2218"><a href="#L-2218"><span class="linenos">2218</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2219"><a href="#L-2219"><span class="linenos">2219</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2220"><a href="#L-2220"><span class="linenos">2220</span></a>
-</span><span id="L-2221"><a href="#L-2221"><span class="linenos">2221</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2222"><a href="#L-2222"><span class="linenos">2222</span></a><span class="sd"> The modified expression.</span>
-</span><span id="L-2223"><a href="#L-2223"><span class="linenos">2223</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2224"><a href="#L-2224"><span class="linenos">2224</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="L-2225"><a href="#L-2225"><span class="linenos">2225</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2226"><a href="#L-2226"><span class="linenos">2226</span></a> <span class="p">)</span>
-</span><span id="L-2227"><a href="#L-2227"><span class="linenos">2227</span></a>
+</span><span id="L-2192"><a href="#L-2192"><span class="linenos">2192</span></a> <span class="nd">@property</span>
+</span><span id="L-2193"><a href="#L-2193"><span class="linenos">2193</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2194"><a href="#L-2194"><span class="linenos">2194</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `selects`&quot;</span><span class="p">)</span>
+</span><span id="L-2195"><a href="#L-2195"><span class="linenos">2195</span></a>
+</span><span id="L-2196"><a href="#L-2196"><span class="linenos">2196</span></a> <span class="nd">@property</span>
+</span><span id="L-2197"><a href="#L-2197"><span class="linenos">2197</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2198"><a href="#L-2198"><span class="linenos">2198</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `named_selects`&quot;</span><span class="p">)</span>
+</span><span id="L-2199"><a href="#L-2199"><span class="linenos">2199</span></a>
+</span><span id="L-2200"><a href="#L-2200"><span class="linenos">2200</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
+</span><span id="L-2201"><a href="#L-2201"><span class="linenos">2201</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2202"><a href="#L-2202"><span class="linenos">2202</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-2203"><a href="#L-2203"><span class="linenos">2203</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-2204"><a href="#L-2204"><span class="linenos">2204</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2205"><a href="#L-2205"><span class="linenos">2205</span></a> <span class="n">append</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-2206"><a href="#L-2206"><span class="linenos">2206</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2207"><a href="#L-2207"><span class="linenos">2207</span></a> <span class="n">copy</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-2208"><a href="#L-2208"><span class="linenos">2208</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2209"><a href="#L-2209"><span class="linenos">2209</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subqueryable</span><span class="p">:</span>
+</span><span id="L-2210"><a href="#L-2210"><span class="linenos">2210</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2211"><a href="#L-2211"><span class="linenos">2211</span></a><span class="sd"> Append to or set the common table expressions.</span>
+</span><span id="L-2212"><a href="#L-2212"><span class="linenos">2212</span></a>
+</span><span id="L-2213"><a href="#L-2213"><span class="linenos">2213</span></a><span class="sd"> Example:</span>
+</span><span id="L-2214"><a href="#L-2214"><span class="linenos">2214</span></a><span class="sd"> &gt;&gt;&gt; Select().with_(&quot;tbl2&quot;, as_=&quot;SELECT * FROM tbl&quot;).select(&quot;x&quot;).from_(&quot;tbl2&quot;).sql()</span>
+</span><span id="L-2215"><a href="#L-2215"><span class="linenos">2215</span></a><span class="sd"> &#39;WITH tbl2 AS (SELECT * FROM tbl) SELECT x FROM tbl2&#39;</span>
+</span><span id="L-2216"><a href="#L-2216"><span class="linenos">2216</span></a>
+</span><span id="L-2217"><a href="#L-2217"><span class="linenos">2217</span></a><span class="sd"> Args:</span>
+</span><span id="L-2218"><a href="#L-2218"><span class="linenos">2218</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
+</span><span id="L-2219"><a href="#L-2219"><span class="linenos">2219</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
+</span><span id="L-2220"><a href="#L-2220"><span class="linenos">2220</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
+</span><span id="L-2221"><a href="#L-2221"><span class="linenos">2221</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2222"><a href="#L-2222"><span class="linenos">2222</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
+</span><span id="L-2223"><a href="#L-2223"><span class="linenos">2223</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2224"><a href="#L-2224"><span class="linenos">2224</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="L-2225"><a href="#L-2225"><span class="linenos">2225</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2226"><a href="#L-2226"><span class="linenos">2226</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2227"><a href="#L-2227"><span class="linenos">2227</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
</span><span id="L-2228"><a href="#L-2228"><span class="linenos">2228</span></a>
-</span><span id="L-2229"><a href="#L-2229"><span class="linenos">2229</span></a><span class="n">QUERY_MODIFIERS</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2230"><a href="#L-2230"><span class="linenos">2230</span></a> <span class="s2">&quot;match&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2231"><a href="#L-2231"><span class="linenos">2231</span></a> <span class="s2">&quot;laterals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2232"><a href="#L-2232"><span class="linenos">2232</span></a> <span class="s2">&quot;joins&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2233"><a href="#L-2233"><span class="linenos">2233</span></a> <span class="s2">&quot;pivots&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2234"><a href="#L-2234"><span class="linenos">2234</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2235"><a href="#L-2235"><span class="linenos">2235</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2236"><a href="#L-2236"><span class="linenos">2236</span></a> <span class="s2">&quot;having&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2237"><a href="#L-2237"><span class="linenos">2237</span></a> <span class="s2">&quot;qualify&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2238"><a href="#L-2238"><span class="linenos">2238</span></a> <span class="s2">&quot;windows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2239"><a href="#L-2239"><span class="linenos">2239</span></a> <span class="s2">&quot;distribute&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2240"><a href="#L-2240"><span class="linenos">2240</span></a> <span class="s2">&quot;sort&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2241"><a href="#L-2241"><span class="linenos">2241</span></a> <span class="s2">&quot;cluster&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2242"><a href="#L-2242"><span class="linenos">2242</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2243"><a href="#L-2243"><span class="linenos">2243</span></a> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2244"><a href="#L-2244"><span class="linenos">2244</span></a> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2245"><a href="#L-2245"><span class="linenos">2245</span></a> <span class="s2">&quot;locks&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2246"><a href="#L-2246"><span class="linenos">2246</span></a> <span class="s2">&quot;sample&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2247"><a href="#L-2247"><span class="linenos">2247</span></a> <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2248"><a href="#L-2248"><span class="linenos">2248</span></a> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2249"><a href="#L-2249"><span class="linenos">2249</span></a><span class="p">}</span>
-</span><span id="L-2250"><a href="#L-2250"><span class="linenos">2250</span></a>
-</span><span id="L-2251"><a href="#L-2251"><span class="linenos">2251</span></a>
-</span><span id="L-2252"><a href="#L-2252"><span class="linenos">2252</span></a><span class="k">class</span> <span class="nc">Table</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2253"><a href="#L-2253"><span class="linenos">2253</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2254"><a href="#L-2254"><span class="linenos">2254</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2255"><a href="#L-2255"><span class="linenos">2255</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2256"><a href="#L-2256"><span class="linenos">2256</span></a> <span class="s2">&quot;db&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2257"><a href="#L-2257"><span class="linenos">2257</span></a> <span class="s2">&quot;catalog&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2258"><a href="#L-2258"><span class="linenos">2258</span></a> <span class="s2">&quot;laterals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2259"><a href="#L-2259"><span class="linenos">2259</span></a> <span class="s2">&quot;joins&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2260"><a href="#L-2260"><span class="linenos">2260</span></a> <span class="s2">&quot;pivots&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2261"><a href="#L-2261"><span class="linenos">2261</span></a> <span class="s2">&quot;hints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2262"><a href="#L-2262"><span class="linenos">2262</span></a> <span class="s2">&quot;system_time&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2263"><a href="#L-2263"><span class="linenos">2263</span></a> <span class="p">}</span>
+</span><span id="L-2229"><a href="#L-2229"><span class="linenos">2229</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2230"><a href="#L-2230"><span class="linenos">2230</span></a><span class="sd"> The modified expression.</span>
+</span><span id="L-2231"><a href="#L-2231"><span class="linenos">2231</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2232"><a href="#L-2232"><span class="linenos">2232</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="L-2233"><a href="#L-2233"><span class="linenos">2233</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2234"><a href="#L-2234"><span class="linenos">2234</span></a> <span class="p">)</span>
+</span><span id="L-2235"><a href="#L-2235"><span class="linenos">2235</span></a>
+</span><span id="L-2236"><a href="#L-2236"><span class="linenos">2236</span></a>
+</span><span id="L-2237"><a href="#L-2237"><span class="linenos">2237</span></a><span class="n">QUERY_MODIFIERS</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2238"><a href="#L-2238"><span class="linenos">2238</span></a> <span class="s2">&quot;match&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2239"><a href="#L-2239"><span class="linenos">2239</span></a> <span class="s2">&quot;laterals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2240"><a href="#L-2240"><span class="linenos">2240</span></a> <span class="s2">&quot;joins&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2241"><a href="#L-2241"><span class="linenos">2241</span></a> <span class="s2">&quot;pivots&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2242"><a href="#L-2242"><span class="linenos">2242</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2243"><a href="#L-2243"><span class="linenos">2243</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2244"><a href="#L-2244"><span class="linenos">2244</span></a> <span class="s2">&quot;having&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2245"><a href="#L-2245"><span class="linenos">2245</span></a> <span class="s2">&quot;qualify&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2246"><a href="#L-2246"><span class="linenos">2246</span></a> <span class="s2">&quot;windows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2247"><a href="#L-2247"><span class="linenos">2247</span></a> <span class="s2">&quot;distribute&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2248"><a href="#L-2248"><span class="linenos">2248</span></a> <span class="s2">&quot;sort&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2249"><a href="#L-2249"><span class="linenos">2249</span></a> <span class="s2">&quot;cluster&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2250"><a href="#L-2250"><span class="linenos">2250</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2251"><a href="#L-2251"><span class="linenos">2251</span></a> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2252"><a href="#L-2252"><span class="linenos">2252</span></a> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2253"><a href="#L-2253"><span class="linenos">2253</span></a> <span class="s2">&quot;locks&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2254"><a href="#L-2254"><span class="linenos">2254</span></a> <span class="s2">&quot;sample&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2255"><a href="#L-2255"><span class="linenos">2255</span></a> <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2256"><a href="#L-2256"><span class="linenos">2256</span></a> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2257"><a href="#L-2257"><span class="linenos">2257</span></a><span class="p">}</span>
+</span><span id="L-2258"><a href="#L-2258"><span class="linenos">2258</span></a>
+</span><span id="L-2259"><a href="#L-2259"><span class="linenos">2259</span></a>
+</span><span id="L-2260"><a href="#L-2260"><span class="linenos">2260</span></a><span class="c1"># https://learn.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-ver16</span>
+</span><span id="L-2261"><a href="#L-2261"><span class="linenos">2261</span></a><span class="k">class</span> <span class="nc">WithTableHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2262"><a href="#L-2262"><span class="linenos">2262</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-2263"><a href="#L-2263"><span class="linenos">2263</span></a>
</span><span id="L-2264"><a href="#L-2264"><span class="linenos">2264</span></a>
-</span><span id="L-2265"><a href="#L-2265"><span class="linenos">2265</span></a> <span class="nd">@property</span>
-</span><span id="L-2266"><a href="#L-2266"><span class="linenos">2266</span></a> <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-2267"><a href="#L-2267"><span class="linenos">2267</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">)</span>
+</span><span id="L-2265"><a href="#L-2265"><span class="linenos">2265</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/index-hints.html</span>
+</span><span id="L-2266"><a href="#L-2266"><span class="linenos">2266</span></a><span class="k">class</span> <span class="nc">IndexTableHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2267"><a href="#L-2267"><span class="linenos">2267</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2268"><a href="#L-2268"><span class="linenos">2268</span></a>
-</span><span id="L-2269"><a href="#L-2269"><span class="linenos">2269</span></a> <span class="nd">@property</span>
-</span><span id="L-2270"><a href="#L-2270"><span class="linenos">2270</span></a> <span class="k">def</span> <span class="nf">catalog</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-2271"><a href="#L-2271"><span class="linenos">2271</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">)</span>
-</span><span id="L-2272"><a href="#L-2272"><span class="linenos">2272</span></a>
-</span><span id="L-2273"><a href="#L-2273"><span class="linenos">2273</span></a> <span class="nd">@property</span>
-</span><span id="L-2274"><a href="#L-2274"><span class="linenos">2274</span></a> <span class="k">def</span> <span class="nf">parts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Identifier</span><span class="p">]:</span>
-</span><span id="L-2275"><a href="#L-2275"><span class="linenos">2275</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the parts of a table in order catalog, db, table.&quot;&quot;&quot;</span>
-</span><span id="L-2276"><a href="#L-2276"><span class="linenos">2276</span></a> <span class="k">return</span> <span class="p">[</span>
-</span><span id="L-2277"><a href="#L-2277"><span class="linenos">2277</span></a> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Identifier</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">part</span><span class="p">])</span>
-</span><span id="L-2278"><a href="#L-2278"><span class="linenos">2278</span></a> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">)</span>
-</span><span id="L-2279"><a href="#L-2279"><span class="linenos">2279</span></a> <span class="k">if</span> <span class="bp">self</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="n">part</span><span class="p">)</span>
-</span><span id="L-2280"><a href="#L-2280"><span class="linenos">2280</span></a> <span class="p">]</span>
-</span><span id="L-2281"><a href="#L-2281"><span class="linenos">2281</span></a>
+</span><span id="L-2269"><a href="#L-2269"><span class="linenos">2269</span></a>
+</span><span id="L-2270"><a href="#L-2270"><span class="linenos">2270</span></a><span class="k">class</span> <span class="nc">Table</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2271"><a href="#L-2271"><span class="linenos">2271</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2272"><a href="#L-2272"><span class="linenos">2272</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2273"><a href="#L-2273"><span class="linenos">2273</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2274"><a href="#L-2274"><span class="linenos">2274</span></a> <span class="s2">&quot;db&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2275"><a href="#L-2275"><span class="linenos">2275</span></a> <span class="s2">&quot;catalog&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2276"><a href="#L-2276"><span class="linenos">2276</span></a> <span class="s2">&quot;laterals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2277"><a href="#L-2277"><span class="linenos">2277</span></a> <span class="s2">&quot;joins&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2278"><a href="#L-2278"><span class="linenos">2278</span></a> <span class="s2">&quot;pivots&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2279"><a href="#L-2279"><span class="linenos">2279</span></a> <span class="s2">&quot;hints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2280"><a href="#L-2280"><span class="linenos">2280</span></a> <span class="s2">&quot;system_time&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2281"><a href="#L-2281"><span class="linenos">2281</span></a> <span class="p">}</span>
</span><span id="L-2282"><a href="#L-2282"><span class="linenos">2282</span></a>
-</span><span id="L-2283"><a href="#L-2283"><span class="linenos">2283</span></a><span class="c1"># See the TSQL &quot;Querying data in a system-versioned temporal table&quot; page</span>
-</span><span id="L-2284"><a href="#L-2284"><span class="linenos">2284</span></a><span class="k">class</span> <span class="nc">SystemTime</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2285"><a href="#L-2285"><span class="linenos">2285</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2286"><a href="#L-2286"><span class="linenos">2286</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2287"><a href="#L-2287"><span class="linenos">2287</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2288"><a href="#L-2288"><span class="linenos">2288</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2289"><a href="#L-2289"><span class="linenos">2289</span></a> <span class="p">}</span>
+</span><span id="L-2283"><a href="#L-2283"><span class="linenos">2283</span></a> <span class="nd">@property</span>
+</span><span id="L-2284"><a href="#L-2284"><span class="linenos">2284</span></a> <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-2285"><a href="#L-2285"><span class="linenos">2285</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">)</span>
+</span><span id="L-2286"><a href="#L-2286"><span class="linenos">2286</span></a>
+</span><span id="L-2287"><a href="#L-2287"><span class="linenos">2287</span></a> <span class="nd">@property</span>
+</span><span id="L-2288"><a href="#L-2288"><span class="linenos">2288</span></a> <span class="k">def</span> <span class="nf">catalog</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-2289"><a href="#L-2289"><span class="linenos">2289</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">)</span>
</span><span id="L-2290"><a href="#L-2290"><span class="linenos">2290</span></a>
-</span><span id="L-2291"><a href="#L-2291"><span class="linenos">2291</span></a>
-</span><span id="L-2292"><a href="#L-2292"><span class="linenos">2292</span></a><span class="k">class</span> <span class="nc">Union</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
-</span><span id="L-2293"><a href="#L-2293"><span class="linenos">2293</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2294"><a href="#L-2294"><span class="linenos">2294</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2295"><a href="#L-2295"><span class="linenos">2295</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2296"><a href="#L-2296"><span class="linenos">2296</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2297"><a href="#L-2297"><span class="linenos">2297</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2298"><a href="#L-2298"><span class="linenos">2298</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
-</span><span id="L-2299"><a href="#L-2299"><span class="linenos">2299</span></a> <span class="p">}</span>
+</span><span id="L-2291"><a href="#L-2291"><span class="linenos">2291</span></a> <span class="nd">@property</span>
+</span><span id="L-2292"><a href="#L-2292"><span class="linenos">2292</span></a> <span class="k">def</span> <span class="nf">parts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Identifier</span><span class="p">]:</span>
+</span><span id="L-2293"><a href="#L-2293"><span class="linenos">2293</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the parts of a table in order catalog, db, table.&quot;&quot;&quot;</span>
+</span><span id="L-2294"><a href="#L-2294"><span class="linenos">2294</span></a> <span class="k">return</span> <span class="p">[</span>
+</span><span id="L-2295"><a href="#L-2295"><span class="linenos">2295</span></a> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Identifier</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">part</span><span class="p">])</span>
+</span><span id="L-2296"><a href="#L-2296"><span class="linenos">2296</span></a> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">)</span>
+</span><span id="L-2297"><a href="#L-2297"><span class="linenos">2297</span></a> <span class="k">if</span> <span class="bp">self</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="n">part</span><span class="p">)</span>
+</span><span id="L-2298"><a href="#L-2298"><span class="linenos">2298</span></a> <span class="p">]</span>
+</span><span id="L-2299"><a href="#L-2299"><span class="linenos">2299</span></a>
</span><span id="L-2300"><a href="#L-2300"><span class="linenos">2300</span></a>
-</span><span id="L-2301"><a href="#L-2301"><span class="linenos">2301</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="L-2302"><a href="#L-2302"><span class="linenos">2302</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2303"><a href="#L-2303"><span class="linenos">2303</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2304"><a href="#L-2304"><span class="linenos">2304</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2305"><a href="#L-2305"><span class="linenos">2305</span></a><span class="sd"> Set the LIMIT expression.</span>
-</span><span id="L-2306"><a href="#L-2306"><span class="linenos">2306</span></a>
-</span><span id="L-2307"><a href="#L-2307"><span class="linenos">2307</span></a><span class="sd"> Example:</span>
-</span><span id="L-2308"><a href="#L-2308"><span class="linenos">2308</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;1&quot;).union(select(&quot;1&quot;)).limit(1).sql()</span>
-</span><span id="L-2309"><a href="#L-2309"><span class="linenos">2309</span></a><span class="sd"> &#39;SELECT * FROM (SELECT 1 UNION SELECT 1) AS _l_0 LIMIT 1&#39;</span>
-</span><span id="L-2310"><a href="#L-2310"><span class="linenos">2310</span></a>
-</span><span id="L-2311"><a href="#L-2311"><span class="linenos">2311</span></a><span class="sd"> Args:</span>
-</span><span id="L-2312"><a href="#L-2312"><span class="linenos">2312</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="L-2313"><a href="#L-2313"><span class="linenos">2313</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="L-2314"><a href="#L-2314"><span class="linenos">2314</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
-</span><span id="L-2315"><a href="#L-2315"><span class="linenos">2315</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
-</span><span id="L-2316"><a href="#L-2316"><span class="linenos">2316</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2317"><a href="#L-2317"><span class="linenos">2317</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2318"><a href="#L-2318"><span class="linenos">2318</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2319"><a href="#L-2319"><span class="linenos">2319</span></a>
-</span><span id="L-2320"><a href="#L-2320"><span class="linenos">2320</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2321"><a href="#L-2321"><span class="linenos">2321</span></a><span class="sd"> The limited subqueryable.</span>
-</span><span id="L-2322"><a href="#L-2322"><span class="linenos">2322</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2323"><a href="#L-2323"><span class="linenos">2323</span></a> <span class="k">return</span> <span class="p">(</span>
-</span><span id="L-2324"><a href="#L-2324"><span class="linenos">2324</span></a> <span class="n">select</span><span class="p">(</span><span class="s2">&quot;*&quot;</span><span class="p">)</span>
-</span><span id="L-2325"><a href="#L-2325"><span class="linenos">2325</span></a> <span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="o">=</span><span class="s2">&quot;_l_0&quot;</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
-</span><span id="L-2326"><a href="#L-2326"><span class="linenos">2326</span></a> <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-2327"><a href="#L-2327"><span class="linenos">2327</span></a> <span class="p">)</span>
+</span><span id="L-2301"><a href="#L-2301"><span class="linenos">2301</span></a><span class="c1"># See the TSQL &quot;Querying data in a system-versioned temporal table&quot; page</span>
+</span><span id="L-2302"><a href="#L-2302"><span class="linenos">2302</span></a><span class="k">class</span> <span class="nc">SystemTime</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2303"><a href="#L-2303"><span class="linenos">2303</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2304"><a href="#L-2304"><span class="linenos">2304</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2305"><a href="#L-2305"><span class="linenos">2305</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2306"><a href="#L-2306"><span class="linenos">2306</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2307"><a href="#L-2307"><span class="linenos">2307</span></a> <span class="p">}</span>
+</span><span id="L-2308"><a href="#L-2308"><span class="linenos">2308</span></a>
+</span><span id="L-2309"><a href="#L-2309"><span class="linenos">2309</span></a>
+</span><span id="L-2310"><a href="#L-2310"><span class="linenos">2310</span></a><span class="k">class</span> <span class="nc">Union</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
+</span><span id="L-2311"><a href="#L-2311"><span class="linenos">2311</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2312"><a href="#L-2312"><span class="linenos">2312</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2313"><a href="#L-2313"><span class="linenos">2313</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2314"><a href="#L-2314"><span class="linenos">2314</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2315"><a href="#L-2315"><span class="linenos">2315</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2316"><a href="#L-2316"><span class="linenos">2316</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
+</span><span id="L-2317"><a href="#L-2317"><span class="linenos">2317</span></a> <span class="p">}</span>
+</span><span id="L-2318"><a href="#L-2318"><span class="linenos">2318</span></a>
+</span><span id="L-2319"><a href="#L-2319"><span class="linenos">2319</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="L-2320"><a href="#L-2320"><span class="linenos">2320</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2321"><a href="#L-2321"><span class="linenos">2321</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2322"><a href="#L-2322"><span class="linenos">2322</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2323"><a href="#L-2323"><span class="linenos">2323</span></a><span class="sd"> Set the LIMIT expression.</span>
+</span><span id="L-2324"><a href="#L-2324"><span class="linenos">2324</span></a>
+</span><span id="L-2325"><a href="#L-2325"><span class="linenos">2325</span></a><span class="sd"> Example:</span>
+</span><span id="L-2326"><a href="#L-2326"><span class="linenos">2326</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;1&quot;).union(select(&quot;1&quot;)).limit(1).sql()</span>
+</span><span id="L-2327"><a href="#L-2327"><span class="linenos">2327</span></a><span class="sd"> &#39;SELECT * FROM (SELECT 1 UNION SELECT 1) AS _l_0 LIMIT 1&#39;</span>
</span><span id="L-2328"><a href="#L-2328"><span class="linenos">2328</span></a>
-</span><span id="L-2329"><a href="#L-2329"><span class="linenos">2329</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
-</span><span id="L-2330"><a href="#L-2330"><span class="linenos">2330</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2331"><a href="#L-2331"><span class="linenos">2331</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2332"><a href="#L-2332"><span class="linenos">2332</span></a> <span class="n">append</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-2333"><a href="#L-2333"><span class="linenos">2333</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2334"><a href="#L-2334"><span class="linenos">2334</span></a> <span class="n">copy</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-2335"><a href="#L-2335"><span class="linenos">2335</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2336"><a href="#L-2336"><span class="linenos">2336</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
-</span><span id="L-2337"><a href="#L-2337"><span class="linenos">2337</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Append to or set the SELECT of the union recursively.</span>
-</span><span id="L-2338"><a href="#L-2338"><span class="linenos">2338</span></a>
-</span><span id="L-2339"><a href="#L-2339"><span class="linenos">2339</span></a><span class="sd"> Example:</span>
-</span><span id="L-2340"><a href="#L-2340"><span class="linenos">2340</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
-</span><span id="L-2341"><a href="#L-2341"><span class="linenos">2341</span></a><span class="sd"> &gt;&gt;&gt; parse_one(&quot;select a from x union select a from y union select a from z&quot;).select(&quot;b&quot;).sql()</span>
-</span><span id="L-2342"><a href="#L-2342"><span class="linenos">2342</span></a><span class="sd"> &#39;SELECT a, b FROM x UNION SELECT a, b FROM y UNION SELECT a, b FROM z&#39;</span>
-</span><span id="L-2343"><a href="#L-2343"><span class="linenos">2343</span></a>
-</span><span id="L-2344"><a href="#L-2344"><span class="linenos">2344</span></a><span class="sd"> Args:</span>
-</span><span id="L-2345"><a href="#L-2345"><span class="linenos">2345</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2346"><a href="#L-2346"><span class="linenos">2346</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2347"><a href="#L-2347"><span class="linenos">2347</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2348"><a href="#L-2348"><span class="linenos">2348</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="L-2349"><a href="#L-2349"><span class="linenos">2349</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-2350"><a href="#L-2350"><span class="linenos">2350</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2351"><a href="#L-2351"><span class="linenos">2351</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2352"><a href="#L-2352"><span class="linenos">2352</span></a>
-</span><span id="L-2353"><a href="#L-2353"><span class="linenos">2353</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2354"><a href="#L-2354"><span class="linenos">2354</span></a><span class="sd"> Union: the modified expression.</span>
-</span><span id="L-2355"><a href="#L-2355"><span class="linenos">2355</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2356"><a href="#L-2356"><span class="linenos">2356</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span>
-</span><span id="L-2357"><a href="#L-2357"><span class="linenos">2357</span></a> <span class="n">this</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-2358"><a href="#L-2358"><span class="linenos">2358</span></a> <span class="n">this</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span>
-</span><span id="L-2359"><a href="#L-2359"><span class="linenos">2359</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2360"><a href="#L-2360"><span class="linenos">2360</span></a> <span class="p">)</span>
-</span><span id="L-2361"><a href="#L-2361"><span class="linenos">2361</span></a> <span class="k">return</span> <span class="n">this</span>
-</span><span id="L-2362"><a href="#L-2362"><span class="linenos">2362</span></a>
-</span><span id="L-2363"><a href="#L-2363"><span class="linenos">2363</span></a> <span class="nd">@property</span>
-</span><span id="L-2364"><a href="#L-2364"><span class="linenos">2364</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2365"><a href="#L-2365"><span class="linenos">2365</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">named_selects</span>
-</span><span id="L-2366"><a href="#L-2366"><span class="linenos">2366</span></a>
-</span><span id="L-2367"><a href="#L-2367"><span class="linenos">2367</span></a> <span class="nd">@property</span>
-</span><span id="L-2368"><a href="#L-2368"><span class="linenos">2368</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-2369"><a href="#L-2369"><span class="linenos">2369</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span>
+</span><span id="L-2329"><a href="#L-2329"><span class="linenos">2329</span></a><span class="sd"> Args:</span>
+</span><span id="L-2330"><a href="#L-2330"><span class="linenos">2330</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="L-2331"><a href="#L-2331"><span class="linenos">2331</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="L-2332"><a href="#L-2332"><span class="linenos">2332</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
+</span><span id="L-2333"><a href="#L-2333"><span class="linenos">2333</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
+</span><span id="L-2334"><a href="#L-2334"><span class="linenos">2334</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2335"><a href="#L-2335"><span class="linenos">2335</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2336"><a href="#L-2336"><span class="linenos">2336</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2337"><a href="#L-2337"><span class="linenos">2337</span></a>
+</span><span id="L-2338"><a href="#L-2338"><span class="linenos">2338</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2339"><a href="#L-2339"><span class="linenos">2339</span></a><span class="sd"> The limited subqueryable.</span>
+</span><span id="L-2340"><a href="#L-2340"><span class="linenos">2340</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2341"><a href="#L-2341"><span class="linenos">2341</span></a> <span class="k">return</span> <span class="p">(</span>
+</span><span id="L-2342"><a href="#L-2342"><span class="linenos">2342</span></a> <span class="n">select</span><span class="p">(</span><span class="s2">&quot;*&quot;</span><span class="p">)</span>
+</span><span id="L-2343"><a href="#L-2343"><span class="linenos">2343</span></a> <span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="o">=</span><span class="s2">&quot;_l_0&quot;</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
+</span><span id="L-2344"><a href="#L-2344"><span class="linenos">2344</span></a> <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-2345"><a href="#L-2345"><span class="linenos">2345</span></a> <span class="p">)</span>
+</span><span id="L-2346"><a href="#L-2346"><span class="linenos">2346</span></a>
+</span><span id="L-2347"><a href="#L-2347"><span class="linenos">2347</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
+</span><span id="L-2348"><a href="#L-2348"><span class="linenos">2348</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2349"><a href="#L-2349"><span class="linenos">2349</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2350"><a href="#L-2350"><span class="linenos">2350</span></a> <span class="n">append</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-2351"><a href="#L-2351"><span class="linenos">2351</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2352"><a href="#L-2352"><span class="linenos">2352</span></a> <span class="n">copy</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-2353"><a href="#L-2353"><span class="linenos">2353</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2354"><a href="#L-2354"><span class="linenos">2354</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
+</span><span id="L-2355"><a href="#L-2355"><span class="linenos">2355</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Append to or set the SELECT of the union recursively.</span>
+</span><span id="L-2356"><a href="#L-2356"><span class="linenos">2356</span></a>
+</span><span id="L-2357"><a href="#L-2357"><span class="linenos">2357</span></a><span class="sd"> Example:</span>
+</span><span id="L-2358"><a href="#L-2358"><span class="linenos">2358</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
+</span><span id="L-2359"><a href="#L-2359"><span class="linenos">2359</span></a><span class="sd"> &gt;&gt;&gt; parse_one(&quot;select a from x union select a from y union select a from z&quot;).select(&quot;b&quot;).sql()</span>
+</span><span id="L-2360"><a href="#L-2360"><span class="linenos">2360</span></a><span class="sd"> &#39;SELECT a, b FROM x UNION SELECT a, b FROM y UNION SELECT a, b FROM z&#39;</span>
+</span><span id="L-2361"><a href="#L-2361"><span class="linenos">2361</span></a>
+</span><span id="L-2362"><a href="#L-2362"><span class="linenos">2362</span></a><span class="sd"> Args:</span>
+</span><span id="L-2363"><a href="#L-2363"><span class="linenos">2363</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2364"><a href="#L-2364"><span class="linenos">2364</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2365"><a href="#L-2365"><span class="linenos">2365</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2366"><a href="#L-2366"><span class="linenos">2366</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="L-2367"><a href="#L-2367"><span class="linenos">2367</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-2368"><a href="#L-2368"><span class="linenos">2368</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2369"><a href="#L-2369"><span class="linenos">2369</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
</span><span id="L-2370"><a href="#L-2370"><span class="linenos">2370</span></a>
-</span><span id="L-2371"><a href="#L-2371"><span class="linenos">2371</span></a> <span class="nd">@property</span>
-</span><span id="L-2372"><a href="#L-2372"><span class="linenos">2372</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2373"><a href="#L-2373"><span class="linenos">2373</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">selects</span>
-</span><span id="L-2374"><a href="#L-2374"><span class="linenos">2374</span></a>
-</span><span id="L-2375"><a href="#L-2375"><span class="linenos">2375</span></a> <span class="nd">@property</span>
-</span><span id="L-2376"><a href="#L-2376"><span class="linenos">2376</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2377"><a href="#L-2377"><span class="linenos">2377</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
-</span><span id="L-2378"><a href="#L-2378"><span class="linenos">2378</span></a>
-</span><span id="L-2379"><a href="#L-2379"><span class="linenos">2379</span></a> <span class="nd">@property</span>
-</span><span id="L-2380"><a href="#L-2380"><span class="linenos">2380</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-2381"><a href="#L-2381"><span class="linenos">2381</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
-</span><span id="L-2382"><a href="#L-2382"><span class="linenos">2382</span></a>
-</span><span id="L-2383"><a href="#L-2383"><span class="linenos">2383</span></a>
-</span><span id="L-2384"><a href="#L-2384"><span class="linenos">2384</span></a><span class="k">class</span> <span class="nc">Except</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
-</span><span id="L-2385"><a href="#L-2385"><span class="linenos">2385</span></a> <span class="k">pass</span>
-</span><span id="L-2386"><a href="#L-2386"><span class="linenos">2386</span></a>
-</span><span id="L-2387"><a href="#L-2387"><span class="linenos">2387</span></a>
-</span><span id="L-2388"><a href="#L-2388"><span class="linenos">2388</span></a><span class="k">class</span> <span class="nc">Intersect</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
-</span><span id="L-2389"><a href="#L-2389"><span class="linenos">2389</span></a> <span class="k">pass</span>
-</span><span id="L-2390"><a href="#L-2390"><span class="linenos">2390</span></a>
-</span><span id="L-2391"><a href="#L-2391"><span class="linenos">2391</span></a>
-</span><span id="L-2392"><a href="#L-2392"><span class="linenos">2392</span></a><span class="k">class</span> <span class="nc">Unnest</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
-</span><span id="L-2393"><a href="#L-2393"><span class="linenos">2393</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2394"><a href="#L-2394"><span class="linenos">2394</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2395"><a href="#L-2395"><span class="linenos">2395</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2396"><a href="#L-2396"><span class="linenos">2396</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2397"><a href="#L-2397"><span class="linenos">2397</span></a> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2398"><a href="#L-2398"><span class="linenos">2398</span></a> <span class="p">}</span>
-</span><span id="L-2399"><a href="#L-2399"><span class="linenos">2399</span></a>
+</span><span id="L-2371"><a href="#L-2371"><span class="linenos">2371</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2372"><a href="#L-2372"><span class="linenos">2372</span></a><span class="sd"> Union: the modified expression.</span>
+</span><span id="L-2373"><a href="#L-2373"><span class="linenos">2373</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2374"><a href="#L-2374"><span class="linenos">2374</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span>
+</span><span id="L-2375"><a href="#L-2375"><span class="linenos">2375</span></a> <span class="n">this</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-2376"><a href="#L-2376"><span class="linenos">2376</span></a> <span class="n">this</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span>
+</span><span id="L-2377"><a href="#L-2377"><span class="linenos">2377</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2378"><a href="#L-2378"><span class="linenos">2378</span></a> <span class="p">)</span>
+</span><span id="L-2379"><a href="#L-2379"><span class="linenos">2379</span></a> <span class="k">return</span> <span class="n">this</span>
+</span><span id="L-2380"><a href="#L-2380"><span class="linenos">2380</span></a>
+</span><span id="L-2381"><a href="#L-2381"><span class="linenos">2381</span></a> <span class="nd">@property</span>
+</span><span id="L-2382"><a href="#L-2382"><span class="linenos">2382</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2383"><a href="#L-2383"><span class="linenos">2383</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">named_selects</span>
+</span><span id="L-2384"><a href="#L-2384"><span class="linenos">2384</span></a>
+</span><span id="L-2385"><a href="#L-2385"><span class="linenos">2385</span></a> <span class="nd">@property</span>
+</span><span id="L-2386"><a href="#L-2386"><span class="linenos">2386</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-2387"><a href="#L-2387"><span class="linenos">2387</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span>
+</span><span id="L-2388"><a href="#L-2388"><span class="linenos">2388</span></a>
+</span><span id="L-2389"><a href="#L-2389"><span class="linenos">2389</span></a> <span class="nd">@property</span>
+</span><span id="L-2390"><a href="#L-2390"><span class="linenos">2390</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2391"><a href="#L-2391"><span class="linenos">2391</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">selects</span>
+</span><span id="L-2392"><a href="#L-2392"><span class="linenos">2392</span></a>
+</span><span id="L-2393"><a href="#L-2393"><span class="linenos">2393</span></a> <span class="nd">@property</span>
+</span><span id="L-2394"><a href="#L-2394"><span class="linenos">2394</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2395"><a href="#L-2395"><span class="linenos">2395</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
+</span><span id="L-2396"><a href="#L-2396"><span class="linenos">2396</span></a>
+</span><span id="L-2397"><a href="#L-2397"><span class="linenos">2397</span></a> <span class="nd">@property</span>
+</span><span id="L-2398"><a href="#L-2398"><span class="linenos">2398</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-2399"><a href="#L-2399"><span class="linenos">2399</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
</span><span id="L-2400"><a href="#L-2400"><span class="linenos">2400</span></a>
-</span><span id="L-2401"><a href="#L-2401"><span class="linenos">2401</span></a><span class="k">class</span> <span class="nc">Update</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2402"><a href="#L-2402"><span class="linenos">2402</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2403"><a href="#L-2403"><span class="linenos">2403</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2404"><a href="#L-2404"><span class="linenos">2404</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2405"><a href="#L-2405"><span class="linenos">2405</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2406"><a href="#L-2406"><span class="linenos">2406</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2407"><a href="#L-2407"><span class="linenos">2407</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2408"><a href="#L-2408"><span class="linenos">2408</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2409"><a href="#L-2409"><span class="linenos">2409</span></a> <span class="p">}</span>
-</span><span id="L-2410"><a href="#L-2410"><span class="linenos">2410</span></a>
-</span><span id="L-2411"><a href="#L-2411"><span class="linenos">2411</span></a>
-</span><span id="L-2412"><a href="#L-2412"><span class="linenos">2412</span></a><span class="k">class</span> <span class="nc">Values</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
-</span><span id="L-2413"><a href="#L-2413"><span class="linenos">2413</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2414"><a href="#L-2414"><span class="linenos">2414</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-2415"><a href="#L-2415"><span class="linenos">2415</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2416"><a href="#L-2416"><span class="linenos">2416</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2417"><a href="#L-2417"><span class="linenos">2417</span></a> <span class="p">}</span>
+</span><span id="L-2401"><a href="#L-2401"><span class="linenos">2401</span></a>
+</span><span id="L-2402"><a href="#L-2402"><span class="linenos">2402</span></a><span class="k">class</span> <span class="nc">Except</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
+</span><span id="L-2403"><a href="#L-2403"><span class="linenos">2403</span></a> <span class="k">pass</span>
+</span><span id="L-2404"><a href="#L-2404"><span class="linenos">2404</span></a>
+</span><span id="L-2405"><a href="#L-2405"><span class="linenos">2405</span></a>
+</span><span id="L-2406"><a href="#L-2406"><span class="linenos">2406</span></a><span class="k">class</span> <span class="nc">Intersect</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
+</span><span id="L-2407"><a href="#L-2407"><span class="linenos">2407</span></a> <span class="k">pass</span>
+</span><span id="L-2408"><a href="#L-2408"><span class="linenos">2408</span></a>
+</span><span id="L-2409"><a href="#L-2409"><span class="linenos">2409</span></a>
+</span><span id="L-2410"><a href="#L-2410"><span class="linenos">2410</span></a><span class="k">class</span> <span class="nc">Unnest</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
+</span><span id="L-2411"><a href="#L-2411"><span class="linenos">2411</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2412"><a href="#L-2412"><span class="linenos">2412</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2413"><a href="#L-2413"><span class="linenos">2413</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2414"><a href="#L-2414"><span class="linenos">2414</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2415"><a href="#L-2415"><span class="linenos">2415</span></a> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2416"><a href="#L-2416"><span class="linenos">2416</span></a> <span class="p">}</span>
+</span><span id="L-2417"><a href="#L-2417"><span class="linenos">2417</span></a>
</span><span id="L-2418"><a href="#L-2418"><span class="linenos">2418</span></a>
-</span><span id="L-2419"><a href="#L-2419"><span class="linenos">2419</span></a>
-</span><span id="L-2420"><a href="#L-2420"><span class="linenos">2420</span></a><span class="k">class</span> <span class="nc">Var</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2421"><a href="#L-2421"><span class="linenos">2421</span></a> <span class="k">pass</span>
-</span><span id="L-2422"><a href="#L-2422"><span class="linenos">2422</span></a>
-</span><span id="L-2423"><a href="#L-2423"><span class="linenos">2423</span></a>
-</span><span id="L-2424"><a href="#L-2424"><span class="linenos">2424</span></a><span class="k">class</span> <span class="nc">Schema</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2425"><a href="#L-2425"><span class="linenos">2425</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-2426"><a href="#L-2426"><span class="linenos">2426</span></a>
-</span><span id="L-2427"><a href="#L-2427"><span class="linenos">2427</span></a>
-</span><span id="L-2428"><a href="#L-2428"><span class="linenos">2428</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/select.html</span>
-</span><span id="L-2429"><a href="#L-2429"><span class="linenos">2429</span></a><span class="c1"># https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html</span>
-</span><span id="L-2430"><a href="#L-2430"><span class="linenos">2430</span></a><span class="k">class</span> <span class="nc">Lock</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-2431"><a href="#L-2431"><span class="linenos">2431</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;wait&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-2432"><a href="#L-2432"><span class="linenos">2432</span></a>
-</span><span id="L-2433"><a href="#L-2433"><span class="linenos">2433</span></a>
-</span><span id="L-2434"><a href="#L-2434"><span class="linenos">2434</span></a><span class="k">class</span> <span class="nc">Select</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
-</span><span id="L-2435"><a href="#L-2435"><span class="linenos">2435</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-2436"><a href="#L-2436"><span class="linenos">2436</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2437"><a href="#L-2437"><span class="linenos">2437</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2438"><a href="#L-2438"><span class="linenos">2438</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2439"><a href="#L-2439"><span class="linenos">2439</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2440"><a href="#L-2440"><span class="linenos">2440</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2441"><a href="#L-2441"><span class="linenos">2441</span></a> <span class="s2">&quot;into&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2442"><a href="#L-2442"><span class="linenos">2442</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-2443"><a href="#L-2443"><span class="linenos">2443</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
-</span><span id="L-2444"><a href="#L-2444"><span class="linenos">2444</span></a> <span class="p">}</span>
+</span><span id="L-2419"><a href="#L-2419"><span class="linenos">2419</span></a><span class="k">class</span> <span class="nc">Update</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2420"><a href="#L-2420"><span class="linenos">2420</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2421"><a href="#L-2421"><span class="linenos">2421</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2422"><a href="#L-2422"><span class="linenos">2422</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2423"><a href="#L-2423"><span class="linenos">2423</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2424"><a href="#L-2424"><span class="linenos">2424</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2425"><a href="#L-2425"><span class="linenos">2425</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2426"><a href="#L-2426"><span class="linenos">2426</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2427"><a href="#L-2427"><span class="linenos">2427</span></a> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2428"><a href="#L-2428"><span class="linenos">2428</span></a> <span class="p">}</span>
+</span><span id="L-2429"><a href="#L-2429"><span class="linenos">2429</span></a>
+</span><span id="L-2430"><a href="#L-2430"><span class="linenos">2430</span></a>
+</span><span id="L-2431"><a href="#L-2431"><span class="linenos">2431</span></a><span class="k">class</span> <span class="nc">Values</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
+</span><span id="L-2432"><a href="#L-2432"><span class="linenos">2432</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2433"><a href="#L-2433"><span class="linenos">2433</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-2434"><a href="#L-2434"><span class="linenos">2434</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2435"><a href="#L-2435"><span class="linenos">2435</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2436"><a href="#L-2436"><span class="linenos">2436</span></a> <span class="p">}</span>
+</span><span id="L-2437"><a href="#L-2437"><span class="linenos">2437</span></a>
+</span><span id="L-2438"><a href="#L-2438"><span class="linenos">2438</span></a>
+</span><span id="L-2439"><a href="#L-2439"><span class="linenos">2439</span></a><span class="k">class</span> <span class="nc">Var</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2440"><a href="#L-2440"><span class="linenos">2440</span></a> <span class="k">pass</span>
+</span><span id="L-2441"><a href="#L-2441"><span class="linenos">2441</span></a>
+</span><span id="L-2442"><a href="#L-2442"><span class="linenos">2442</span></a>
+</span><span id="L-2443"><a href="#L-2443"><span class="linenos">2443</span></a><span class="k">class</span> <span class="nc">Schema</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2444"><a href="#L-2444"><span class="linenos">2444</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2445"><a href="#L-2445"><span class="linenos">2445</span></a>
-</span><span id="L-2446"><a href="#L-2446"><span class="linenos">2446</span></a> <span class="k">def</span> <span class="nf">from_</span><span class="p">(</span>
-</span><span id="L-2447"><a href="#L-2447"><span class="linenos">2447</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2448"><a href="#L-2448"><span class="linenos">2448</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2449"><a href="#L-2449"><span class="linenos">2449</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2450"><a href="#L-2450"><span class="linenos">2450</span></a><span class="sd"> Set the FROM expression.</span>
+</span><span id="L-2446"><a href="#L-2446"><span class="linenos">2446</span></a>
+</span><span id="L-2447"><a href="#L-2447"><span class="linenos">2447</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/select.html</span>
+</span><span id="L-2448"><a href="#L-2448"><span class="linenos">2448</span></a><span class="c1"># https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html</span>
+</span><span id="L-2449"><a href="#L-2449"><span class="linenos">2449</span></a><span class="k">class</span> <span class="nc">Lock</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-2450"><a href="#L-2450"><span class="linenos">2450</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;wait&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-2451"><a href="#L-2451"><span class="linenos">2451</span></a>
-</span><span id="L-2452"><a href="#L-2452"><span class="linenos">2452</span></a><span class="sd"> Example:</span>
-</span><span id="L-2453"><a href="#L-2453"><span class="linenos">2453</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sql()</span>
-</span><span id="L-2454"><a href="#L-2454"><span class="linenos">2454</span></a><span class="sd"> &#39;SELECT x FROM tbl&#39;</span>
-</span><span id="L-2455"><a href="#L-2455"><span class="linenos">2455</span></a>
-</span><span id="L-2456"><a href="#L-2456"><span class="linenos">2456</span></a><span class="sd"> Args:</span>
-</span><span id="L-2457"><a href="#L-2457"><span class="linenos">2457</span></a><span class="sd"> expression : the SQL code strings to parse.</span>
-</span><span id="L-2458"><a href="#L-2458"><span class="linenos">2458</span></a><span class="sd"> If a `From` instance is passed, this is used as-is.</span>
-</span><span id="L-2459"><a href="#L-2459"><span class="linenos">2459</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `From`.</span>
-</span><span id="L-2460"><a href="#L-2460"><span class="linenos">2460</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2461"><a href="#L-2461"><span class="linenos">2461</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2462"><a href="#L-2462"><span class="linenos">2462</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2463"><a href="#L-2463"><span class="linenos">2463</span></a>
-</span><span id="L-2464"><a href="#L-2464"><span class="linenos">2464</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2465"><a href="#L-2465"><span class="linenos">2465</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2466"><a href="#L-2466"><span class="linenos">2466</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2467"><a href="#L-2467"><span class="linenos">2467</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="L-2468"><a href="#L-2468"><span class="linenos">2468</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="L-2469"><a href="#L-2469"><span class="linenos">2469</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2470"><a href="#L-2470"><span class="linenos">2470</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;from&quot;</span><span class="p">,</span>
-</span><span id="L-2471"><a href="#L-2471"><span class="linenos">2471</span></a> <span class="n">into</span><span class="o">=</span><span class="n">From</span><span class="p">,</span>
-</span><span id="L-2472"><a href="#L-2472"><span class="linenos">2472</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span>
-</span><span id="L-2473"><a href="#L-2473"><span class="linenos">2473</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2474"><a href="#L-2474"><span class="linenos">2474</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2475"><a href="#L-2475"><span class="linenos">2475</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2476"><a href="#L-2476"><span class="linenos">2476</span></a> <span class="p">)</span>
-</span><span id="L-2477"><a href="#L-2477"><span class="linenos">2477</span></a>
-</span><span id="L-2478"><a href="#L-2478"><span class="linenos">2478</span></a> <span class="k">def</span> <span class="nf">group_by</span><span class="p">(</span>
-</span><span id="L-2479"><a href="#L-2479"><span class="linenos">2479</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2480"><a href="#L-2480"><span class="linenos">2480</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2481"><a href="#L-2481"><span class="linenos">2481</span></a> <span class="n">append</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-2482"><a href="#L-2482"><span class="linenos">2482</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2483"><a href="#L-2483"><span class="linenos">2483</span></a> <span class="n">copy</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-2484"><a href="#L-2484"><span class="linenos">2484</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2485"><a href="#L-2485"><span class="linenos">2485</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2486"><a href="#L-2486"><span class="linenos">2486</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2487"><a href="#L-2487"><span class="linenos">2487</span></a><span class="sd"> Set the GROUP BY expression.</span>
-</span><span id="L-2488"><a href="#L-2488"><span class="linenos">2488</span></a>
-</span><span id="L-2489"><a href="#L-2489"><span class="linenos">2489</span></a><span class="sd"> Example:</span>
-</span><span id="L-2490"><a href="#L-2490"><span class="linenos">2490</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;, &quot;COUNT(1)&quot;).group_by(&quot;x&quot;).sql()</span>
-</span><span id="L-2491"><a href="#L-2491"><span class="linenos">2491</span></a><span class="sd"> &#39;SELECT x, COUNT(1) FROM tbl GROUP BY x&#39;</span>
-</span><span id="L-2492"><a href="#L-2492"><span class="linenos">2492</span></a>
-</span><span id="L-2493"><a href="#L-2493"><span class="linenos">2493</span></a><span class="sd"> Args:</span>
-</span><span id="L-2494"><a href="#L-2494"><span class="linenos">2494</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2495"><a href="#L-2495"><span class="linenos">2495</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="L-2496"><a href="#L-2496"><span class="linenos">2496</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Group`.</span>
-</span><span id="L-2497"><a href="#L-2497"><span class="linenos">2497</span></a><span class="sd"> If nothing is passed in then a group by is not applied to the expression</span>
-</span><span id="L-2498"><a href="#L-2498"><span class="linenos">2498</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2499"><a href="#L-2499"><span class="linenos">2499</span></a><span class="sd"> Otherwise, this flattens all the `Group` expression into a single expression.</span>
-</span><span id="L-2500"><a href="#L-2500"><span class="linenos">2500</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2501"><a href="#L-2501"><span class="linenos">2501</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2502"><a href="#L-2502"><span class="linenos">2502</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2503"><a href="#L-2503"><span class="linenos">2503</span></a>
-</span><span id="L-2504"><a href="#L-2504"><span class="linenos">2504</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2505"><a href="#L-2505"><span class="linenos">2505</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2506"><a href="#L-2506"><span class="linenos">2506</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2507"><a href="#L-2507"><span class="linenos">2507</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="L-2508"><a href="#L-2508"><span class="linenos">2508</span></a> <span class="k">return</span> <span class="bp">self</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-</span><span id="L-2509"><a href="#L-2509"><span class="linenos">2509</span></a>
-</span><span id="L-2510"><a href="#L-2510"><span class="linenos">2510</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="L-2511"><a href="#L-2511"><span class="linenos">2511</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2512"><a href="#L-2512"><span class="linenos">2512</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2513"><a href="#L-2513"><span class="linenos">2513</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;group&quot;</span><span class="p">,</span>
-</span><span id="L-2514"><a href="#L-2514"><span class="linenos">2514</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2515"><a href="#L-2515"><span class="linenos">2515</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2516"><a href="#L-2516"><span class="linenos">2516</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;GROUP BY&quot;</span><span class="p">,</span>
-</span><span id="L-2517"><a href="#L-2517"><span class="linenos">2517</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Group</span><span class="p">,</span>
-</span><span id="L-2518"><a href="#L-2518"><span class="linenos">2518</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2519"><a href="#L-2519"><span class="linenos">2519</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2520"><a href="#L-2520"><span class="linenos">2520</span></a> <span class="p">)</span>
-</span><span id="L-2521"><a href="#L-2521"><span class="linenos">2521</span></a>
-</span><span id="L-2522"><a href="#L-2522"><span class="linenos">2522</span></a> <span class="k">def</span> <span class="nf">order_by</span><span class="p">(</span>
-</span><span id="L-2523"><a href="#L-2523"><span class="linenos">2523</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2524"><a href="#L-2524"><span class="linenos">2524</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2525"><a href="#L-2525"><span class="linenos">2525</span></a> <span class="n">append</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-2526"><a href="#L-2526"><span class="linenos">2526</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2527"><a href="#L-2527"><span class="linenos">2527</span></a> <span class="n">copy</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-2528"><a href="#L-2528"><span class="linenos">2528</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2529"><a href="#L-2529"><span class="linenos">2529</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2530"><a href="#L-2530"><span class="linenos">2530</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2531"><a href="#L-2531"><span class="linenos">2531</span></a><span class="sd"> Set the ORDER BY expression.</span>
-</span><span id="L-2532"><a href="#L-2532"><span class="linenos">2532</span></a>
-</span><span id="L-2533"><a href="#L-2533"><span class="linenos">2533</span></a><span class="sd"> Example:</span>
-</span><span id="L-2534"><a href="#L-2534"><span class="linenos">2534</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).order_by(&quot;x DESC&quot;).sql()</span>
-</span><span id="L-2535"><a href="#L-2535"><span class="linenos">2535</span></a><span class="sd"> &#39;SELECT x FROM tbl ORDER BY x DESC&#39;</span>
-</span><span id="L-2536"><a href="#L-2536"><span class="linenos">2536</span></a>
-</span><span id="L-2537"><a href="#L-2537"><span class="linenos">2537</span></a><span class="sd"> Args:</span>
-</span><span id="L-2538"><a href="#L-2538"><span class="linenos">2538</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2539"><a href="#L-2539"><span class="linenos">2539</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="L-2540"><a href="#L-2540"><span class="linenos">2540</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Order`.</span>
-</span><span id="L-2541"><a href="#L-2541"><span class="linenos">2541</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2542"><a href="#L-2542"><span class="linenos">2542</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="L-2543"><a href="#L-2543"><span class="linenos">2543</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2544"><a href="#L-2544"><span class="linenos">2544</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2545"><a href="#L-2545"><span class="linenos">2545</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2546"><a href="#L-2546"><span class="linenos">2546</span></a>
-</span><span id="L-2547"><a href="#L-2547"><span class="linenos">2547</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2548"><a href="#L-2548"><span class="linenos">2548</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2549"><a href="#L-2549"><span class="linenos">2549</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2550"><a href="#L-2550"><span class="linenos">2550</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="L-2551"><a href="#L-2551"><span class="linenos">2551</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2552"><a href="#L-2552"><span class="linenos">2552</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2553"><a href="#L-2553"><span class="linenos">2553</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;order&quot;</span><span class="p">,</span>
-</span><span id="L-2554"><a href="#L-2554"><span class="linenos">2554</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2555"><a href="#L-2555"><span class="linenos">2555</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2556"><a href="#L-2556"><span class="linenos">2556</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;ORDER BY&quot;</span><span class="p">,</span>
-</span><span id="L-2557"><a href="#L-2557"><span class="linenos">2557</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Order</span><span class="p">,</span>
-</span><span id="L-2558"><a href="#L-2558"><span class="linenos">2558</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2559"><a href="#L-2559"><span class="linenos">2559</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2560"><a href="#L-2560"><span class="linenos">2560</span></a> <span class="p">)</span>
-</span><span id="L-2561"><a href="#L-2561"><span class="linenos">2561</span></a>
-</span><span id="L-2562"><a href="#L-2562"><span class="linenos">2562</span></a> <span class="k">def</span> <span class="nf">sort_by</span><span class="p">(</span>
-</span><span id="L-2563"><a href="#L-2563"><span class="linenos">2563</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2564"><a href="#L-2564"><span class="linenos">2564</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2565"><a href="#L-2565"><span class="linenos">2565</span></a> <span class="n">append</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-2566"><a href="#L-2566"><span class="linenos">2566</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2567"><a href="#L-2567"><span class="linenos">2567</span></a> <span class="n">copy</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-2568"><a href="#L-2568"><span class="linenos">2568</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2569"><a href="#L-2569"><span class="linenos">2569</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2570"><a href="#L-2570"><span class="linenos">2570</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2571"><a href="#L-2571"><span class="linenos">2571</span></a><span class="sd"> Set the SORT BY expression.</span>
-</span><span id="L-2572"><a href="#L-2572"><span class="linenos">2572</span></a>
-</span><span id="L-2573"><a href="#L-2573"><span class="linenos">2573</span></a><span class="sd"> Example:</span>
-</span><span id="L-2574"><a href="#L-2574"><span class="linenos">2574</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sort_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
-</span><span id="L-2575"><a href="#L-2575"><span class="linenos">2575</span></a><span class="sd"> &#39;SELECT x FROM tbl SORT BY x DESC&#39;</span>
-</span><span id="L-2576"><a href="#L-2576"><span class="linenos">2576</span></a>
-</span><span id="L-2577"><a href="#L-2577"><span class="linenos">2577</span></a><span class="sd"> Args:</span>
-</span><span id="L-2578"><a href="#L-2578"><span class="linenos">2578</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2579"><a href="#L-2579"><span class="linenos">2579</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="L-2580"><a href="#L-2580"><span class="linenos">2580</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `SORT`.</span>
-</span><span id="L-2581"><a href="#L-2581"><span class="linenos">2581</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2582"><a href="#L-2582"><span class="linenos">2582</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="L-2583"><a href="#L-2583"><span class="linenos">2583</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2584"><a href="#L-2584"><span class="linenos">2584</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2585"><a href="#L-2585"><span class="linenos">2585</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2586"><a href="#L-2586"><span class="linenos">2586</span></a>
-</span><span id="L-2587"><a href="#L-2587"><span class="linenos">2587</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2588"><a href="#L-2588"><span class="linenos">2588</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2589"><a href="#L-2589"><span class="linenos">2589</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2590"><a href="#L-2590"><span class="linenos">2590</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="L-2591"><a href="#L-2591"><span class="linenos">2591</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2592"><a href="#L-2592"><span class="linenos">2592</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2593"><a href="#L-2593"><span class="linenos">2593</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;sort&quot;</span><span class="p">,</span>
-</span><span id="L-2594"><a href="#L-2594"><span class="linenos">2594</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2595"><a href="#L-2595"><span class="linenos">2595</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2596"><a href="#L-2596"><span class="linenos">2596</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;SORT BY&quot;</span><span class="p">,</span>
-</span><span id="L-2597"><a href="#L-2597"><span class="linenos">2597</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Sort</span><span class="p">,</span>
-</span><span id="L-2598"><a href="#L-2598"><span class="linenos">2598</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2599"><a href="#L-2599"><span class="linenos">2599</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2600"><a href="#L-2600"><span class="linenos">2600</span></a> <span class="p">)</span>
-</span><span id="L-2601"><a href="#L-2601"><span class="linenos">2601</span></a>
-</span><span id="L-2602"><a href="#L-2602"><span class="linenos">2602</span></a> <span class="k">def</span> <span class="nf">cluster_by</span><span class="p">(</span>
-</span><span id="L-2603"><a href="#L-2603"><span class="linenos">2603</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2604"><a href="#L-2604"><span class="linenos">2604</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2605"><a href="#L-2605"><span class="linenos">2605</span></a> <span class="n">append</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-2606"><a href="#L-2606"><span class="linenos">2606</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2607"><a href="#L-2607"><span class="linenos">2607</span></a> <span class="n">copy</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-2608"><a href="#L-2608"><span class="linenos">2608</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2609"><a href="#L-2609"><span class="linenos">2609</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2610"><a href="#L-2610"><span class="linenos">2610</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2611"><a href="#L-2611"><span class="linenos">2611</span></a><span class="sd"> Set the CLUSTER BY expression.</span>
-</span><span id="L-2612"><a href="#L-2612"><span class="linenos">2612</span></a>
-</span><span id="L-2613"><a href="#L-2613"><span class="linenos">2613</span></a><span class="sd"> Example:</span>
-</span><span id="L-2614"><a href="#L-2614"><span class="linenos">2614</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).cluster_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
-</span><span id="L-2615"><a href="#L-2615"><span class="linenos">2615</span></a><span class="sd"> &#39;SELECT x FROM tbl CLUSTER BY x DESC&#39;</span>
-</span><span id="L-2616"><a href="#L-2616"><span class="linenos">2616</span></a>
-</span><span id="L-2617"><a href="#L-2617"><span class="linenos">2617</span></a><span class="sd"> Args:</span>
-</span><span id="L-2618"><a href="#L-2618"><span class="linenos">2618</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2619"><a href="#L-2619"><span class="linenos">2619</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="L-2620"><a href="#L-2620"><span class="linenos">2620</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Cluster`.</span>
-</span><span id="L-2621"><a href="#L-2621"><span class="linenos">2621</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2622"><a href="#L-2622"><span class="linenos">2622</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="L-2623"><a href="#L-2623"><span class="linenos">2623</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2624"><a href="#L-2624"><span class="linenos">2624</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2625"><a href="#L-2625"><span class="linenos">2625</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2626"><a href="#L-2626"><span class="linenos">2626</span></a>
-</span><span id="L-2627"><a href="#L-2627"><span class="linenos">2627</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2628"><a href="#L-2628"><span class="linenos">2628</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2629"><a href="#L-2629"><span class="linenos">2629</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2630"><a href="#L-2630"><span class="linenos">2630</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="L-2631"><a href="#L-2631"><span class="linenos">2631</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2632"><a href="#L-2632"><span class="linenos">2632</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2633"><a href="#L-2633"><span class="linenos">2633</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;cluster&quot;</span><span class="p">,</span>
-</span><span id="L-2634"><a href="#L-2634"><span class="linenos">2634</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2635"><a href="#L-2635"><span class="linenos">2635</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2636"><a href="#L-2636"><span class="linenos">2636</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">,</span>
-</span><span id="L-2637"><a href="#L-2637"><span class="linenos">2637</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Cluster</span><span class="p">,</span>
-</span><span id="L-2638"><a href="#L-2638"><span class="linenos">2638</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2639"><a href="#L-2639"><span class="linenos">2639</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2640"><a href="#L-2640"><span class="linenos">2640</span></a> <span class="p">)</span>
-</span><span id="L-2641"><a href="#L-2641"><span class="linenos">2641</span></a>
-</span><span id="L-2642"><a href="#L-2642"><span class="linenos">2642</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="L-2643"><a href="#L-2643"><span class="linenos">2643</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2644"><a href="#L-2644"><span class="linenos">2644</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2645"><a href="#L-2645"><span class="linenos">2645</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2646"><a href="#L-2646"><span class="linenos">2646</span></a><span class="sd"> Set the LIMIT expression.</span>
-</span><span id="L-2647"><a href="#L-2647"><span class="linenos">2647</span></a>
-</span><span id="L-2648"><a href="#L-2648"><span class="linenos">2648</span></a><span class="sd"> Example:</span>
-</span><span id="L-2649"><a href="#L-2649"><span class="linenos">2649</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).limit(10).sql()</span>
-</span><span id="L-2650"><a href="#L-2650"><span class="linenos">2650</span></a><span class="sd"> &#39;SELECT x FROM tbl LIMIT 10&#39;</span>
-</span><span id="L-2651"><a href="#L-2651"><span class="linenos">2651</span></a>
-</span><span id="L-2652"><a href="#L-2652"><span class="linenos">2652</span></a><span class="sd"> Args:</span>
-</span><span id="L-2653"><a href="#L-2653"><span class="linenos">2653</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="L-2654"><a href="#L-2654"><span class="linenos">2654</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="L-2655"><a href="#L-2655"><span class="linenos">2655</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
-</span><span id="L-2656"><a href="#L-2656"><span class="linenos">2656</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
-</span><span id="L-2657"><a href="#L-2657"><span class="linenos">2657</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2658"><a href="#L-2658"><span class="linenos">2658</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2659"><a href="#L-2659"><span class="linenos">2659</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2452"><a href="#L-2452"><span class="linenos">2452</span></a>
+</span><span id="L-2453"><a href="#L-2453"><span class="linenos">2453</span></a><span class="k">class</span> <span class="nc">Select</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
+</span><span id="L-2454"><a href="#L-2454"><span class="linenos">2454</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-2455"><a href="#L-2455"><span class="linenos">2455</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2456"><a href="#L-2456"><span class="linenos">2456</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2457"><a href="#L-2457"><span class="linenos">2457</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2458"><a href="#L-2458"><span class="linenos">2458</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2459"><a href="#L-2459"><span class="linenos">2459</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2460"><a href="#L-2460"><span class="linenos">2460</span></a> <span class="s2">&quot;into&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2461"><a href="#L-2461"><span class="linenos">2461</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-2462"><a href="#L-2462"><span class="linenos">2462</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
+</span><span id="L-2463"><a href="#L-2463"><span class="linenos">2463</span></a> <span class="p">}</span>
+</span><span id="L-2464"><a href="#L-2464"><span class="linenos">2464</span></a>
+</span><span id="L-2465"><a href="#L-2465"><span class="linenos">2465</span></a> <span class="k">def</span> <span class="nf">from_</span><span class="p">(</span>
+</span><span id="L-2466"><a href="#L-2466"><span class="linenos">2466</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2467"><a href="#L-2467"><span class="linenos">2467</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2468"><a href="#L-2468"><span class="linenos">2468</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2469"><a href="#L-2469"><span class="linenos">2469</span></a><span class="sd"> Set the FROM expression.</span>
+</span><span id="L-2470"><a href="#L-2470"><span class="linenos">2470</span></a>
+</span><span id="L-2471"><a href="#L-2471"><span class="linenos">2471</span></a><span class="sd"> Example:</span>
+</span><span id="L-2472"><a href="#L-2472"><span class="linenos">2472</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sql()</span>
+</span><span id="L-2473"><a href="#L-2473"><span class="linenos">2473</span></a><span class="sd"> &#39;SELECT x FROM tbl&#39;</span>
+</span><span id="L-2474"><a href="#L-2474"><span class="linenos">2474</span></a>
+</span><span id="L-2475"><a href="#L-2475"><span class="linenos">2475</span></a><span class="sd"> Args:</span>
+</span><span id="L-2476"><a href="#L-2476"><span class="linenos">2476</span></a><span class="sd"> expression : the SQL code strings to parse.</span>
+</span><span id="L-2477"><a href="#L-2477"><span class="linenos">2477</span></a><span class="sd"> If a `From` instance is passed, this is used as-is.</span>
+</span><span id="L-2478"><a href="#L-2478"><span class="linenos">2478</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `From`.</span>
+</span><span id="L-2479"><a href="#L-2479"><span class="linenos">2479</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2480"><a href="#L-2480"><span class="linenos">2480</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2481"><a href="#L-2481"><span class="linenos">2481</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2482"><a href="#L-2482"><span class="linenos">2482</span></a>
+</span><span id="L-2483"><a href="#L-2483"><span class="linenos">2483</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2484"><a href="#L-2484"><span class="linenos">2484</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2485"><a href="#L-2485"><span class="linenos">2485</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2486"><a href="#L-2486"><span class="linenos">2486</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="L-2487"><a href="#L-2487"><span class="linenos">2487</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="L-2488"><a href="#L-2488"><span class="linenos">2488</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2489"><a href="#L-2489"><span class="linenos">2489</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;from&quot;</span><span class="p">,</span>
+</span><span id="L-2490"><a href="#L-2490"><span class="linenos">2490</span></a> <span class="n">into</span><span class="o">=</span><span class="n">From</span><span class="p">,</span>
+</span><span id="L-2491"><a href="#L-2491"><span class="linenos">2491</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span>
+</span><span id="L-2492"><a href="#L-2492"><span class="linenos">2492</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2493"><a href="#L-2493"><span class="linenos">2493</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2494"><a href="#L-2494"><span class="linenos">2494</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2495"><a href="#L-2495"><span class="linenos">2495</span></a> <span class="p">)</span>
+</span><span id="L-2496"><a href="#L-2496"><span class="linenos">2496</span></a>
+</span><span id="L-2497"><a href="#L-2497"><span class="linenos">2497</span></a> <span class="k">def</span> <span class="nf">group_by</span><span class="p">(</span>
+</span><span id="L-2498"><a href="#L-2498"><span class="linenos">2498</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2499"><a href="#L-2499"><span class="linenos">2499</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2500"><a href="#L-2500"><span class="linenos">2500</span></a> <span class="n">append</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-2501"><a href="#L-2501"><span class="linenos">2501</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2502"><a href="#L-2502"><span class="linenos">2502</span></a> <span class="n">copy</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-2503"><a href="#L-2503"><span class="linenos">2503</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2504"><a href="#L-2504"><span class="linenos">2504</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2505"><a href="#L-2505"><span class="linenos">2505</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2506"><a href="#L-2506"><span class="linenos">2506</span></a><span class="sd"> Set the GROUP BY expression.</span>
+</span><span id="L-2507"><a href="#L-2507"><span class="linenos">2507</span></a>
+</span><span id="L-2508"><a href="#L-2508"><span class="linenos">2508</span></a><span class="sd"> Example:</span>
+</span><span id="L-2509"><a href="#L-2509"><span class="linenos">2509</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;, &quot;COUNT(1)&quot;).group_by(&quot;x&quot;).sql()</span>
+</span><span id="L-2510"><a href="#L-2510"><span class="linenos">2510</span></a><span class="sd"> &#39;SELECT x, COUNT(1) FROM tbl GROUP BY x&#39;</span>
+</span><span id="L-2511"><a href="#L-2511"><span class="linenos">2511</span></a>
+</span><span id="L-2512"><a href="#L-2512"><span class="linenos">2512</span></a><span class="sd"> Args:</span>
+</span><span id="L-2513"><a href="#L-2513"><span class="linenos">2513</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2514"><a href="#L-2514"><span class="linenos">2514</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="L-2515"><a href="#L-2515"><span class="linenos">2515</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Group`.</span>
+</span><span id="L-2516"><a href="#L-2516"><span class="linenos">2516</span></a><span class="sd"> If nothing is passed in then a group by is not applied to the expression</span>
+</span><span id="L-2517"><a href="#L-2517"><span class="linenos">2517</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2518"><a href="#L-2518"><span class="linenos">2518</span></a><span class="sd"> Otherwise, this flattens all the `Group` expression into a single expression.</span>
+</span><span id="L-2519"><a href="#L-2519"><span class="linenos">2519</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2520"><a href="#L-2520"><span class="linenos">2520</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2521"><a href="#L-2521"><span class="linenos">2521</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2522"><a href="#L-2522"><span class="linenos">2522</span></a>
+</span><span id="L-2523"><a href="#L-2523"><span class="linenos">2523</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2524"><a href="#L-2524"><span class="linenos">2524</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2525"><a href="#L-2525"><span class="linenos">2525</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2526"><a href="#L-2526"><span class="linenos">2526</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="L-2527"><a href="#L-2527"><span class="linenos">2527</span></a> <span class="k">return</span> <span class="bp">self</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+</span><span id="L-2528"><a href="#L-2528"><span class="linenos">2528</span></a>
+</span><span id="L-2529"><a href="#L-2529"><span class="linenos">2529</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="L-2530"><a href="#L-2530"><span class="linenos">2530</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2531"><a href="#L-2531"><span class="linenos">2531</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2532"><a href="#L-2532"><span class="linenos">2532</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;group&quot;</span><span class="p">,</span>
+</span><span id="L-2533"><a href="#L-2533"><span class="linenos">2533</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2534"><a href="#L-2534"><span class="linenos">2534</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2535"><a href="#L-2535"><span class="linenos">2535</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;GROUP BY&quot;</span><span class="p">,</span>
+</span><span id="L-2536"><a href="#L-2536"><span class="linenos">2536</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Group</span><span class="p">,</span>
+</span><span id="L-2537"><a href="#L-2537"><span class="linenos">2537</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2538"><a href="#L-2538"><span class="linenos">2538</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2539"><a href="#L-2539"><span class="linenos">2539</span></a> <span class="p">)</span>
+</span><span id="L-2540"><a href="#L-2540"><span class="linenos">2540</span></a>
+</span><span id="L-2541"><a href="#L-2541"><span class="linenos">2541</span></a> <span class="k">def</span> <span class="nf">order_by</span><span class="p">(</span>
+</span><span id="L-2542"><a href="#L-2542"><span class="linenos">2542</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2543"><a href="#L-2543"><span class="linenos">2543</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2544"><a href="#L-2544"><span class="linenos">2544</span></a> <span class="n">append</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-2545"><a href="#L-2545"><span class="linenos">2545</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2546"><a href="#L-2546"><span class="linenos">2546</span></a> <span class="n">copy</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-2547"><a href="#L-2547"><span class="linenos">2547</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2548"><a href="#L-2548"><span class="linenos">2548</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2549"><a href="#L-2549"><span class="linenos">2549</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2550"><a href="#L-2550"><span class="linenos">2550</span></a><span class="sd"> Set the ORDER BY expression.</span>
+</span><span id="L-2551"><a href="#L-2551"><span class="linenos">2551</span></a>
+</span><span id="L-2552"><a href="#L-2552"><span class="linenos">2552</span></a><span class="sd"> Example:</span>
+</span><span id="L-2553"><a href="#L-2553"><span class="linenos">2553</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).order_by(&quot;x DESC&quot;).sql()</span>
+</span><span id="L-2554"><a href="#L-2554"><span class="linenos">2554</span></a><span class="sd"> &#39;SELECT x FROM tbl ORDER BY x DESC&#39;</span>
+</span><span id="L-2555"><a href="#L-2555"><span class="linenos">2555</span></a>
+</span><span id="L-2556"><a href="#L-2556"><span class="linenos">2556</span></a><span class="sd"> Args:</span>
+</span><span id="L-2557"><a href="#L-2557"><span class="linenos">2557</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2558"><a href="#L-2558"><span class="linenos">2558</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="L-2559"><a href="#L-2559"><span class="linenos">2559</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Order`.</span>
+</span><span id="L-2560"><a href="#L-2560"><span class="linenos">2560</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2561"><a href="#L-2561"><span class="linenos">2561</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="L-2562"><a href="#L-2562"><span class="linenos">2562</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2563"><a href="#L-2563"><span class="linenos">2563</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2564"><a href="#L-2564"><span class="linenos">2564</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2565"><a href="#L-2565"><span class="linenos">2565</span></a>
+</span><span id="L-2566"><a href="#L-2566"><span class="linenos">2566</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2567"><a href="#L-2567"><span class="linenos">2567</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2568"><a href="#L-2568"><span class="linenos">2568</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2569"><a href="#L-2569"><span class="linenos">2569</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="L-2570"><a href="#L-2570"><span class="linenos">2570</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2571"><a href="#L-2571"><span class="linenos">2571</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2572"><a href="#L-2572"><span class="linenos">2572</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;order&quot;</span><span class="p">,</span>
+</span><span id="L-2573"><a href="#L-2573"><span class="linenos">2573</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2574"><a href="#L-2574"><span class="linenos">2574</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2575"><a href="#L-2575"><span class="linenos">2575</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;ORDER BY&quot;</span><span class="p">,</span>
+</span><span id="L-2576"><a href="#L-2576"><span class="linenos">2576</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Order</span><span class="p">,</span>
+</span><span id="L-2577"><a href="#L-2577"><span class="linenos">2577</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2578"><a href="#L-2578"><span class="linenos">2578</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2579"><a href="#L-2579"><span class="linenos">2579</span></a> <span class="p">)</span>
+</span><span id="L-2580"><a href="#L-2580"><span class="linenos">2580</span></a>
+</span><span id="L-2581"><a href="#L-2581"><span class="linenos">2581</span></a> <span class="k">def</span> <span class="nf">sort_by</span><span class="p">(</span>
+</span><span id="L-2582"><a href="#L-2582"><span class="linenos">2582</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2583"><a href="#L-2583"><span class="linenos">2583</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2584"><a href="#L-2584"><span class="linenos">2584</span></a> <span class="n">append</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-2585"><a href="#L-2585"><span class="linenos">2585</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2586"><a href="#L-2586"><span class="linenos">2586</span></a> <span class="n">copy</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-2587"><a href="#L-2587"><span class="linenos">2587</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2588"><a href="#L-2588"><span class="linenos">2588</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2589"><a href="#L-2589"><span class="linenos">2589</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2590"><a href="#L-2590"><span class="linenos">2590</span></a><span class="sd"> Set the SORT BY expression.</span>
+</span><span id="L-2591"><a href="#L-2591"><span class="linenos">2591</span></a>
+</span><span id="L-2592"><a href="#L-2592"><span class="linenos">2592</span></a><span class="sd"> Example:</span>
+</span><span id="L-2593"><a href="#L-2593"><span class="linenos">2593</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sort_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
+</span><span id="L-2594"><a href="#L-2594"><span class="linenos">2594</span></a><span class="sd"> &#39;SELECT x FROM tbl SORT BY x DESC&#39;</span>
+</span><span id="L-2595"><a href="#L-2595"><span class="linenos">2595</span></a>
+</span><span id="L-2596"><a href="#L-2596"><span class="linenos">2596</span></a><span class="sd"> Args:</span>
+</span><span id="L-2597"><a href="#L-2597"><span class="linenos">2597</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2598"><a href="#L-2598"><span class="linenos">2598</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="L-2599"><a href="#L-2599"><span class="linenos">2599</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `SORT`.</span>
+</span><span id="L-2600"><a href="#L-2600"><span class="linenos">2600</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2601"><a href="#L-2601"><span class="linenos">2601</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="L-2602"><a href="#L-2602"><span class="linenos">2602</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2603"><a href="#L-2603"><span class="linenos">2603</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2604"><a href="#L-2604"><span class="linenos">2604</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2605"><a href="#L-2605"><span class="linenos">2605</span></a>
+</span><span id="L-2606"><a href="#L-2606"><span class="linenos">2606</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2607"><a href="#L-2607"><span class="linenos">2607</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2608"><a href="#L-2608"><span class="linenos">2608</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2609"><a href="#L-2609"><span class="linenos">2609</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="L-2610"><a href="#L-2610"><span class="linenos">2610</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2611"><a href="#L-2611"><span class="linenos">2611</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2612"><a href="#L-2612"><span class="linenos">2612</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;sort&quot;</span><span class="p">,</span>
+</span><span id="L-2613"><a href="#L-2613"><span class="linenos">2613</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2614"><a href="#L-2614"><span class="linenos">2614</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2615"><a href="#L-2615"><span class="linenos">2615</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;SORT BY&quot;</span><span class="p">,</span>
+</span><span id="L-2616"><a href="#L-2616"><span class="linenos">2616</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Sort</span><span class="p">,</span>
+</span><span id="L-2617"><a href="#L-2617"><span class="linenos">2617</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2618"><a href="#L-2618"><span class="linenos">2618</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2619"><a href="#L-2619"><span class="linenos">2619</span></a> <span class="p">)</span>
+</span><span id="L-2620"><a href="#L-2620"><span class="linenos">2620</span></a>
+</span><span id="L-2621"><a href="#L-2621"><span class="linenos">2621</span></a> <span class="k">def</span> <span class="nf">cluster_by</span><span class="p">(</span>
+</span><span id="L-2622"><a href="#L-2622"><span class="linenos">2622</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2623"><a href="#L-2623"><span class="linenos">2623</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2624"><a href="#L-2624"><span class="linenos">2624</span></a> <span class="n">append</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-2625"><a href="#L-2625"><span class="linenos">2625</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2626"><a href="#L-2626"><span class="linenos">2626</span></a> <span class="n">copy</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-2627"><a href="#L-2627"><span class="linenos">2627</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2628"><a href="#L-2628"><span class="linenos">2628</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2629"><a href="#L-2629"><span class="linenos">2629</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2630"><a href="#L-2630"><span class="linenos">2630</span></a><span class="sd"> Set the CLUSTER BY expression.</span>
+</span><span id="L-2631"><a href="#L-2631"><span class="linenos">2631</span></a>
+</span><span id="L-2632"><a href="#L-2632"><span class="linenos">2632</span></a><span class="sd"> Example:</span>
+</span><span id="L-2633"><a href="#L-2633"><span class="linenos">2633</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).cluster_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
+</span><span id="L-2634"><a href="#L-2634"><span class="linenos">2634</span></a><span class="sd"> &#39;SELECT x FROM tbl CLUSTER BY x DESC&#39;</span>
+</span><span id="L-2635"><a href="#L-2635"><span class="linenos">2635</span></a>
+</span><span id="L-2636"><a href="#L-2636"><span class="linenos">2636</span></a><span class="sd"> Args:</span>
+</span><span id="L-2637"><a href="#L-2637"><span class="linenos">2637</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2638"><a href="#L-2638"><span class="linenos">2638</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="L-2639"><a href="#L-2639"><span class="linenos">2639</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Cluster`.</span>
+</span><span id="L-2640"><a href="#L-2640"><span class="linenos">2640</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2641"><a href="#L-2641"><span class="linenos">2641</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="L-2642"><a href="#L-2642"><span class="linenos">2642</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2643"><a href="#L-2643"><span class="linenos">2643</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2644"><a href="#L-2644"><span class="linenos">2644</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2645"><a href="#L-2645"><span class="linenos">2645</span></a>
+</span><span id="L-2646"><a href="#L-2646"><span class="linenos">2646</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2647"><a href="#L-2647"><span class="linenos">2647</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2648"><a href="#L-2648"><span class="linenos">2648</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2649"><a href="#L-2649"><span class="linenos">2649</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="L-2650"><a href="#L-2650"><span class="linenos">2650</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2651"><a href="#L-2651"><span class="linenos">2651</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2652"><a href="#L-2652"><span class="linenos">2652</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;cluster&quot;</span><span class="p">,</span>
+</span><span id="L-2653"><a href="#L-2653"><span class="linenos">2653</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2654"><a href="#L-2654"><span class="linenos">2654</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2655"><a href="#L-2655"><span class="linenos">2655</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">,</span>
+</span><span id="L-2656"><a href="#L-2656"><span class="linenos">2656</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Cluster</span><span class="p">,</span>
+</span><span id="L-2657"><a href="#L-2657"><span class="linenos">2657</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2658"><a href="#L-2658"><span class="linenos">2658</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2659"><a href="#L-2659"><span class="linenos">2659</span></a> <span class="p">)</span>
</span><span id="L-2660"><a href="#L-2660"><span class="linenos">2660</span></a>
-</span><span id="L-2661"><a href="#L-2661"><span class="linenos">2661</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2662"><a href="#L-2662"><span class="linenos">2662</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="L-2663"><a href="#L-2663"><span class="linenos">2663</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2664"><a href="#L-2664"><span class="linenos">2664</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="L-2665"><a href="#L-2665"><span class="linenos">2665</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="L-2666"><a href="#L-2666"><span class="linenos">2666</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2667"><a href="#L-2667"><span class="linenos">2667</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;limit&quot;</span><span class="p">,</span>
-</span><span id="L-2668"><a href="#L-2668"><span class="linenos">2668</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Limit</span><span class="p">,</span>
-</span><span id="L-2669"><a href="#L-2669"><span class="linenos">2669</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LIMIT&quot;</span><span class="p">,</span>
-</span><span id="L-2670"><a href="#L-2670"><span class="linenos">2670</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2671"><a href="#L-2671"><span class="linenos">2671</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2672"><a href="#L-2672"><span class="linenos">2672</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2673"><a href="#L-2673"><span class="linenos">2673</span></a> <span class="p">)</span>
-</span><span id="L-2674"><a href="#L-2674"><span class="linenos">2674</span></a>
-</span><span id="L-2675"><a href="#L-2675"><span class="linenos">2675</span></a> <span class="k">def</span> <span class="nf">offset</span><span class="p">(</span>
-</span><span id="L-2676"><a href="#L-2676"><span class="linenos">2676</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-2677"><a href="#L-2677"><span class="linenos">2677</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2678"><a href="#L-2678"><span class="linenos">2678</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2679"><a href="#L-2679"><span class="linenos">2679</span></a><span class="sd"> Set the OFFSET expression.</span>
-</span><span id="L-2680"><a href="#L-2680"><span class="linenos">2680</span></a>
-</span><span id="L-2681"><a href="#L-2681"><span class="linenos">2681</span></a><span class="sd"> Example:</span>
-</span><span id="L-2682"><a href="#L-2682"><span class="linenos">2682</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).offset(10).sql()</span>
-</span><span id="L-2683"><a href="#L-2683"><span class="linenos">2683</span></a><span class="sd"> &#39;SELECT x FROM tbl OFFSET 10&#39;</span>
-</span><span id="L-2684"><a href="#L-2684"><span class="linenos">2684</span></a>
-</span><span id="L-2685"><a href="#L-2685"><span class="linenos">2685</span></a><span class="sd"> Args:</span>
-</span><span id="L-2686"><a href="#L-2686"><span class="linenos">2686</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="L-2687"><a href="#L-2687"><span class="linenos">2687</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="L-2688"><a href="#L-2688"><span class="linenos">2688</span></a><span class="sd"> If a `Offset` instance is passed, this is used as-is.</span>
-</span><span id="L-2689"><a href="#L-2689"><span class="linenos">2689</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Offset`.</span>
-</span><span id="L-2690"><a href="#L-2690"><span class="linenos">2690</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-2691"><a href="#L-2691"><span class="linenos">2691</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2692"><a href="#L-2692"><span class="linenos">2692</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2661"><a href="#L-2661"><span class="linenos">2661</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="L-2662"><a href="#L-2662"><span class="linenos">2662</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2663"><a href="#L-2663"><span class="linenos">2663</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2664"><a href="#L-2664"><span class="linenos">2664</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2665"><a href="#L-2665"><span class="linenos">2665</span></a><span class="sd"> Set the LIMIT expression.</span>
+</span><span id="L-2666"><a href="#L-2666"><span class="linenos">2666</span></a>
+</span><span id="L-2667"><a href="#L-2667"><span class="linenos">2667</span></a><span class="sd"> Example:</span>
+</span><span id="L-2668"><a href="#L-2668"><span class="linenos">2668</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).limit(10).sql()</span>
+</span><span id="L-2669"><a href="#L-2669"><span class="linenos">2669</span></a><span class="sd"> &#39;SELECT x FROM tbl LIMIT 10&#39;</span>
+</span><span id="L-2670"><a href="#L-2670"><span class="linenos">2670</span></a>
+</span><span id="L-2671"><a href="#L-2671"><span class="linenos">2671</span></a><span class="sd"> Args:</span>
+</span><span id="L-2672"><a href="#L-2672"><span class="linenos">2672</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="L-2673"><a href="#L-2673"><span class="linenos">2673</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="L-2674"><a href="#L-2674"><span class="linenos">2674</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
+</span><span id="L-2675"><a href="#L-2675"><span class="linenos">2675</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
+</span><span id="L-2676"><a href="#L-2676"><span class="linenos">2676</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2677"><a href="#L-2677"><span class="linenos">2677</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2678"><a href="#L-2678"><span class="linenos">2678</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2679"><a href="#L-2679"><span class="linenos">2679</span></a>
+</span><span id="L-2680"><a href="#L-2680"><span class="linenos">2680</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2681"><a href="#L-2681"><span class="linenos">2681</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="L-2682"><a href="#L-2682"><span class="linenos">2682</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2683"><a href="#L-2683"><span class="linenos">2683</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="L-2684"><a href="#L-2684"><span class="linenos">2684</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="L-2685"><a href="#L-2685"><span class="linenos">2685</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2686"><a href="#L-2686"><span class="linenos">2686</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;limit&quot;</span><span class="p">,</span>
+</span><span id="L-2687"><a href="#L-2687"><span class="linenos">2687</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Limit</span><span class="p">,</span>
+</span><span id="L-2688"><a href="#L-2688"><span class="linenos">2688</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LIMIT&quot;</span><span class="p">,</span>
+</span><span id="L-2689"><a href="#L-2689"><span class="linenos">2689</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2690"><a href="#L-2690"><span class="linenos">2690</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2691"><a href="#L-2691"><span class="linenos">2691</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2692"><a href="#L-2692"><span class="linenos">2692</span></a> <span class="p">)</span>
</span><span id="L-2693"><a href="#L-2693"><span class="linenos">2693</span></a>
-</span><span id="L-2694"><a href="#L-2694"><span class="linenos">2694</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2695"><a href="#L-2695"><span class="linenos">2695</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2696"><a href="#L-2696"><span class="linenos">2696</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2697"><a href="#L-2697"><span class="linenos">2697</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="L-2698"><a href="#L-2698"><span class="linenos">2698</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="L-2699"><a href="#L-2699"><span class="linenos">2699</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2700"><a href="#L-2700"><span class="linenos">2700</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;offset&quot;</span><span class="p">,</span>
-</span><span id="L-2701"><a href="#L-2701"><span class="linenos">2701</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Offset</span><span class="p">,</span>
-</span><span id="L-2702"><a href="#L-2702"><span class="linenos">2702</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;OFFSET&quot;</span><span class="p">,</span>
-</span><span id="L-2703"><a href="#L-2703"><span class="linenos">2703</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2704"><a href="#L-2704"><span class="linenos">2704</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2705"><a href="#L-2705"><span class="linenos">2705</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2706"><a href="#L-2706"><span class="linenos">2706</span></a> <span class="p">)</span>
-</span><span id="L-2707"><a href="#L-2707"><span class="linenos">2707</span></a>
-</span><span id="L-2708"><a href="#L-2708"><span class="linenos">2708</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
-</span><span id="L-2709"><a href="#L-2709"><span class="linenos">2709</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2710"><a href="#L-2710"><span class="linenos">2710</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2711"><a href="#L-2711"><span class="linenos">2711</span></a> <span class="n">append</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-2712"><a href="#L-2712"><span class="linenos">2712</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2713"><a href="#L-2713"><span class="linenos">2713</span></a> <span class="n">copy</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-2714"><a href="#L-2714"><span class="linenos">2714</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2715"><a href="#L-2715"><span class="linenos">2715</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2716"><a href="#L-2716"><span class="linenos">2716</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2717"><a href="#L-2717"><span class="linenos">2717</span></a><span class="sd"> Append to or set the SELECT expressions.</span>
-</span><span id="L-2718"><a href="#L-2718"><span class="linenos">2718</span></a>
-</span><span id="L-2719"><a href="#L-2719"><span class="linenos">2719</span></a><span class="sd"> Example:</span>
-</span><span id="L-2720"><a href="#L-2720"><span class="linenos">2720</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;y&quot;).sql()</span>
-</span><span id="L-2721"><a href="#L-2721"><span class="linenos">2721</span></a><span class="sd"> &#39;SELECT x, y&#39;</span>
-</span><span id="L-2722"><a href="#L-2722"><span class="linenos">2722</span></a>
-</span><span id="L-2723"><a href="#L-2723"><span class="linenos">2723</span></a><span class="sd"> Args:</span>
-</span><span id="L-2724"><a href="#L-2724"><span class="linenos">2724</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2725"><a href="#L-2725"><span class="linenos">2725</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2726"><a href="#L-2726"><span class="linenos">2726</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2727"><a href="#L-2727"><span class="linenos">2727</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="L-2728"><a href="#L-2728"><span class="linenos">2728</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-2729"><a href="#L-2729"><span class="linenos">2729</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2730"><a href="#L-2730"><span class="linenos">2730</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2731"><a href="#L-2731"><span class="linenos">2731</span></a>
-</span><span id="L-2732"><a href="#L-2732"><span class="linenos">2732</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2733"><a href="#L-2733"><span class="linenos">2733</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2734"><a href="#L-2734"><span class="linenos">2734</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2735"><a href="#L-2735"><span class="linenos">2735</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-2736"><a href="#L-2736"><span class="linenos">2736</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2737"><a href="#L-2737"><span class="linenos">2737</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2738"><a href="#L-2738"><span class="linenos">2738</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="L-2739"><a href="#L-2739"><span class="linenos">2739</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2740"><a href="#L-2740"><span class="linenos">2740</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2741"><a href="#L-2741"><span class="linenos">2741</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2742"><a href="#L-2742"><span class="linenos">2742</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2743"><a href="#L-2743"><span class="linenos">2743</span></a> <span class="p">)</span>
-</span><span id="L-2744"><a href="#L-2744"><span class="linenos">2744</span></a>
-</span><span id="L-2745"><a href="#L-2745"><span class="linenos">2745</span></a> <span class="k">def</span> <span class="nf">lateral</span><span class="p">(</span>
-</span><span id="L-2746"><a href="#L-2746"><span class="linenos">2746</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2747"><a href="#L-2747"><span class="linenos">2747</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2748"><a href="#L-2748"><span class="linenos">2748</span></a> <span class="n">append</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-2749"><a href="#L-2749"><span class="linenos">2749</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2750"><a href="#L-2750"><span class="linenos">2750</span></a> <span class="n">copy</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-2751"><a href="#L-2751"><span class="linenos">2751</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2752"><a href="#L-2752"><span class="linenos">2752</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2753"><a href="#L-2753"><span class="linenos">2753</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2754"><a href="#L-2754"><span class="linenos">2754</span></a><span class="sd"> Append to or set the LATERAL expressions.</span>
-</span><span id="L-2755"><a href="#L-2755"><span class="linenos">2755</span></a>
-</span><span id="L-2756"><a href="#L-2756"><span class="linenos">2756</span></a><span class="sd"> Example:</span>
-</span><span id="L-2757"><a href="#L-2757"><span class="linenos">2757</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).lateral(&quot;OUTER explode(y) tbl2 AS z&quot;).from_(&quot;tbl&quot;).sql()</span>
-</span><span id="L-2758"><a href="#L-2758"><span class="linenos">2758</span></a><span class="sd"> &#39;SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z&#39;</span>
-</span><span id="L-2759"><a href="#L-2759"><span class="linenos">2759</span></a>
-</span><span id="L-2760"><a href="#L-2760"><span class="linenos">2760</span></a><span class="sd"> Args:</span>
-</span><span id="L-2761"><a href="#L-2761"><span class="linenos">2761</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2762"><a href="#L-2762"><span class="linenos">2762</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2763"><a href="#L-2763"><span class="linenos">2763</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2764"><a href="#L-2764"><span class="linenos">2764</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="L-2765"><a href="#L-2765"><span class="linenos">2765</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-2766"><a href="#L-2766"><span class="linenos">2766</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2767"><a href="#L-2767"><span class="linenos">2767</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2768"><a href="#L-2768"><span class="linenos">2768</span></a>
-</span><span id="L-2769"><a href="#L-2769"><span class="linenos">2769</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2770"><a href="#L-2770"><span class="linenos">2770</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2771"><a href="#L-2771"><span class="linenos">2771</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2772"><a href="#L-2772"><span class="linenos">2772</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-2773"><a href="#L-2773"><span class="linenos">2773</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2774"><a href="#L-2774"><span class="linenos">2774</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2775"><a href="#L-2775"><span class="linenos">2775</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;laterals&quot;</span><span class="p">,</span>
-</span><span id="L-2776"><a href="#L-2776"><span class="linenos">2776</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2777"><a href="#L-2777"><span class="linenos">2777</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Lateral</span><span class="p">,</span>
-</span><span id="L-2778"><a href="#L-2778"><span class="linenos">2778</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LATERAL VIEW&quot;</span><span class="p">,</span>
-</span><span id="L-2779"><a href="#L-2779"><span class="linenos">2779</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2780"><a href="#L-2780"><span class="linenos">2780</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2781"><a href="#L-2781"><span class="linenos">2781</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2782"><a href="#L-2782"><span class="linenos">2782</span></a> <span class="p">)</span>
-</span><span id="L-2783"><a href="#L-2783"><span class="linenos">2783</span></a>
-</span><span id="L-2784"><a href="#L-2784"><span class="linenos">2784</span></a> <span class="k">def</span> <span class="nf">join</span><span class="p">(</span>
-</span><span id="L-2785"><a href="#L-2785"><span class="linenos">2785</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2786"><a href="#L-2786"><span class="linenos">2786</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-2787"><a href="#L-2787"><span class="linenos">2787</span></a> <span class="n">on</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2788"><a href="#L-2788"><span class="linenos">2788</span></a> <span class="n">using</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">ExpOrStr</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2789"><a href="#L-2789"><span class="linenos">2789</span></a> <span class="n">append</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-2790"><a href="#L-2790"><span class="linenos">2790</span></a> <span class="n">join_type</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2791"><a href="#L-2791"><span class="linenos">2791</span></a> <span class="n">join_alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2792"><a href="#L-2792"><span class="linenos">2792</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2793"><a href="#L-2793"><span class="linenos">2793</span></a> <span class="n">copy</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-2794"><a href="#L-2794"><span class="linenos">2794</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2795"><a href="#L-2795"><span class="linenos">2795</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2796"><a href="#L-2796"><span class="linenos">2796</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2797"><a href="#L-2797"><span class="linenos">2797</span></a><span class="sd"> Append to or set the JOIN expressions.</span>
-</span><span id="L-2798"><a href="#L-2798"><span class="linenos">2798</span></a>
-</span><span id="L-2799"><a href="#L-2799"><span class="linenos">2799</span></a><span class="sd"> Example:</span>
-</span><span id="L-2800"><a href="#L-2800"><span class="linenos">2800</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;).sql()</span>
-</span><span id="L-2801"><a href="#L-2801"><span class="linenos">2801</span></a><span class="sd"> &#39;SELECT * FROM tbl JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="L-2694"><a href="#L-2694"><span class="linenos">2694</span></a> <span class="k">def</span> <span class="nf">offset</span><span class="p">(</span>
+</span><span id="L-2695"><a href="#L-2695"><span class="linenos">2695</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-2696"><a href="#L-2696"><span class="linenos">2696</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2697"><a href="#L-2697"><span class="linenos">2697</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2698"><a href="#L-2698"><span class="linenos">2698</span></a><span class="sd"> Set the OFFSET expression.</span>
+</span><span id="L-2699"><a href="#L-2699"><span class="linenos">2699</span></a>
+</span><span id="L-2700"><a href="#L-2700"><span class="linenos">2700</span></a><span class="sd"> Example:</span>
+</span><span id="L-2701"><a href="#L-2701"><span class="linenos">2701</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).offset(10).sql()</span>
+</span><span id="L-2702"><a href="#L-2702"><span class="linenos">2702</span></a><span class="sd"> &#39;SELECT x FROM tbl OFFSET 10&#39;</span>
+</span><span id="L-2703"><a href="#L-2703"><span class="linenos">2703</span></a>
+</span><span id="L-2704"><a href="#L-2704"><span class="linenos">2704</span></a><span class="sd"> Args:</span>
+</span><span id="L-2705"><a href="#L-2705"><span class="linenos">2705</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="L-2706"><a href="#L-2706"><span class="linenos">2706</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="L-2707"><a href="#L-2707"><span class="linenos">2707</span></a><span class="sd"> If a `Offset` instance is passed, this is used as-is.</span>
+</span><span id="L-2708"><a href="#L-2708"><span class="linenos">2708</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Offset`.</span>
+</span><span id="L-2709"><a href="#L-2709"><span class="linenos">2709</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-2710"><a href="#L-2710"><span class="linenos">2710</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2711"><a href="#L-2711"><span class="linenos">2711</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2712"><a href="#L-2712"><span class="linenos">2712</span></a>
+</span><span id="L-2713"><a href="#L-2713"><span class="linenos">2713</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2714"><a href="#L-2714"><span class="linenos">2714</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2715"><a href="#L-2715"><span class="linenos">2715</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2716"><a href="#L-2716"><span class="linenos">2716</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="L-2717"><a href="#L-2717"><span class="linenos">2717</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="L-2718"><a href="#L-2718"><span class="linenos">2718</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2719"><a href="#L-2719"><span class="linenos">2719</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;offset&quot;</span><span class="p">,</span>
+</span><span id="L-2720"><a href="#L-2720"><span class="linenos">2720</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Offset</span><span class="p">,</span>
+</span><span id="L-2721"><a href="#L-2721"><span class="linenos">2721</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;OFFSET&quot;</span><span class="p">,</span>
+</span><span id="L-2722"><a href="#L-2722"><span class="linenos">2722</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2723"><a href="#L-2723"><span class="linenos">2723</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2724"><a href="#L-2724"><span class="linenos">2724</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2725"><a href="#L-2725"><span class="linenos">2725</span></a> <span class="p">)</span>
+</span><span id="L-2726"><a href="#L-2726"><span class="linenos">2726</span></a>
+</span><span id="L-2727"><a href="#L-2727"><span class="linenos">2727</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
+</span><span id="L-2728"><a href="#L-2728"><span class="linenos">2728</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2729"><a href="#L-2729"><span class="linenos">2729</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2730"><a href="#L-2730"><span class="linenos">2730</span></a> <span class="n">append</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-2731"><a href="#L-2731"><span class="linenos">2731</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2732"><a href="#L-2732"><span class="linenos">2732</span></a> <span class="n">copy</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-2733"><a href="#L-2733"><span class="linenos">2733</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2734"><a href="#L-2734"><span class="linenos">2734</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2735"><a href="#L-2735"><span class="linenos">2735</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2736"><a href="#L-2736"><span class="linenos">2736</span></a><span class="sd"> Append to or set the SELECT expressions.</span>
+</span><span id="L-2737"><a href="#L-2737"><span class="linenos">2737</span></a>
+</span><span id="L-2738"><a href="#L-2738"><span class="linenos">2738</span></a><span class="sd"> Example:</span>
+</span><span id="L-2739"><a href="#L-2739"><span class="linenos">2739</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;y&quot;).sql()</span>
+</span><span id="L-2740"><a href="#L-2740"><span class="linenos">2740</span></a><span class="sd"> &#39;SELECT x, y&#39;</span>
+</span><span id="L-2741"><a href="#L-2741"><span class="linenos">2741</span></a>
+</span><span id="L-2742"><a href="#L-2742"><span class="linenos">2742</span></a><span class="sd"> Args:</span>
+</span><span id="L-2743"><a href="#L-2743"><span class="linenos">2743</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2744"><a href="#L-2744"><span class="linenos">2744</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2745"><a href="#L-2745"><span class="linenos">2745</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2746"><a href="#L-2746"><span class="linenos">2746</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="L-2747"><a href="#L-2747"><span class="linenos">2747</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-2748"><a href="#L-2748"><span class="linenos">2748</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2749"><a href="#L-2749"><span class="linenos">2749</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2750"><a href="#L-2750"><span class="linenos">2750</span></a>
+</span><span id="L-2751"><a href="#L-2751"><span class="linenos">2751</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2752"><a href="#L-2752"><span class="linenos">2752</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2753"><a href="#L-2753"><span class="linenos">2753</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2754"><a href="#L-2754"><span class="linenos">2754</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-2755"><a href="#L-2755"><span class="linenos">2755</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2756"><a href="#L-2756"><span class="linenos">2756</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2757"><a href="#L-2757"><span class="linenos">2757</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="L-2758"><a href="#L-2758"><span class="linenos">2758</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2759"><a href="#L-2759"><span class="linenos">2759</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2760"><a href="#L-2760"><span class="linenos">2760</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2761"><a href="#L-2761"><span class="linenos">2761</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2762"><a href="#L-2762"><span class="linenos">2762</span></a> <span class="p">)</span>
+</span><span id="L-2763"><a href="#L-2763"><span class="linenos">2763</span></a>
+</span><span id="L-2764"><a href="#L-2764"><span class="linenos">2764</span></a> <span class="k">def</span> <span class="nf">lateral</span><span class="p">(</span>
+</span><span id="L-2765"><a href="#L-2765"><span class="linenos">2765</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2766"><a href="#L-2766"><span class="linenos">2766</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2767"><a href="#L-2767"><span class="linenos">2767</span></a> <span class="n">append</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-2768"><a href="#L-2768"><span class="linenos">2768</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2769"><a href="#L-2769"><span class="linenos">2769</span></a> <span class="n">copy</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-2770"><a href="#L-2770"><span class="linenos">2770</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2771"><a href="#L-2771"><span class="linenos">2771</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2772"><a href="#L-2772"><span class="linenos">2772</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2773"><a href="#L-2773"><span class="linenos">2773</span></a><span class="sd"> Append to or set the LATERAL expressions.</span>
+</span><span id="L-2774"><a href="#L-2774"><span class="linenos">2774</span></a>
+</span><span id="L-2775"><a href="#L-2775"><span class="linenos">2775</span></a><span class="sd"> Example:</span>
+</span><span id="L-2776"><a href="#L-2776"><span class="linenos">2776</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).lateral(&quot;OUTER explode(y) tbl2 AS z&quot;).from_(&quot;tbl&quot;).sql()</span>
+</span><span id="L-2777"><a href="#L-2777"><span class="linenos">2777</span></a><span class="sd"> &#39;SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z&#39;</span>
+</span><span id="L-2778"><a href="#L-2778"><span class="linenos">2778</span></a>
+</span><span id="L-2779"><a href="#L-2779"><span class="linenos">2779</span></a><span class="sd"> Args:</span>
+</span><span id="L-2780"><a href="#L-2780"><span class="linenos">2780</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2781"><a href="#L-2781"><span class="linenos">2781</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2782"><a href="#L-2782"><span class="linenos">2782</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2783"><a href="#L-2783"><span class="linenos">2783</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="L-2784"><a href="#L-2784"><span class="linenos">2784</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-2785"><a href="#L-2785"><span class="linenos">2785</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2786"><a href="#L-2786"><span class="linenos">2786</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2787"><a href="#L-2787"><span class="linenos">2787</span></a>
+</span><span id="L-2788"><a href="#L-2788"><span class="linenos">2788</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2789"><a href="#L-2789"><span class="linenos">2789</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2790"><a href="#L-2790"><span class="linenos">2790</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2791"><a href="#L-2791"><span class="linenos">2791</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-2792"><a href="#L-2792"><span class="linenos">2792</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2793"><a href="#L-2793"><span class="linenos">2793</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2794"><a href="#L-2794"><span class="linenos">2794</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;laterals&quot;</span><span class="p">,</span>
+</span><span id="L-2795"><a href="#L-2795"><span class="linenos">2795</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2796"><a href="#L-2796"><span class="linenos">2796</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Lateral</span><span class="p">,</span>
+</span><span id="L-2797"><a href="#L-2797"><span class="linenos">2797</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LATERAL VIEW&quot;</span><span class="p">,</span>
+</span><span id="L-2798"><a href="#L-2798"><span class="linenos">2798</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2799"><a href="#L-2799"><span class="linenos">2799</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2800"><a href="#L-2800"><span class="linenos">2800</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2801"><a href="#L-2801"><span class="linenos">2801</span></a> <span class="p">)</span>
</span><span id="L-2802"><a href="#L-2802"><span class="linenos">2802</span></a>
-</span><span id="L-2803"><a href="#L-2803"><span class="linenos">2803</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;1&quot;).from_(&quot;a&quot;).join(&quot;b&quot;, using=[&quot;x&quot;, &quot;y&quot;, &quot;z&quot;]).sql()</span>
-</span><span id="L-2804"><a href="#L-2804"><span class="linenos">2804</span></a><span class="sd"> &#39;SELECT 1 FROM a JOIN b USING (x, y, z)&#39;</span>
-</span><span id="L-2805"><a href="#L-2805"><span class="linenos">2805</span></a>
-</span><span id="L-2806"><a href="#L-2806"><span class="linenos">2806</span></a><span class="sd"> Use `join_type` to change the type of join:</span>
-</span><span id="L-2807"><a href="#L-2807"><span class="linenos">2807</span></a>
-</span><span id="L-2808"><a href="#L-2808"><span class="linenos">2808</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;, join_type=&quot;left outer&quot;).sql()</span>
-</span><span id="L-2809"><a href="#L-2809"><span class="linenos">2809</span></a><span class="sd"> &#39;SELECT * FROM tbl LEFT OUTER JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
-</span><span id="L-2810"><a href="#L-2810"><span class="linenos">2810</span></a>
-</span><span id="L-2811"><a href="#L-2811"><span class="linenos">2811</span></a><span class="sd"> Args:</span>
-</span><span id="L-2812"><a href="#L-2812"><span class="linenos">2812</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="L-2813"><a href="#L-2813"><span class="linenos">2813</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2814"><a href="#L-2814"><span class="linenos">2814</span></a><span class="sd"> on: optionally specify the join &quot;on&quot; criteria as a SQL string.</span>
-</span><span id="L-2815"><a href="#L-2815"><span class="linenos">2815</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2816"><a href="#L-2816"><span class="linenos">2816</span></a><span class="sd"> using: optionally specify the join &quot;using&quot; criteria as a SQL string.</span>
-</span><span id="L-2817"><a href="#L-2817"><span class="linenos">2817</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2818"><a href="#L-2818"><span class="linenos">2818</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="L-2819"><a href="#L-2819"><span class="linenos">2819</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="L-2820"><a href="#L-2820"><span class="linenos">2820</span></a><span class="sd"> join_type: if set, alter the parsed join type.</span>
-</span><span id="L-2821"><a href="#L-2821"><span class="linenos">2821</span></a><span class="sd"> join_alias: an optional alias for the joined source.</span>
-</span><span id="L-2822"><a href="#L-2822"><span class="linenos">2822</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-2823"><a href="#L-2823"><span class="linenos">2823</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2824"><a href="#L-2824"><span class="linenos">2824</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2825"><a href="#L-2825"><span class="linenos">2825</span></a>
-</span><span id="L-2826"><a href="#L-2826"><span class="linenos">2826</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2827"><a href="#L-2827"><span class="linenos">2827</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="L-2828"><a href="#L-2828"><span class="linenos">2828</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2829"><a href="#L-2829"><span class="linenos">2829</span></a> <span class="n">parse_args</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;dialect&quot;</span><span class="p">:</span> <span class="n">dialect</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">}</span>
-</span><span id="L-2830"><a href="#L-2830"><span class="linenos">2830</span></a>
-</span><span id="L-2831"><a href="#L-2831"><span class="linenos">2831</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="L-2832"><a href="#L-2832"><span class="linenos">2832</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Join</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;JOIN&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
-</span><span id="L-2833"><a href="#L-2833"><span class="linenos">2833</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
-</span><span id="L-2834"><a href="#L-2834"><span class="linenos">2834</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="p">(</span><span class="n">Join</span><span class="p">,</span> <span class="n">Expression</span><span class="p">),</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
-</span><span id="L-2835"><a href="#L-2835"><span class="linenos">2835</span></a>
-</span><span id="L-2836"><a href="#L-2836"><span class="linenos">2836</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">expression</span> <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">Join</span><span class="p">)</span> <span class="k">else</span> <span class="n">Join</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="L-2837"><a href="#L-2837"><span class="linenos">2837</span></a>
-</span><span id="L-2838"><a href="#L-2838"><span class="linenos">2838</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">Select</span><span class="p">):</span>
-</span><span id="L-2839"><a href="#L-2839"><span class="linenos">2839</span></a> <span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">subquery</span><span class="p">())</span>
-</span><span id="L-2840"><a href="#L-2840"><span class="linenos">2840</span></a>
-</span><span id="L-2841"><a href="#L-2841"><span class="linenos">2841</span></a> <span class="k">if</span> <span class="n">join_type</span><span class="p">:</span>
-</span><span id="L-2842"><a href="#L-2842"><span class="linenos">2842</span></a> <span class="n">method</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">Token</span><span class="p">]</span>
-</span><span id="L-2843"><a href="#L-2843"><span class="linenos">2843</span></a> <span class="n">side</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">Token</span><span class="p">]</span>
-</span><span id="L-2844"><a href="#L-2844"><span class="linenos">2844</span></a> <span class="n">kind</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">Token</span><span class="p">]</span>
-</span><span id="L-2845"><a href="#L-2845"><span class="linenos">2845</span></a>
-</span><span id="L-2846"><a href="#L-2846"><span class="linenos">2846</span></a> <span class="n">method</span><span class="p">,</span> <span class="n">side</span><span class="p">,</span> <span class="n">kind</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">join_type</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="s2">&quot;JOIN_TYPE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="L-2847"><a href="#L-2847"><span class="linenos">2847</span></a>
-</span><span id="L-2848"><a href="#L-2848"><span class="linenos">2848</span></a> <span class="k">if</span> <span class="n">method</span><span class="p">:</span>
-</span><span id="L-2849"><a href="#L-2849"><span class="linenos">2849</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">,</span> <span class="n">method</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-</span><span id="L-2850"><a href="#L-2850"><span class="linenos">2850</span></a> <span class="k">if</span> <span class="n">side</span><span class="p">:</span>
-</span><span id="L-2851"><a href="#L-2851"><span class="linenos">2851</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-</span><span id="L-2852"><a href="#L-2852"><span class="linenos">2852</span></a> <span class="k">if</span> <span class="n">kind</span><span class="p">:</span>
-</span><span id="L-2853"><a href="#L-2853"><span class="linenos">2853</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="n">kind</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="L-2803"><a href="#L-2803"><span class="linenos">2803</span></a> <span class="k">def</span> <span class="nf">join</span><span class="p">(</span>
+</span><span id="L-2804"><a href="#L-2804"><span class="linenos">2804</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2805"><a href="#L-2805"><span class="linenos">2805</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-2806"><a href="#L-2806"><span class="linenos">2806</span></a> <span class="n">on</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2807"><a href="#L-2807"><span class="linenos">2807</span></a> <span class="n">using</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">ExpOrStr</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2808"><a href="#L-2808"><span class="linenos">2808</span></a> <span class="n">append</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-2809"><a href="#L-2809"><span class="linenos">2809</span></a> <span class="n">join_type</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2810"><a href="#L-2810"><span class="linenos">2810</span></a> <span class="n">join_alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2811"><a href="#L-2811"><span class="linenos">2811</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2812"><a href="#L-2812"><span class="linenos">2812</span></a> <span class="n">copy</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-2813"><a href="#L-2813"><span class="linenos">2813</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2814"><a href="#L-2814"><span class="linenos">2814</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2815"><a href="#L-2815"><span class="linenos">2815</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2816"><a href="#L-2816"><span class="linenos">2816</span></a><span class="sd"> Append to or set the JOIN expressions.</span>
+</span><span id="L-2817"><a href="#L-2817"><span class="linenos">2817</span></a>
+</span><span id="L-2818"><a href="#L-2818"><span class="linenos">2818</span></a><span class="sd"> Example:</span>
+</span><span id="L-2819"><a href="#L-2819"><span class="linenos">2819</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;).sql()</span>
+</span><span id="L-2820"><a href="#L-2820"><span class="linenos">2820</span></a><span class="sd"> &#39;SELECT * FROM tbl JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="L-2821"><a href="#L-2821"><span class="linenos">2821</span></a>
+</span><span id="L-2822"><a href="#L-2822"><span class="linenos">2822</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;1&quot;).from_(&quot;a&quot;).join(&quot;b&quot;, using=[&quot;x&quot;, &quot;y&quot;, &quot;z&quot;]).sql()</span>
+</span><span id="L-2823"><a href="#L-2823"><span class="linenos">2823</span></a><span class="sd"> &#39;SELECT 1 FROM a JOIN b USING (x, y, z)&#39;</span>
+</span><span id="L-2824"><a href="#L-2824"><span class="linenos">2824</span></a>
+</span><span id="L-2825"><a href="#L-2825"><span class="linenos">2825</span></a><span class="sd"> Use `join_type` to change the type of join:</span>
+</span><span id="L-2826"><a href="#L-2826"><span class="linenos">2826</span></a>
+</span><span id="L-2827"><a href="#L-2827"><span class="linenos">2827</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;, join_type=&quot;left outer&quot;).sql()</span>
+</span><span id="L-2828"><a href="#L-2828"><span class="linenos">2828</span></a><span class="sd"> &#39;SELECT * FROM tbl LEFT OUTER JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="L-2829"><a href="#L-2829"><span class="linenos">2829</span></a>
+</span><span id="L-2830"><a href="#L-2830"><span class="linenos">2830</span></a><span class="sd"> Args:</span>
+</span><span id="L-2831"><a href="#L-2831"><span class="linenos">2831</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="L-2832"><a href="#L-2832"><span class="linenos">2832</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2833"><a href="#L-2833"><span class="linenos">2833</span></a><span class="sd"> on: optionally specify the join &quot;on&quot; criteria as a SQL string.</span>
+</span><span id="L-2834"><a href="#L-2834"><span class="linenos">2834</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2835"><a href="#L-2835"><span class="linenos">2835</span></a><span class="sd"> using: optionally specify the join &quot;using&quot; criteria as a SQL string.</span>
+</span><span id="L-2836"><a href="#L-2836"><span class="linenos">2836</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2837"><a href="#L-2837"><span class="linenos">2837</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="L-2838"><a href="#L-2838"><span class="linenos">2838</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="L-2839"><a href="#L-2839"><span class="linenos">2839</span></a><span class="sd"> join_type: if set, alter the parsed join type.</span>
+</span><span id="L-2840"><a href="#L-2840"><span class="linenos">2840</span></a><span class="sd"> join_alias: an optional alias for the joined source.</span>
+</span><span id="L-2841"><a href="#L-2841"><span class="linenos">2841</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-2842"><a href="#L-2842"><span class="linenos">2842</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2843"><a href="#L-2843"><span class="linenos">2843</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2844"><a href="#L-2844"><span class="linenos">2844</span></a>
+</span><span id="L-2845"><a href="#L-2845"><span class="linenos">2845</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2846"><a href="#L-2846"><span class="linenos">2846</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="L-2847"><a href="#L-2847"><span class="linenos">2847</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2848"><a href="#L-2848"><span class="linenos">2848</span></a> <span class="n">parse_args</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;dialect&quot;</span><span class="p">:</span> <span class="n">dialect</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">}</span>
+</span><span id="L-2849"><a href="#L-2849"><span class="linenos">2849</span></a>
+</span><span id="L-2850"><a href="#L-2850"><span class="linenos">2850</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-2851"><a href="#L-2851"><span class="linenos">2851</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Join</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;JOIN&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
+</span><span id="L-2852"><a href="#L-2852"><span class="linenos">2852</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
+</span><span id="L-2853"><a href="#L-2853"><span class="linenos">2853</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="p">(</span><span class="n">Join</span><span class="p">,</span> <span class="n">Expression</span><span class="p">),</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
</span><span id="L-2854"><a href="#L-2854"><span class="linenos">2854</span></a>
-</span><span id="L-2855"><a href="#L-2855"><span class="linenos">2855</span></a> <span class="k">if</span> <span class="n">on</span><span class="p">:</span>
-</span><span id="L-2856"><a href="#L-2856"><span class="linenos">2856</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">on</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-2857"><a href="#L-2857"><span class="linenos">2857</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;on&quot;</span><span class="p">,</span> <span class="n">on</span><span class="p">)</span>
-</span><span id="L-2858"><a href="#L-2858"><span class="linenos">2858</span></a>
-</span><span id="L-2859"><a href="#L-2859"><span class="linenos">2859</span></a> <span class="k">if</span> <span class="n">using</span><span class="p">:</span>
-</span><span id="L-2860"><a href="#L-2860"><span class="linenos">2860</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-2861"><a href="#L-2861"><span class="linenos">2861</span></a> <span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">using</span><span class="p">),</span>
-</span><span id="L-2862"><a href="#L-2862"><span class="linenos">2862</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">join</span><span class="p">,</span>
-</span><span id="L-2863"><a href="#L-2863"><span class="linenos">2863</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
-</span><span id="L-2864"><a href="#L-2864"><span class="linenos">2864</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2865"><a href="#L-2865"><span class="linenos">2865</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2866"><a href="#L-2866"><span class="linenos">2866</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2867"><a href="#L-2867"><span class="linenos">2867</span></a> <span class="p">)</span>
-</span><span id="L-2868"><a href="#L-2868"><span class="linenos">2868</span></a>
-</span><span id="L-2869"><a href="#L-2869"><span class="linenos">2869</span></a> <span class="k">if</span> <span class="n">join_alias</span><span class="p">:</span>
-</span><span id="L-2870"><a href="#L-2870"><span class="linenos">2870</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">alias_</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">join_alias</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
-</span><span id="L-2871"><a href="#L-2871"><span class="linenos">2871</span></a>
-</span><span id="L-2872"><a href="#L-2872"><span class="linenos">2872</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-2873"><a href="#L-2873"><span class="linenos">2873</span></a> <span class="n">join</span><span class="p">,</span>
-</span><span id="L-2874"><a href="#L-2874"><span class="linenos">2874</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2875"><a href="#L-2875"><span class="linenos">2875</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;joins&quot;</span><span class="p">,</span>
-</span><span id="L-2876"><a href="#L-2876"><span class="linenos">2876</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2877"><a href="#L-2877"><span class="linenos">2877</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2878"><a href="#L-2878"><span class="linenos">2878</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2879"><a href="#L-2879"><span class="linenos">2879</span></a> <span class="p">)</span>
-</span><span id="L-2880"><a href="#L-2880"><span class="linenos">2880</span></a>
-</span><span id="L-2881"><a href="#L-2881"><span class="linenos">2881</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
-</span><span id="L-2882"><a href="#L-2882"><span class="linenos">2882</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2883"><a href="#L-2883"><span class="linenos">2883</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2884"><a href="#L-2884"><span class="linenos">2884</span></a> <span class="n">append</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-2885"><a href="#L-2885"><span class="linenos">2885</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2886"><a href="#L-2886"><span class="linenos">2886</span></a> <span class="n">copy</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-2887"><a href="#L-2887"><span class="linenos">2887</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2888"><a href="#L-2888"><span class="linenos">2888</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2889"><a href="#L-2889"><span class="linenos">2889</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2890"><a href="#L-2890"><span class="linenos">2890</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
-</span><span id="L-2891"><a href="#L-2891"><span class="linenos">2891</span></a>
-</span><span id="L-2892"><a href="#L-2892"><span class="linenos">2892</span></a><span class="sd"> Example:</span>
-</span><span id="L-2893"><a href="#L-2893"><span class="linenos">2893</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
-</span><span id="L-2894"><a href="#L-2894"><span class="linenos">2894</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
-</span><span id="L-2895"><a href="#L-2895"><span class="linenos">2895</span></a>
-</span><span id="L-2896"><a href="#L-2896"><span class="linenos">2896</span></a><span class="sd"> Args:</span>
-</span><span id="L-2897"><a href="#L-2897"><span class="linenos">2897</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2898"><a href="#L-2898"><span class="linenos">2898</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2899"><a href="#L-2899"><span class="linenos">2899</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="L-2900"><a href="#L-2900"><span class="linenos">2900</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="L-2901"><a href="#L-2901"><span class="linenos">2901</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="L-2902"><a href="#L-2902"><span class="linenos">2902</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-2903"><a href="#L-2903"><span class="linenos">2903</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2904"><a href="#L-2904"><span class="linenos">2904</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2905"><a href="#L-2905"><span class="linenos">2905</span></a>
-</span><span id="L-2906"><a href="#L-2906"><span class="linenos">2906</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2907"><a href="#L-2907"><span class="linenos">2907</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="L-2908"><a href="#L-2908"><span class="linenos">2908</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2909"><a href="#L-2909"><span class="linenos">2909</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="L-2910"><a href="#L-2910"><span class="linenos">2910</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2911"><a href="#L-2911"><span class="linenos">2911</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2912"><a href="#L-2912"><span class="linenos">2912</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="L-2913"><a href="#L-2913"><span class="linenos">2913</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2914"><a href="#L-2914"><span class="linenos">2914</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
-</span><span id="L-2915"><a href="#L-2915"><span class="linenos">2915</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2916"><a href="#L-2916"><span class="linenos">2916</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2917"><a href="#L-2917"><span class="linenos">2917</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2918"><a href="#L-2918"><span class="linenos">2918</span></a> <span class="p">)</span>
-</span><span id="L-2919"><a href="#L-2919"><span class="linenos">2919</span></a>
-</span><span id="L-2920"><a href="#L-2920"><span class="linenos">2920</span></a> <span class="k">def</span> <span class="nf">having</span><span class="p">(</span>
-</span><span id="L-2921"><a href="#L-2921"><span class="linenos">2921</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2922"><a href="#L-2922"><span class="linenos">2922</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2923"><a href="#L-2923"><span class="linenos">2923</span></a> <span class="n">append</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-2924"><a href="#L-2924"><span class="linenos">2924</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2925"><a href="#L-2925"><span class="linenos">2925</span></a> <span class="n">copy</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-2926"><a href="#L-2926"><span class="linenos">2926</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2927"><a href="#L-2927"><span class="linenos">2927</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2928"><a href="#L-2928"><span class="linenos">2928</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-2929"><a href="#L-2929"><span class="linenos">2929</span></a><span class="sd"> Append to or set the HAVING expressions.</span>
-</span><span id="L-2930"><a href="#L-2930"><span class="linenos">2930</span></a>
-</span><span id="L-2931"><a href="#L-2931"><span class="linenos">2931</span></a><span class="sd"> Example:</span>
-</span><span id="L-2932"><a href="#L-2932"><span class="linenos">2932</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;COUNT(y)&quot;).from_(&quot;tbl&quot;).group_by(&quot;x&quot;).having(&quot;COUNT(y) &gt; 3&quot;).sql()</span>
-</span><span id="L-2933"><a href="#L-2933"><span class="linenos">2933</span></a><span class="sd"> &#39;SELECT x, COUNT(y) FROM tbl GROUP BY x HAVING COUNT(y) &gt; 3&#39;</span>
-</span><span id="L-2934"><a href="#L-2934"><span class="linenos">2934</span></a>
-</span><span id="L-2935"><a href="#L-2935"><span class="linenos">2935</span></a><span class="sd"> Args:</span>
-</span><span id="L-2936"><a href="#L-2936"><span class="linenos">2936</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-2937"><a href="#L-2937"><span class="linenos">2937</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-2938"><a href="#L-2938"><span class="linenos">2938</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="L-2939"><a href="#L-2939"><span class="linenos">2939</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="L-2940"><a href="#L-2940"><span class="linenos">2940</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="L-2941"><a href="#L-2941"><span class="linenos">2941</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-2942"><a href="#L-2942"><span class="linenos">2942</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-2943"><a href="#L-2943"><span class="linenos">2943</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="L-2944"><a href="#L-2944"><span class="linenos">2944</span></a>
-</span><span id="L-2945"><a href="#L-2945"><span class="linenos">2945</span></a><span class="sd"> Returns:</span>
-</span><span id="L-2946"><a href="#L-2946"><span class="linenos">2946</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="L-2947"><a href="#L-2947"><span class="linenos">2947</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-2948"><a href="#L-2948"><span class="linenos">2948</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="L-2949"><a href="#L-2949"><span class="linenos">2949</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-2950"><a href="#L-2950"><span class="linenos">2950</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2951"><a href="#L-2951"><span class="linenos">2951</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;having&quot;</span><span class="p">,</span>
-</span><span id="L-2952"><a href="#L-2952"><span class="linenos">2952</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2953"><a href="#L-2953"><span class="linenos">2953</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Having</span><span class="p">,</span>
-</span><span id="L-2954"><a href="#L-2954"><span class="linenos">2954</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-2955"><a href="#L-2955"><span class="linenos">2955</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-2956"><a href="#L-2956"><span class="linenos">2956</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2957"><a href="#L-2957"><span class="linenos">2957</span></a> <span class="p">)</span>
-</span><span id="L-2958"><a href="#L-2958"><span class="linenos">2958</span></a>
-</span><span id="L-2959"><a href="#L-2959"><span class="linenos">2959</span></a> <span class="k">def</span> <span class="nf">window</span><span class="p">(</span>
-</span><span id="L-2960"><a href="#L-2960"><span class="linenos">2960</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2961"><a href="#L-2961"><span class="linenos">2961</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="L-2962"><a href="#L-2962"><span class="linenos">2962</span></a> <span class="n">append</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-2963"><a href="#L-2963"><span class="linenos">2963</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-2964"><a href="#L-2964"><span class="linenos">2964</span></a> <span class="n">copy</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-2965"><a href="#L-2965"><span class="linenos">2965</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-2966"><a href="#L-2966"><span class="linenos">2966</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2967"><a href="#L-2967"><span class="linenos">2967</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-2855"><a href="#L-2855"><span class="linenos">2855</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">expression</span> <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">Join</span><span class="p">)</span> <span class="k">else</span> <span class="n">Join</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="L-2856"><a href="#L-2856"><span class="linenos">2856</span></a>
+</span><span id="L-2857"><a href="#L-2857"><span class="linenos">2857</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">Select</span><span class="p">):</span>
+</span><span id="L-2858"><a href="#L-2858"><span class="linenos">2858</span></a> <span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">subquery</span><span class="p">())</span>
+</span><span id="L-2859"><a href="#L-2859"><span class="linenos">2859</span></a>
+</span><span id="L-2860"><a href="#L-2860"><span class="linenos">2860</span></a> <span class="k">if</span> <span class="n">join_type</span><span class="p">:</span>
+</span><span id="L-2861"><a href="#L-2861"><span class="linenos">2861</span></a> <span class="n">method</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">Token</span><span class="p">]</span>
+</span><span id="L-2862"><a href="#L-2862"><span class="linenos">2862</span></a> <span class="n">side</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">Token</span><span class="p">]</span>
+</span><span id="L-2863"><a href="#L-2863"><span class="linenos">2863</span></a> <span class="n">kind</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">Token</span><span class="p">]</span>
+</span><span id="L-2864"><a href="#L-2864"><span class="linenos">2864</span></a>
+</span><span id="L-2865"><a href="#L-2865"><span class="linenos">2865</span></a> <span class="n">method</span><span class="p">,</span> <span class="n">side</span><span class="p">,</span> <span class="n">kind</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">join_type</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="s2">&quot;JOIN_TYPE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="L-2866"><a href="#L-2866"><span class="linenos">2866</span></a>
+</span><span id="L-2867"><a href="#L-2867"><span class="linenos">2867</span></a> <span class="k">if</span> <span class="n">method</span><span class="p">:</span>
+</span><span id="L-2868"><a href="#L-2868"><span class="linenos">2868</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">,</span> <span class="n">method</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="L-2869"><a href="#L-2869"><span class="linenos">2869</span></a> <span class="k">if</span> <span class="n">side</span><span class="p">:</span>
+</span><span id="L-2870"><a href="#L-2870"><span class="linenos">2870</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="L-2871"><a href="#L-2871"><span class="linenos">2871</span></a> <span class="k">if</span> <span class="n">kind</span><span class="p">:</span>
+</span><span id="L-2872"><a href="#L-2872"><span class="linenos">2872</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="n">kind</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="L-2873"><a href="#L-2873"><span class="linenos">2873</span></a>
+</span><span id="L-2874"><a href="#L-2874"><span class="linenos">2874</span></a> <span class="k">if</span> <span class="n">on</span><span class="p">:</span>
+</span><span id="L-2875"><a href="#L-2875"><span class="linenos">2875</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">on</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-2876"><a href="#L-2876"><span class="linenos">2876</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;on&quot;</span><span class="p">,</span> <span class="n">on</span><span class="p">)</span>
+</span><span id="L-2877"><a href="#L-2877"><span class="linenos">2877</span></a>
+</span><span id="L-2878"><a href="#L-2878"><span class="linenos">2878</span></a> <span class="k">if</span> <span class="n">using</span><span class="p">:</span>
+</span><span id="L-2879"><a href="#L-2879"><span class="linenos">2879</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-2880"><a href="#L-2880"><span class="linenos">2880</span></a> <span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">using</span><span class="p">),</span>
+</span><span id="L-2881"><a href="#L-2881"><span class="linenos">2881</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">join</span><span class="p">,</span>
+</span><span id="L-2882"><a href="#L-2882"><span class="linenos">2882</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
+</span><span id="L-2883"><a href="#L-2883"><span class="linenos">2883</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2884"><a href="#L-2884"><span class="linenos">2884</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2885"><a href="#L-2885"><span class="linenos">2885</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2886"><a href="#L-2886"><span class="linenos">2886</span></a> <span class="p">)</span>
+</span><span id="L-2887"><a href="#L-2887"><span class="linenos">2887</span></a>
+</span><span id="L-2888"><a href="#L-2888"><span class="linenos">2888</span></a> <span class="k">if</span> <span class="n">join_alias</span><span class="p">:</span>
+</span><span id="L-2889"><a href="#L-2889"><span class="linenos">2889</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">alias_</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">join_alias</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
+</span><span id="L-2890"><a href="#L-2890"><span class="linenos">2890</span></a>
+</span><span id="L-2891"><a href="#L-2891"><span class="linenos">2891</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-2892"><a href="#L-2892"><span class="linenos">2892</span></a> <span class="n">join</span><span class="p">,</span>
+</span><span id="L-2893"><a href="#L-2893"><span class="linenos">2893</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2894"><a href="#L-2894"><span class="linenos">2894</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;joins&quot;</span><span class="p">,</span>
+</span><span id="L-2895"><a href="#L-2895"><span class="linenos">2895</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2896"><a href="#L-2896"><span class="linenos">2896</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2897"><a href="#L-2897"><span class="linenos">2897</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2898"><a href="#L-2898"><span class="linenos">2898</span></a> <span class="p">)</span>
+</span><span id="L-2899"><a href="#L-2899"><span class="linenos">2899</span></a>
+</span><span id="L-2900"><a href="#L-2900"><span class="linenos">2900</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
+</span><span id="L-2901"><a href="#L-2901"><span class="linenos">2901</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2902"><a href="#L-2902"><span class="linenos">2902</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2903"><a href="#L-2903"><span class="linenos">2903</span></a> <span class="n">append</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-2904"><a href="#L-2904"><span class="linenos">2904</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2905"><a href="#L-2905"><span class="linenos">2905</span></a> <span class="n">copy</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-2906"><a href="#L-2906"><span class="linenos">2906</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2907"><a href="#L-2907"><span class="linenos">2907</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2908"><a href="#L-2908"><span class="linenos">2908</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2909"><a href="#L-2909"><span class="linenos">2909</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
+</span><span id="L-2910"><a href="#L-2910"><span class="linenos">2910</span></a>
+</span><span id="L-2911"><a href="#L-2911"><span class="linenos">2911</span></a><span class="sd"> Example:</span>
+</span><span id="L-2912"><a href="#L-2912"><span class="linenos">2912</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
+</span><span id="L-2913"><a href="#L-2913"><span class="linenos">2913</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
+</span><span id="L-2914"><a href="#L-2914"><span class="linenos">2914</span></a>
+</span><span id="L-2915"><a href="#L-2915"><span class="linenos">2915</span></a><span class="sd"> Args:</span>
+</span><span id="L-2916"><a href="#L-2916"><span class="linenos">2916</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2917"><a href="#L-2917"><span class="linenos">2917</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2918"><a href="#L-2918"><span class="linenos">2918</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="L-2919"><a href="#L-2919"><span class="linenos">2919</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="L-2920"><a href="#L-2920"><span class="linenos">2920</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="L-2921"><a href="#L-2921"><span class="linenos">2921</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-2922"><a href="#L-2922"><span class="linenos">2922</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2923"><a href="#L-2923"><span class="linenos">2923</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2924"><a href="#L-2924"><span class="linenos">2924</span></a>
+</span><span id="L-2925"><a href="#L-2925"><span class="linenos">2925</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2926"><a href="#L-2926"><span class="linenos">2926</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="L-2927"><a href="#L-2927"><span class="linenos">2927</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2928"><a href="#L-2928"><span class="linenos">2928</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="L-2929"><a href="#L-2929"><span class="linenos">2929</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-2930"><a href="#L-2930"><span class="linenos">2930</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2931"><a href="#L-2931"><span class="linenos">2931</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="L-2932"><a href="#L-2932"><span class="linenos">2932</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-2933"><a href="#L-2933"><span class="linenos">2933</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
+</span><span id="L-2934"><a href="#L-2934"><span class="linenos">2934</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-2935"><a href="#L-2935"><span class="linenos">2935</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-2936"><a href="#L-2936"><span class="linenos">2936</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2937"><a href="#L-2937"><span class="linenos">2937</span></a> <span class="p">)</span>
+</span><span id="L-2938"><a href="#L-2938"><span class="linenos">2938</span></a>
+</span><span id="L-2939"><a href="#L-2939"><span class="linenos">2939</span></a> <span class="k">def</span> <span class="nf">having</span><span class="p">(</span>
+</span><span id="L-2940"><a href="#L-2940"><span class="linenos">2940</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2941"><a href="#L-2941"><span class="linenos">2941</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-2942"><a href="#L-2942"><span class="linenos">2942</span></a> <span class="n">append</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-2943"><a href="#L-2943"><span class="linenos">2943</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-2944"><a href="#L-2944"><span class="linenos">2944</span></a> <span class="n">copy</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-2945"><a href="#L-2945"><span class="linenos">2945</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-2946"><a href="#L-2946"><span class="linenos">2946</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-2947"><a href="#L-2947"><span class="linenos">2947</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-2948"><a href="#L-2948"><span class="linenos">2948</span></a><span class="sd"> Append to or set the HAVING expressions.</span>
+</span><span id="L-2949"><a href="#L-2949"><span class="linenos">2949</span></a>
+</span><span id="L-2950"><a href="#L-2950"><span class="linenos">2950</span></a><span class="sd"> Example:</span>
+</span><span id="L-2951"><a href="#L-2951"><span class="linenos">2951</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;COUNT(y)&quot;).from_(&quot;tbl&quot;).group_by(&quot;x&quot;).having(&quot;COUNT(y) &gt; 3&quot;).sql()</span>
+</span><span id="L-2952"><a href="#L-2952"><span class="linenos">2952</span></a><span class="sd"> &#39;SELECT x, COUNT(y) FROM tbl GROUP BY x HAVING COUNT(y) &gt; 3&#39;</span>
+</span><span id="L-2953"><a href="#L-2953"><span class="linenos">2953</span></a>
+</span><span id="L-2954"><a href="#L-2954"><span class="linenos">2954</span></a><span class="sd"> Args:</span>
+</span><span id="L-2955"><a href="#L-2955"><span class="linenos">2955</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-2956"><a href="#L-2956"><span class="linenos">2956</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-2957"><a href="#L-2957"><span class="linenos">2957</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="L-2958"><a href="#L-2958"><span class="linenos">2958</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="L-2959"><a href="#L-2959"><span class="linenos">2959</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="L-2960"><a href="#L-2960"><span class="linenos">2960</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-2961"><a href="#L-2961"><span class="linenos">2961</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-2962"><a href="#L-2962"><span class="linenos">2962</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-2963"><a href="#L-2963"><span class="linenos">2963</span></a>
+</span><span id="L-2964"><a href="#L-2964"><span class="linenos">2964</span></a><span class="sd"> Returns:</span>
+</span><span id="L-2965"><a href="#L-2965"><span class="linenos">2965</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="L-2966"><a href="#L-2966"><span class="linenos">2966</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-2967"><a href="#L-2967"><span class="linenos">2967</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
</span><span id="L-2968"><a href="#L-2968"><span class="linenos">2968</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
</span><span id="L-2969"><a href="#L-2969"><span class="linenos">2969</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2970"><a href="#L-2970"><span class="linenos">2970</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span>
+</span><span id="L-2970"><a href="#L-2970"><span class="linenos">2970</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;having&quot;</span><span class="p">,</span>
</span><span id="L-2971"><a href="#L-2971"><span class="linenos">2971</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2972"><a href="#L-2972"><span class="linenos">2972</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Window</span><span class="p">,</span>
+</span><span id="L-2972"><a href="#L-2972"><span class="linenos">2972</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Having</span><span class="p">,</span>
</span><span id="L-2973"><a href="#L-2973"><span class="linenos">2973</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
</span><span id="L-2974"><a href="#L-2974"><span class="linenos">2974</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
</span><span id="L-2975"><a href="#L-2975"><span class="linenos">2975</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
</span><span id="L-2976"><a href="#L-2976"><span class="linenos">2976</span></a> <span class="p">)</span>
</span><span id="L-2977"><a href="#L-2977"><span class="linenos">2977</span></a>
-</span><span id="L-2978"><a href="#L-2978"><span class="linenos">2978</span></a> <span class="k">def</span> <span class="nf">qualify</span><span class="p">(</span>
+</span><span id="L-2978"><a href="#L-2978"><span class="linenos">2978</span></a> <span class="k">def</span> <span class="nf">window</span><span class="p">(</span>
</span><span id="L-2979"><a href="#L-2979"><span class="linenos">2979</span></a> <span class="bp">self</span><span class="p">,</span>
</span><span id="L-2980"><a href="#L-2980"><span class="linenos">2980</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
</span><span id="L-2981"><a href="#L-2981"><span class="linenos">2981</span></a> <span class="n">append</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
@@ -6282,2904 +8622,2924 @@ SQL expressions, such as <code><a href="#select">sqlglot.expressions.select</a><
</span><span id="L-2983"><a href="#L-2983"><span class="linenos">2983</span></a> <span class="n">copy</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-2984"><a href="#L-2984"><span class="linenos">2984</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
</span><span id="L-2985"><a href="#L-2985"><span class="linenos">2985</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-2986"><a href="#L-2986"><span class="linenos">2986</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="L-2986"><a href="#L-2986"><span class="linenos">2986</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
</span><span id="L-2987"><a href="#L-2987"><span class="linenos">2987</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
</span><span id="L-2988"><a href="#L-2988"><span class="linenos">2988</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="L-2989"><a href="#L-2989"><span class="linenos">2989</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;qualify&quot;</span><span class="p">,</span>
+</span><span id="L-2989"><a href="#L-2989"><span class="linenos">2989</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span>
</span><span id="L-2990"><a href="#L-2990"><span class="linenos">2990</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-2991"><a href="#L-2991"><span class="linenos">2991</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Qualify</span><span class="p">,</span>
+</span><span id="L-2991"><a href="#L-2991"><span class="linenos">2991</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Window</span><span class="p">,</span>
</span><span id="L-2992"><a href="#L-2992"><span class="linenos">2992</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
</span><span id="L-2993"><a href="#L-2993"><span class="linenos">2993</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
</span><span id="L-2994"><a href="#L-2994"><span class="linenos">2994</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
</span><span id="L-2995"><a href="#L-2995"><span class="linenos">2995</span></a> <span class="p">)</span>
</span><span id="L-2996"><a href="#L-2996"><span class="linenos">2996</span></a>
-</span><span id="L-2997"><a href="#L-2997"><span class="linenos">2997</span></a> <span class="k">def</span> <span class="nf">distinct</span><span class="p">(</span>
-</span><span id="L-2998"><a href="#L-2998"><span class="linenos">2998</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">ons</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">ExpOrStr</span><span class="p">],</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-2999"><a href="#L-2999"><span class="linenos">2999</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-3000"><a href="#L-3000"><span class="linenos">3000</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-3001"><a href="#L-3001"><span class="linenos">3001</span></a><span class="sd"> Set the OFFSET expression.</span>
-</span><span id="L-3002"><a href="#L-3002"><span class="linenos">3002</span></a>
-</span><span id="L-3003"><a href="#L-3003"><span class="linenos">3003</span></a><span class="sd"> Example:</span>
-</span><span id="L-3004"><a href="#L-3004"><span class="linenos">3004</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).distinct().sql()</span>
-</span><span id="L-3005"><a href="#L-3005"><span class="linenos">3005</span></a><span class="sd"> &#39;SELECT DISTINCT x FROM tbl&#39;</span>
-</span><span id="L-3006"><a href="#L-3006"><span class="linenos">3006</span></a>
-</span><span id="L-3007"><a href="#L-3007"><span class="linenos">3007</span></a><span class="sd"> Args:</span>
-</span><span id="L-3008"><a href="#L-3008"><span class="linenos">3008</span></a><span class="sd"> ons: the expressions to distinct on</span>
-</span><span id="L-3009"><a href="#L-3009"><span class="linenos">3009</span></a><span class="sd"> distinct: whether the Select should be distinct</span>
-</span><span id="L-3010"><a href="#L-3010"><span class="linenos">3010</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-3011"><a href="#L-3011"><span class="linenos">3011</span></a>
-</span><span id="L-3012"><a href="#L-3012"><span class="linenos">3012</span></a><span class="sd"> Returns:</span>
-</span><span id="L-3013"><a href="#L-3013"><span class="linenos">3013</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="L-3014"><a href="#L-3014"><span class="linenos">3014</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-3015"><a href="#L-3015"><span class="linenos">3015</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-3016"><a href="#L-3016"><span class="linenos">3016</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">on</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">on</span> <span class="ow">in</span> <span class="n">ons</span> <span class="k">if</span> <span class="n">on</span><span class="p">])</span> <span class="k">if</span> <span class="n">ons</span> <span class="k">else</span> <span class="kc">None</span>
-</span><span id="L-3017"><a href="#L-3017"><span class="linenos">3017</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;distinct&quot;</span><span class="p">,</span> <span class="n">Distinct</span><span class="p">(</span><span class="n">on</span><span class="o">=</span><span class="n">on</span><span class="p">)</span> <span class="k">if</span> <span class="n">distinct</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="L-3018"><a href="#L-3018"><span class="linenos">3018</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span><span id="L-3019"><a href="#L-3019"><span class="linenos">3019</span></a>
-</span><span id="L-3020"><a href="#L-3020"><span class="linenos">3020</span></a> <span class="k">def</span> <span class="nf">ctas</span><span class="p">(</span>
-</span><span id="L-3021"><a href="#L-3021"><span class="linenos">3021</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="L-3022"><a href="#L-3022"><span class="linenos">3022</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-3023"><a href="#L-3023"><span class="linenos">3023</span></a> <span class="n">properties</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><span id="L-3024"><a href="#L-3024"><span class="linenos">3024</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-3025"><a href="#L-3025"><span class="linenos">3025</span></a> <span class="n">copy</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-3026"><a href="#L-3026"><span class="linenos">3026</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-3027"><a href="#L-3027"><span class="linenos">3027</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Create</span><span class="p">:</span>
-</span><span id="L-3028"><a href="#L-3028"><span class="linenos">3028</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-3029"><a href="#L-3029"><span class="linenos">3029</span></a><span class="sd"> Convert this expression to a CREATE TABLE AS statement.</span>
+</span><span id="L-2997"><a href="#L-2997"><span class="linenos">2997</span></a> <span class="k">def</span> <span class="nf">qualify</span><span class="p">(</span>
+</span><span id="L-2998"><a href="#L-2998"><span class="linenos">2998</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-2999"><a href="#L-2999"><span class="linenos">2999</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="L-3000"><a href="#L-3000"><span class="linenos">3000</span></a> <span class="n">append</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-3001"><a href="#L-3001"><span class="linenos">3001</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-3002"><a href="#L-3002"><span class="linenos">3002</span></a> <span class="n">copy</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-3003"><a href="#L-3003"><span class="linenos">3003</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-3004"><a href="#L-3004"><span class="linenos">3004</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-3005"><a href="#L-3005"><span class="linenos">3005</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="L-3006"><a href="#L-3006"><span class="linenos">3006</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-3007"><a href="#L-3007"><span class="linenos">3007</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="L-3008"><a href="#L-3008"><span class="linenos">3008</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;qualify&quot;</span><span class="p">,</span>
+</span><span id="L-3009"><a href="#L-3009"><span class="linenos">3009</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-3010"><a href="#L-3010"><span class="linenos">3010</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Qualify</span><span class="p">,</span>
+</span><span id="L-3011"><a href="#L-3011"><span class="linenos">3011</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-3012"><a href="#L-3012"><span class="linenos">3012</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-3013"><a href="#L-3013"><span class="linenos">3013</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-3014"><a href="#L-3014"><span class="linenos">3014</span></a> <span class="p">)</span>
+</span><span id="L-3015"><a href="#L-3015"><span class="linenos">3015</span></a>
+</span><span id="L-3016"><a href="#L-3016"><span class="linenos">3016</span></a> <span class="k">def</span> <span class="nf">distinct</span><span class="p">(</span>
+</span><span id="L-3017"><a href="#L-3017"><span class="linenos">3017</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">ons</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">ExpOrStr</span><span class="p">],</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3018"><a href="#L-3018"><span class="linenos">3018</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-3019"><a href="#L-3019"><span class="linenos">3019</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-3020"><a href="#L-3020"><span class="linenos">3020</span></a><span class="sd"> Set the OFFSET expression.</span>
+</span><span id="L-3021"><a href="#L-3021"><span class="linenos">3021</span></a>
+</span><span id="L-3022"><a href="#L-3022"><span class="linenos">3022</span></a><span class="sd"> Example:</span>
+</span><span id="L-3023"><a href="#L-3023"><span class="linenos">3023</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).distinct().sql()</span>
+</span><span id="L-3024"><a href="#L-3024"><span class="linenos">3024</span></a><span class="sd"> &#39;SELECT DISTINCT x FROM tbl&#39;</span>
+</span><span id="L-3025"><a href="#L-3025"><span class="linenos">3025</span></a>
+</span><span id="L-3026"><a href="#L-3026"><span class="linenos">3026</span></a><span class="sd"> Args:</span>
+</span><span id="L-3027"><a href="#L-3027"><span class="linenos">3027</span></a><span class="sd"> ons: the expressions to distinct on</span>
+</span><span id="L-3028"><a href="#L-3028"><span class="linenos">3028</span></a><span class="sd"> distinct: whether the Select should be distinct</span>
+</span><span id="L-3029"><a href="#L-3029"><span class="linenos">3029</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
</span><span id="L-3030"><a href="#L-3030"><span class="linenos">3030</span></a>
-</span><span id="L-3031"><a href="#L-3031"><span class="linenos">3031</span></a><span class="sd"> Example:</span>
-</span><span id="L-3032"><a href="#L-3032"><span class="linenos">3032</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).ctas(&quot;x&quot;).sql()</span>
-</span><span id="L-3033"><a href="#L-3033"><span class="linenos">3033</span></a><span class="sd"> &#39;CREATE TABLE x AS SELECT * FROM tbl&#39;</span>
-</span><span id="L-3034"><a href="#L-3034"><span class="linenos">3034</span></a>
-</span><span id="L-3035"><a href="#L-3035"><span class="linenos">3035</span></a><span class="sd"> Args:</span>
-</span><span id="L-3036"><a href="#L-3036"><span class="linenos">3036</span></a><span class="sd"> table: the SQL code string to parse as the table name.</span>
-</span><span id="L-3037"><a href="#L-3037"><span class="linenos">3037</span></a><span class="sd"> If another `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-3038"><a href="#L-3038"><span class="linenos">3038</span></a><span class="sd"> properties: an optional mapping of table properties</span>
-</span><span id="L-3039"><a href="#L-3039"><span class="linenos">3039</span></a><span class="sd"> dialect: the dialect used to parse the input table.</span>
-</span><span id="L-3040"><a href="#L-3040"><span class="linenos">3040</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-3041"><a href="#L-3041"><span class="linenos">3041</span></a><span class="sd"> opts: other options to use to parse the input table.</span>
-</span><span id="L-3042"><a href="#L-3042"><span class="linenos">3042</span></a>
-</span><span id="L-3043"><a href="#L-3043"><span class="linenos">3043</span></a><span class="sd"> Returns:</span>
-</span><span id="L-3044"><a href="#L-3044"><span class="linenos">3044</span></a><span class="sd"> The new Create expression.</span>
-</span><span id="L-3045"><a href="#L-3045"><span class="linenos">3045</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-3046"><a href="#L-3046"><span class="linenos">3046</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-3047"><a href="#L-3047"><span class="linenos">3047</span></a> <span class="n">table_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="L-3048"><a href="#L-3048"><span class="linenos">3048</span></a> <span class="n">table</span><span class="p">,</span>
-</span><span id="L-3049"><a href="#L-3049"><span class="linenos">3049</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
-</span><span id="L-3050"><a href="#L-3050"><span class="linenos">3050</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-3051"><a href="#L-3051"><span class="linenos">3051</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-3052"><a href="#L-3052"><span class="linenos">3052</span></a> <span class="p">)</span>
-</span><span id="L-3053"><a href="#L-3053"><span class="linenos">3053</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="L-3054"><a href="#L-3054"><span class="linenos">3054</span></a> <span class="k">if</span> <span class="n">properties</span><span class="p">:</span>
-</span><span id="L-3055"><a href="#L-3055"><span class="linenos">3055</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">properties</span><span class="p">)</span>
-</span><span id="L-3056"><a href="#L-3056"><span class="linenos">3056</span></a>
-</span><span id="L-3057"><a href="#L-3057"><span class="linenos">3057</span></a> <span class="k">return</span> <span class="n">Create</span><span class="p">(</span>
-</span><span id="L-3058"><a href="#L-3058"><span class="linenos">3058</span></a> <span class="n">this</span><span class="o">=</span><span class="n">table_expression</span><span class="p">,</span>
-</span><span id="L-3059"><a href="#L-3059"><span class="linenos">3059</span></a> <span class="n">kind</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">,</span>
-</span><span id="L-3060"><a href="#L-3060"><span class="linenos">3060</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
-</span><span id="L-3061"><a href="#L-3061"><span class="linenos">3061</span></a> <span class="n">properties</span><span class="o">=</span><span class="n">properties_expression</span><span class="p">,</span>
-</span><span id="L-3062"><a href="#L-3062"><span class="linenos">3062</span></a> <span class="p">)</span>
-</span><span id="L-3063"><a href="#L-3063"><span class="linenos">3063</span></a>
-</span><span id="L-3064"><a href="#L-3064"><span class="linenos">3064</span></a> <span class="k">def</span> <span class="nf">lock</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">update</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-3065"><a href="#L-3065"><span class="linenos">3065</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-3066"><a href="#L-3066"><span class="linenos">3066</span></a><span class="sd"> Set the locking read mode for this expression.</span>
-</span><span id="L-3067"><a href="#L-3067"><span class="linenos">3067</span></a>
-</span><span id="L-3068"><a href="#L-3068"><span class="linenos">3068</span></a><span class="sd"> Examples:</span>
-</span><span id="L-3069"><a href="#L-3069"><span class="linenos">3069</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock().sql(&quot;mysql&quot;)</span>
-</span><span id="L-3070"><a href="#L-3070"><span class="linenos">3070</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR UPDATE&quot;</span>
-</span><span id="L-3071"><a href="#L-3071"><span class="linenos">3071</span></a>
-</span><span id="L-3072"><a href="#L-3072"><span class="linenos">3072</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock(update=False).sql(&quot;mysql&quot;)</span>
-</span><span id="L-3073"><a href="#L-3073"><span class="linenos">3073</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR SHARE&quot;</span>
-</span><span id="L-3074"><a href="#L-3074"><span class="linenos">3074</span></a>
-</span><span id="L-3075"><a href="#L-3075"><span class="linenos">3075</span></a><span class="sd"> Args:</span>
-</span><span id="L-3076"><a href="#L-3076"><span class="linenos">3076</span></a><span class="sd"> update: if `True`, the locking type will be `FOR UPDATE`, else it will be `FOR SHARE`.</span>
-</span><span id="L-3077"><a href="#L-3077"><span class="linenos">3077</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="L-3078"><a href="#L-3078"><span class="linenos">3078</span></a>
-</span><span id="L-3079"><a href="#L-3079"><span class="linenos">3079</span></a><span class="sd"> Returns:</span>
-</span><span id="L-3080"><a href="#L-3080"><span class="linenos">3080</span></a><span class="sd"> The modified expression.</span>
-</span><span id="L-3081"><a href="#L-3081"><span class="linenos">3081</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-3082"><a href="#L-3082"><span class="linenos">3082</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-3083"><a href="#L-3083"><span class="linenos">3083</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;locks&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">Lock</span><span class="p">(</span><span class="n">update</span><span class="o">=</span><span class="n">update</span><span class="p">)])</span>
-</span><span id="L-3084"><a href="#L-3084"><span class="linenos">3084</span></a>
-</span><span id="L-3085"><a href="#L-3085"><span class="linenos">3085</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="L-3031"><a href="#L-3031"><span class="linenos">3031</span></a><span class="sd"> Returns:</span>
+</span><span id="L-3032"><a href="#L-3032"><span class="linenos">3032</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="L-3033"><a href="#L-3033"><span class="linenos">3033</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-3034"><a href="#L-3034"><span class="linenos">3034</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-3035"><a href="#L-3035"><span class="linenos">3035</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">on</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">on</span> <span class="ow">in</span> <span class="n">ons</span> <span class="k">if</span> <span class="n">on</span><span class="p">])</span> <span class="k">if</span> <span class="n">ons</span> <span class="k">else</span> <span class="kc">None</span>
+</span><span id="L-3036"><a href="#L-3036"><span class="linenos">3036</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;distinct&quot;</span><span class="p">,</span> <span class="n">Distinct</span><span class="p">(</span><span class="n">on</span><span class="o">=</span><span class="n">on</span><span class="p">)</span> <span class="k">if</span> <span class="n">distinct</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="L-3037"><a href="#L-3037"><span class="linenos">3037</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="L-3038"><a href="#L-3038"><span class="linenos">3038</span></a>
+</span><span id="L-3039"><a href="#L-3039"><span class="linenos">3039</span></a> <span class="k">def</span> <span class="nf">ctas</span><span class="p">(</span>
+</span><span id="L-3040"><a href="#L-3040"><span class="linenos">3040</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="L-3041"><a href="#L-3041"><span class="linenos">3041</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-3042"><a href="#L-3042"><span class="linenos">3042</span></a> <span class="n">properties</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><span id="L-3043"><a href="#L-3043"><span class="linenos">3043</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-3044"><a href="#L-3044"><span class="linenos">3044</span></a> <span class="n">copy</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-3045"><a href="#L-3045"><span class="linenos">3045</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-3046"><a href="#L-3046"><span class="linenos">3046</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Create</span><span class="p">:</span>
+</span><span id="L-3047"><a href="#L-3047"><span class="linenos">3047</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-3048"><a href="#L-3048"><span class="linenos">3048</span></a><span class="sd"> Convert this expression to a CREATE TABLE AS statement.</span>
+</span><span id="L-3049"><a href="#L-3049"><span class="linenos">3049</span></a>
+</span><span id="L-3050"><a href="#L-3050"><span class="linenos">3050</span></a><span class="sd"> Example:</span>
+</span><span id="L-3051"><a href="#L-3051"><span class="linenos">3051</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).ctas(&quot;x&quot;).sql()</span>
+</span><span id="L-3052"><a href="#L-3052"><span class="linenos">3052</span></a><span class="sd"> &#39;CREATE TABLE x AS SELECT * FROM tbl&#39;</span>
+</span><span id="L-3053"><a href="#L-3053"><span class="linenos">3053</span></a>
+</span><span id="L-3054"><a href="#L-3054"><span class="linenos">3054</span></a><span class="sd"> Args:</span>
+</span><span id="L-3055"><a href="#L-3055"><span class="linenos">3055</span></a><span class="sd"> table: the SQL code string to parse as the table name.</span>
+</span><span id="L-3056"><a href="#L-3056"><span class="linenos">3056</span></a><span class="sd"> If another `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-3057"><a href="#L-3057"><span class="linenos">3057</span></a><span class="sd"> properties: an optional mapping of table properties</span>
+</span><span id="L-3058"><a href="#L-3058"><span class="linenos">3058</span></a><span class="sd"> dialect: the dialect used to parse the input table.</span>
+</span><span id="L-3059"><a href="#L-3059"><span class="linenos">3059</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-3060"><a href="#L-3060"><span class="linenos">3060</span></a><span class="sd"> opts: other options to use to parse the input table.</span>
+</span><span id="L-3061"><a href="#L-3061"><span class="linenos">3061</span></a>
+</span><span id="L-3062"><a href="#L-3062"><span class="linenos">3062</span></a><span class="sd"> Returns:</span>
+</span><span id="L-3063"><a href="#L-3063"><span class="linenos">3063</span></a><span class="sd"> The new Create expression.</span>
+</span><span id="L-3064"><a href="#L-3064"><span class="linenos">3064</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-3065"><a href="#L-3065"><span class="linenos">3065</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-3066"><a href="#L-3066"><span class="linenos">3066</span></a> <span class="n">table_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="L-3067"><a href="#L-3067"><span class="linenos">3067</span></a> <span class="n">table</span><span class="p">,</span>
+</span><span id="L-3068"><a href="#L-3068"><span class="linenos">3068</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
+</span><span id="L-3069"><a href="#L-3069"><span class="linenos">3069</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-3070"><a href="#L-3070"><span class="linenos">3070</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-3071"><a href="#L-3071"><span class="linenos">3071</span></a> <span class="p">)</span>
+</span><span id="L-3072"><a href="#L-3072"><span class="linenos">3072</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="L-3073"><a href="#L-3073"><span class="linenos">3073</span></a> <span class="k">if</span> <span class="n">properties</span><span class="p">:</span>
+</span><span id="L-3074"><a href="#L-3074"><span class="linenos">3074</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">properties</span><span class="p">)</span>
+</span><span id="L-3075"><a href="#L-3075"><span class="linenos">3075</span></a>
+</span><span id="L-3076"><a href="#L-3076"><span class="linenos">3076</span></a> <span class="k">return</span> <span class="n">Create</span><span class="p">(</span>
+</span><span id="L-3077"><a href="#L-3077"><span class="linenos">3077</span></a> <span class="n">this</span><span class="o">=</span><span class="n">table_expression</span><span class="p">,</span>
+</span><span id="L-3078"><a href="#L-3078"><span class="linenos">3078</span></a> <span class="n">kind</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">,</span>
+</span><span id="L-3079"><a href="#L-3079"><span class="linenos">3079</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+</span><span id="L-3080"><a href="#L-3080"><span class="linenos">3080</span></a> <span class="n">properties</span><span class="o">=</span><span class="n">properties_expression</span><span class="p">,</span>
+</span><span id="L-3081"><a href="#L-3081"><span class="linenos">3081</span></a> <span class="p">)</span>
+</span><span id="L-3082"><a href="#L-3082"><span class="linenos">3082</span></a>
+</span><span id="L-3083"><a href="#L-3083"><span class="linenos">3083</span></a> <span class="k">def</span> <span class="nf">lock</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">update</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-3084"><a href="#L-3084"><span class="linenos">3084</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-3085"><a href="#L-3085"><span class="linenos">3085</span></a><span class="sd"> Set the locking read mode for this expression.</span>
</span><span id="L-3086"><a href="#L-3086"><span class="linenos">3086</span></a>
-</span><span id="L-3087"><a href="#L-3087"><span class="linenos">3087</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">hints</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-3088"><a href="#L-3088"><span class="linenos">3088</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-3089"><a href="#L-3089"><span class="linenos">3089</span></a><span class="sd"> Set hints for this expression.</span>
+</span><span id="L-3087"><a href="#L-3087"><span class="linenos">3087</span></a><span class="sd"> Examples:</span>
+</span><span id="L-3088"><a href="#L-3088"><span class="linenos">3088</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock().sql(&quot;mysql&quot;)</span>
+</span><span id="L-3089"><a href="#L-3089"><span class="linenos">3089</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR UPDATE&quot;</span>
</span><span id="L-3090"><a href="#L-3090"><span class="linenos">3090</span></a>
-</span><span id="L-3091"><a href="#L-3091"><span class="linenos">3091</span></a><span class="sd"> Examples:</span>
-</span><span id="L-3092"><a href="#L-3092"><span class="linenos">3092</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).hint(&quot;BROADCAST(y)&quot;).sql(dialect=&quot;spark&quot;)</span>
-</span><span id="L-3093"><a href="#L-3093"><span class="linenos">3093</span></a><span class="sd"> &#39;SELECT /*+ BROADCAST(y) */ x FROM tbl&#39;</span>
-</span><span id="L-3094"><a href="#L-3094"><span class="linenos">3094</span></a>
-</span><span id="L-3095"><a href="#L-3095"><span class="linenos">3095</span></a><span class="sd"> Args:</span>
-</span><span id="L-3096"><a href="#L-3096"><span class="linenos">3096</span></a><span class="sd"> hints: The SQL code strings to parse as the hints.</span>
-</span><span id="L-3097"><a href="#L-3097"><span class="linenos">3097</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-3098"><a href="#L-3098"><span class="linenos">3098</span></a><span class="sd"> dialect: The dialect used to parse the hints.</span>
-</span><span id="L-3099"><a href="#L-3099"><span class="linenos">3099</span></a><span class="sd"> copy: If `False`, modify this expression instance in-place.</span>
-</span><span id="L-3100"><a href="#L-3100"><span class="linenos">3100</span></a>
-</span><span id="L-3101"><a href="#L-3101"><span class="linenos">3101</span></a><span class="sd"> Returns:</span>
-</span><span id="L-3102"><a href="#L-3102"><span class="linenos">3102</span></a><span class="sd"> The modified expression.</span>
-</span><span id="L-3103"><a href="#L-3103"><span class="linenos">3103</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-3104"><a href="#L-3104"><span class="linenos">3104</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-3105"><a href="#L-3105"><span class="linenos">3105</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="L-3106"><a href="#L-3106"><span class="linenos">3106</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">,</span> <span class="n">Hint</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</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="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">hints</span><span class="p">])</span>
-</span><span id="L-3107"><a href="#L-3107"><span class="linenos">3107</span></a> <span class="p">)</span>
-</span><span id="L-3108"><a href="#L-3108"><span class="linenos">3108</span></a>
-</span><span id="L-3109"><a href="#L-3109"><span class="linenos">3109</span></a> <span class="k">return</span> <span class="n">inst</span>
-</span><span id="L-3110"><a href="#L-3110"><span class="linenos">3110</span></a>
-</span><span id="L-3111"><a href="#L-3111"><span class="linenos">3111</span></a> <span class="nd">@property</span>
-</span><span id="L-3112"><a href="#L-3112"><span class="linenos">3112</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</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-3113"><a href="#L-3113"><span class="linenos">3113</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">e</span><span class="o">.</span><span class="n">output_name</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">alias_or_name</span><span class="p">]</span>
-</span><span id="L-3114"><a href="#L-3114"><span class="linenos">3114</span></a>
-</span><span id="L-3115"><a href="#L-3115"><span class="linenos">3115</span></a> <span class="nd">@property</span>
-</span><span id="L-3116"><a href="#L-3116"><span class="linenos">3116</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-3117"><a href="#L-3117"><span class="linenos">3117</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span><span class="p">)</span>
-</span><span id="L-3118"><a href="#L-3118"><span class="linenos">3118</span></a>
-</span><span id="L-3119"><a href="#L-3119"><span class="linenos">3119</span></a> <span class="nd">@property</span>
-</span><span id="L-3120"><a href="#L-3120"><span class="linenos">3120</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
-</span><span id="L-3121"><a href="#L-3121"><span class="linenos">3121</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
-</span><span id="L-3122"><a href="#L-3122"><span class="linenos">3122</span></a>
-</span><span id="L-3123"><a href="#L-3123"><span class="linenos">3123</span></a>
-</span><span id="L-3124"><a href="#L-3124"><span class="linenos">3124</span></a><span class="k">class</span> <span class="nc">Subquery</span><span class="p">(</span><span class="n">DerivedTable</span><span class="p">,</span> <span class="n">Unionable</span><span class="p">):</span>
-</span><span id="L-3125"><a href="#L-3125"><span class="linenos">3125</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3126"><a href="#L-3126"><span class="linenos">3126</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-3127"><a href="#L-3127"><span class="linenos">3127</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3128"><a href="#L-3128"><span class="linenos">3128</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3129"><a href="#L-3129"><span class="linenos">3129</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
-</span><span id="L-3130"><a href="#L-3130"><span class="linenos">3130</span></a> <span class="p">}</span>
-</span><span id="L-3131"><a href="#L-3131"><span class="linenos">3131</span></a>
-</span><span id="L-3132"><a href="#L-3132"><span class="linenos">3132</span></a> <span class="k">def</span> <span class="nf">unnest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-3133"><a href="#L-3133"><span class="linenos">3133</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-3134"><a href="#L-3134"><span class="linenos">3134</span></a><span class="sd"> Returns the first non subquery.</span>
-</span><span id="L-3135"><a href="#L-3135"><span class="linenos">3135</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-3136"><a href="#L-3136"><span class="linenos">3136</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="bp">self</span>
-</span><span id="L-3137"><a href="#L-3137"><span class="linenos">3137</span></a> <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Subquery</span><span class="p">):</span>
-</span><span id="L-3138"><a href="#L-3138"><span class="linenos">3138</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span>
-</span><span id="L-3139"><a href="#L-3139"><span class="linenos">3139</span></a> <span class="k">return</span> <span class="n">expression</span>
-</span><span id="L-3140"><a href="#L-3140"><span class="linenos">3140</span></a>
-</span><span id="L-3141"><a href="#L-3141"><span class="linenos">3141</span></a> <span class="nd">@property</span>
-</span><span id="L-3142"><a href="#L-3142"><span class="linenos">3142</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-3143"><a href="#L-3143"><span class="linenos">3143</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span>
-</span><span id="L-3144"><a href="#L-3144"><span class="linenos">3144</span></a>
-</span><span id="L-3145"><a href="#L-3145"><span class="linenos">3145</span></a> <span class="nd">@property</span>
-</span><span id="L-3146"><a href="#L-3146"><span class="linenos">3146</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3147"><a href="#L-3147"><span class="linenos">3147</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
-</span><span id="L-3148"><a href="#L-3148"><span class="linenos">3148</span></a>
-</span><span id="L-3149"><a href="#L-3149"><span class="linenos">3149</span></a>
-</span><span id="L-3150"><a href="#L-3150"><span class="linenos">3150</span></a><span class="k">class</span> <span class="nc">TableSample</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3151"><a href="#L-3151"><span class="linenos">3151</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3152"><a href="#L-3152"><span class="linenos">3152</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3153"><a href="#L-3153"><span class="linenos">3153</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3154"><a href="#L-3154"><span class="linenos">3154</span></a> <span class="s2">&quot;bucket_numerator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3155"><a href="#L-3155"><span class="linenos">3155</span></a> <span class="s2">&quot;bucket_denominator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3156"><a href="#L-3156"><span class="linenos">3156</span></a> <span class="s2">&quot;bucket_field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3157"><a href="#L-3157"><span class="linenos">3157</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3158"><a href="#L-3158"><span class="linenos">3158</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3159"><a href="#L-3159"><span class="linenos">3159</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3160"><a href="#L-3160"><span class="linenos">3160</span></a> <span class="s2">&quot;seed&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3161"><a href="#L-3161"><span class="linenos">3161</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3162"><a href="#L-3162"><span class="linenos">3162</span></a> <span class="p">}</span>
+</span><span id="L-3091"><a href="#L-3091"><span class="linenos">3091</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock(update=False).sql(&quot;mysql&quot;)</span>
+</span><span id="L-3092"><a href="#L-3092"><span class="linenos">3092</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR SHARE&quot;</span>
+</span><span id="L-3093"><a href="#L-3093"><span class="linenos">3093</span></a>
+</span><span id="L-3094"><a href="#L-3094"><span class="linenos">3094</span></a><span class="sd"> Args:</span>
+</span><span id="L-3095"><a href="#L-3095"><span class="linenos">3095</span></a><span class="sd"> update: if `True`, the locking type will be `FOR UPDATE`, else it will be `FOR SHARE`.</span>
+</span><span id="L-3096"><a href="#L-3096"><span class="linenos">3096</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="L-3097"><a href="#L-3097"><span class="linenos">3097</span></a>
+</span><span id="L-3098"><a href="#L-3098"><span class="linenos">3098</span></a><span class="sd"> Returns:</span>
+</span><span id="L-3099"><a href="#L-3099"><span class="linenos">3099</span></a><span class="sd"> The modified expression.</span>
+</span><span id="L-3100"><a href="#L-3100"><span class="linenos">3100</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-3101"><a href="#L-3101"><span class="linenos">3101</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-3102"><a href="#L-3102"><span class="linenos">3102</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;locks&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">Lock</span><span class="p">(</span><span class="n">update</span><span class="o">=</span><span class="n">update</span><span class="p">)])</span>
+</span><span id="L-3103"><a href="#L-3103"><span class="linenos">3103</span></a>
+</span><span id="L-3104"><a href="#L-3104"><span class="linenos">3104</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="L-3105"><a href="#L-3105"><span class="linenos">3105</span></a>
+</span><span id="L-3106"><a href="#L-3106"><span class="linenos">3106</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">hints</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-3107"><a href="#L-3107"><span class="linenos">3107</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-3108"><a href="#L-3108"><span class="linenos">3108</span></a><span class="sd"> Set hints for this expression.</span>
+</span><span id="L-3109"><a href="#L-3109"><span class="linenos">3109</span></a>
+</span><span id="L-3110"><a href="#L-3110"><span class="linenos">3110</span></a><span class="sd"> Examples:</span>
+</span><span id="L-3111"><a href="#L-3111"><span class="linenos">3111</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).hint(&quot;BROADCAST(y)&quot;).sql(dialect=&quot;spark&quot;)</span>
+</span><span id="L-3112"><a href="#L-3112"><span class="linenos">3112</span></a><span class="sd"> &#39;SELECT /*+ BROADCAST(y) */ x FROM tbl&#39;</span>
+</span><span id="L-3113"><a href="#L-3113"><span class="linenos">3113</span></a>
+</span><span id="L-3114"><a href="#L-3114"><span class="linenos">3114</span></a><span class="sd"> Args:</span>
+</span><span id="L-3115"><a href="#L-3115"><span class="linenos">3115</span></a><span class="sd"> hints: The SQL code strings to parse as the hints.</span>
+</span><span id="L-3116"><a href="#L-3116"><span class="linenos">3116</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-3117"><a href="#L-3117"><span class="linenos">3117</span></a><span class="sd"> dialect: The dialect used to parse the hints.</span>
+</span><span id="L-3118"><a href="#L-3118"><span class="linenos">3118</span></a><span class="sd"> copy: If `False`, modify this expression instance in-place.</span>
+</span><span id="L-3119"><a href="#L-3119"><span class="linenos">3119</span></a>
+</span><span id="L-3120"><a href="#L-3120"><span class="linenos">3120</span></a><span class="sd"> Returns:</span>
+</span><span id="L-3121"><a href="#L-3121"><span class="linenos">3121</span></a><span class="sd"> The modified expression.</span>
+</span><span id="L-3122"><a href="#L-3122"><span class="linenos">3122</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-3123"><a href="#L-3123"><span class="linenos">3123</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-3124"><a href="#L-3124"><span class="linenos">3124</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="L-3125"><a href="#L-3125"><span class="linenos">3125</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">,</span> <span class="n">Hint</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</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="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">hints</span><span class="p">])</span>
+</span><span id="L-3126"><a href="#L-3126"><span class="linenos">3126</span></a> <span class="p">)</span>
+</span><span id="L-3127"><a href="#L-3127"><span class="linenos">3127</span></a>
+</span><span id="L-3128"><a href="#L-3128"><span class="linenos">3128</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="L-3129"><a href="#L-3129"><span class="linenos">3129</span></a>
+</span><span id="L-3130"><a href="#L-3130"><span class="linenos">3130</span></a> <span class="nd">@property</span>
+</span><span id="L-3131"><a href="#L-3131"><span class="linenos">3131</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</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-3132"><a href="#L-3132"><span class="linenos">3132</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">e</span><span class="o">.</span><span class="n">output_name</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">alias_or_name</span><span class="p">]</span>
+</span><span id="L-3133"><a href="#L-3133"><span class="linenos">3133</span></a>
+</span><span id="L-3134"><a href="#L-3134"><span class="linenos">3134</span></a> <span class="nd">@property</span>
+</span><span id="L-3135"><a href="#L-3135"><span class="linenos">3135</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-3136"><a href="#L-3136"><span class="linenos">3136</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span><span class="p">)</span>
+</span><span id="L-3137"><a href="#L-3137"><span class="linenos">3137</span></a>
+</span><span id="L-3138"><a href="#L-3138"><span class="linenos">3138</span></a> <span class="nd">@property</span>
+</span><span id="L-3139"><a href="#L-3139"><span class="linenos">3139</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
+</span><span id="L-3140"><a href="#L-3140"><span class="linenos">3140</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="L-3141"><a href="#L-3141"><span class="linenos">3141</span></a>
+</span><span id="L-3142"><a href="#L-3142"><span class="linenos">3142</span></a>
+</span><span id="L-3143"><a href="#L-3143"><span class="linenos">3143</span></a><span class="k">class</span> <span class="nc">Subquery</span><span class="p">(</span><span class="n">DerivedTable</span><span class="p">,</span> <span class="n">Unionable</span><span class="p">):</span>
+</span><span id="L-3144"><a href="#L-3144"><span class="linenos">3144</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3145"><a href="#L-3145"><span class="linenos">3145</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-3146"><a href="#L-3146"><span class="linenos">3146</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3147"><a href="#L-3147"><span class="linenos">3147</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3148"><a href="#L-3148"><span class="linenos">3148</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
+</span><span id="L-3149"><a href="#L-3149"><span class="linenos">3149</span></a> <span class="p">}</span>
+</span><span id="L-3150"><a href="#L-3150"><span class="linenos">3150</span></a>
+</span><span id="L-3151"><a href="#L-3151"><span class="linenos">3151</span></a> <span class="k">def</span> <span class="nf">unnest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-3152"><a href="#L-3152"><span class="linenos">3152</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-3153"><a href="#L-3153"><span class="linenos">3153</span></a><span class="sd"> Returns the first non subquery.</span>
+</span><span id="L-3154"><a href="#L-3154"><span class="linenos">3154</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-3155"><a href="#L-3155"><span class="linenos">3155</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="bp">self</span>
+</span><span id="L-3156"><a href="#L-3156"><span class="linenos">3156</span></a> <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Subquery</span><span class="p">):</span>
+</span><span id="L-3157"><a href="#L-3157"><span class="linenos">3157</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span>
+</span><span id="L-3158"><a href="#L-3158"><span class="linenos">3158</span></a> <span class="k">return</span> <span class="n">expression</span>
+</span><span id="L-3159"><a href="#L-3159"><span class="linenos">3159</span></a>
+</span><span id="L-3160"><a href="#L-3160"><span class="linenos">3160</span></a> <span class="nd">@property</span>
+</span><span id="L-3161"><a href="#L-3161"><span class="linenos">3161</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-3162"><a href="#L-3162"><span class="linenos">3162</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span>
</span><span id="L-3163"><a href="#L-3163"><span class="linenos">3163</span></a>
-</span><span id="L-3164"><a href="#L-3164"><span class="linenos">3164</span></a>
-</span><span id="L-3165"><a href="#L-3165"><span class="linenos">3165</span></a><span class="k">class</span> <span class="nc">Tag</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3166"><a href="#L-3166"><span class="linenos">3166</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Tags are used for generating arbitrary sql like SELECT &lt;span&gt;x&lt;/span&gt;.&quot;&quot;&quot;</span>
+</span><span id="L-3164"><a href="#L-3164"><span class="linenos">3164</span></a> <span class="nd">@property</span>
+</span><span id="L-3165"><a href="#L-3165"><span class="linenos">3165</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3166"><a href="#L-3166"><span class="linenos">3166</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
</span><span id="L-3167"><a href="#L-3167"><span class="linenos">3167</span></a>
-</span><span id="L-3168"><a href="#L-3168"><span class="linenos">3168</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3169"><a href="#L-3169"><span class="linenos">3169</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3170"><a href="#L-3170"><span class="linenos">3170</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3171"><a href="#L-3171"><span class="linenos">3171</span></a> <span class="s2">&quot;postfix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3172"><a href="#L-3172"><span class="linenos">3172</span></a> <span class="p">}</span>
-</span><span id="L-3173"><a href="#L-3173"><span class="linenos">3173</span></a>
-</span><span id="L-3174"><a href="#L-3174"><span class="linenos">3174</span></a>
-</span><span id="L-3175"><a href="#L-3175"><span class="linenos">3175</span></a><span class="c1"># Represents both the standard SQL PIVOT operator and DuckDB&#39;s &quot;simplified&quot; PIVOT syntax</span>
-</span><span id="L-3176"><a href="#L-3176"><span class="linenos">3176</span></a><span class="c1"># https://duckdb.org/docs/sql/statements/pivot</span>
-</span><span id="L-3177"><a href="#L-3177"><span class="linenos">3177</span></a><span class="k">class</span> <span class="nc">Pivot</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3178"><a href="#L-3178"><span class="linenos">3178</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3179"><a href="#L-3179"><span class="linenos">3179</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3180"><a href="#L-3180"><span class="linenos">3180</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3181"><a href="#L-3181"><span class="linenos">3181</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-3182"><a href="#L-3182"><span class="linenos">3182</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3183"><a href="#L-3183"><span class="linenos">3183</span></a> <span class="s2">&quot;unpivot&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3184"><a href="#L-3184"><span class="linenos">3184</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3185"><a href="#L-3185"><span class="linenos">3185</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3186"><a href="#L-3186"><span class="linenos">3186</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3187"><a href="#L-3187"><span class="linenos">3187</span></a> <span class="p">}</span>
-</span><span id="L-3188"><a href="#L-3188"><span class="linenos">3188</span></a>
-</span><span id="L-3189"><a href="#L-3189"><span class="linenos">3189</span></a>
-</span><span id="L-3190"><a href="#L-3190"><span class="linenos">3190</span></a><span class="k">class</span> <span class="nc">Window</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3191"><a href="#L-3191"><span class="linenos">3191</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3192"><a href="#L-3192"><span class="linenos">3192</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-3193"><a href="#L-3193"><span class="linenos">3193</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3194"><a href="#L-3194"><span class="linenos">3194</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3195"><a href="#L-3195"><span class="linenos">3195</span></a> <span class="s2">&quot;spec&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3196"><a href="#L-3196"><span class="linenos">3196</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3197"><a href="#L-3197"><span class="linenos">3197</span></a> <span class="s2">&quot;over&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3198"><a href="#L-3198"><span class="linenos">3198</span></a> <span class="s2">&quot;first&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3199"><a href="#L-3199"><span class="linenos">3199</span></a> <span class="p">}</span>
-</span><span id="L-3200"><a href="#L-3200"><span class="linenos">3200</span></a>
-</span><span id="L-3201"><a href="#L-3201"><span class="linenos">3201</span></a>
-</span><span id="L-3202"><a href="#L-3202"><span class="linenos">3202</span></a><span class="k">class</span> <span class="nc">WindowSpec</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3203"><a href="#L-3203"><span class="linenos">3203</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3204"><a href="#L-3204"><span class="linenos">3204</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3205"><a href="#L-3205"><span class="linenos">3205</span></a> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3206"><a href="#L-3206"><span class="linenos">3206</span></a> <span class="s2">&quot;start_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3207"><a href="#L-3207"><span class="linenos">3207</span></a> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3208"><a href="#L-3208"><span class="linenos">3208</span></a> <span class="s2">&quot;end_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3209"><a href="#L-3209"><span class="linenos">3209</span></a> <span class="p">}</span>
-</span><span id="L-3210"><a href="#L-3210"><span class="linenos">3210</span></a>
-</span><span id="L-3211"><a href="#L-3211"><span class="linenos">3211</span></a>
-</span><span id="L-3212"><a href="#L-3212"><span class="linenos">3212</span></a><span class="k">class</span> <span class="nc">Where</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3213"><a href="#L-3213"><span class="linenos">3213</span></a> <span class="k">pass</span>
-</span><span id="L-3214"><a href="#L-3214"><span class="linenos">3214</span></a>
-</span><span id="L-3215"><a href="#L-3215"><span class="linenos">3215</span></a>
-</span><span id="L-3216"><a href="#L-3216"><span class="linenos">3216</span></a><span class="k">class</span> <span class="nc">Star</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3217"><a href="#L-3217"><span class="linenos">3217</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;except&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3218"><a href="#L-3218"><span class="linenos">3218</span></a>
-</span><span id="L-3219"><a href="#L-3219"><span class="linenos">3219</span></a> <span class="nd">@property</span>
-</span><span id="L-3220"><a href="#L-3220"><span class="linenos">3220</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3221"><a href="#L-3221"><span class="linenos">3221</span></a> <span class="k">return</span> <span class="s2">&quot;*&quot;</span>
-</span><span id="L-3222"><a href="#L-3222"><span class="linenos">3222</span></a>
-</span><span id="L-3223"><a href="#L-3223"><span class="linenos">3223</span></a> <span class="nd">@property</span>
-</span><span id="L-3224"><a href="#L-3224"><span class="linenos">3224</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3225"><a href="#L-3225"><span class="linenos">3225</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-3226"><a href="#L-3226"><span class="linenos">3226</span></a>
-</span><span id="L-3227"><a href="#L-3227"><span class="linenos">3227</span></a>
-</span><span id="L-3228"><a href="#L-3228"><span class="linenos">3228</span></a><span class="k">class</span> <span class="nc">Parameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3229"><a href="#L-3229"><span class="linenos">3229</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;wrapped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3168"><a href="#L-3168"><span class="linenos">3168</span></a>
+</span><span id="L-3169"><a href="#L-3169"><span class="linenos">3169</span></a><span class="k">class</span> <span class="nc">TableSample</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3170"><a href="#L-3170"><span class="linenos">3170</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3171"><a href="#L-3171"><span class="linenos">3171</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3172"><a href="#L-3172"><span class="linenos">3172</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3173"><a href="#L-3173"><span class="linenos">3173</span></a> <span class="s2">&quot;bucket_numerator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3174"><a href="#L-3174"><span class="linenos">3174</span></a> <span class="s2">&quot;bucket_denominator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3175"><a href="#L-3175"><span class="linenos">3175</span></a> <span class="s2">&quot;bucket_field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3176"><a href="#L-3176"><span class="linenos">3176</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3177"><a href="#L-3177"><span class="linenos">3177</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3178"><a href="#L-3178"><span class="linenos">3178</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3179"><a href="#L-3179"><span class="linenos">3179</span></a> <span class="s2">&quot;seed&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3180"><a href="#L-3180"><span class="linenos">3180</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3181"><a href="#L-3181"><span class="linenos">3181</span></a> <span class="p">}</span>
+</span><span id="L-3182"><a href="#L-3182"><span class="linenos">3182</span></a>
+</span><span id="L-3183"><a href="#L-3183"><span class="linenos">3183</span></a>
+</span><span id="L-3184"><a href="#L-3184"><span class="linenos">3184</span></a><span class="k">class</span> <span class="nc">Tag</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3185"><a href="#L-3185"><span class="linenos">3185</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Tags are used for generating arbitrary sql like SELECT &lt;span&gt;x&lt;/span&gt;.&quot;&quot;&quot;</span>
+</span><span id="L-3186"><a href="#L-3186"><span class="linenos">3186</span></a>
+</span><span id="L-3187"><a href="#L-3187"><span class="linenos">3187</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3188"><a href="#L-3188"><span class="linenos">3188</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3189"><a href="#L-3189"><span class="linenos">3189</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3190"><a href="#L-3190"><span class="linenos">3190</span></a> <span class="s2">&quot;postfix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3191"><a href="#L-3191"><span class="linenos">3191</span></a> <span class="p">}</span>
+</span><span id="L-3192"><a href="#L-3192"><span class="linenos">3192</span></a>
+</span><span id="L-3193"><a href="#L-3193"><span class="linenos">3193</span></a>
+</span><span id="L-3194"><a href="#L-3194"><span class="linenos">3194</span></a><span class="c1"># Represents both the standard SQL PIVOT operator and DuckDB&#39;s &quot;simplified&quot; PIVOT syntax</span>
+</span><span id="L-3195"><a href="#L-3195"><span class="linenos">3195</span></a><span class="c1"># https://duckdb.org/docs/sql/statements/pivot</span>
+</span><span id="L-3196"><a href="#L-3196"><span class="linenos">3196</span></a><span class="k">class</span> <span class="nc">Pivot</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3197"><a href="#L-3197"><span class="linenos">3197</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3198"><a href="#L-3198"><span class="linenos">3198</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3199"><a href="#L-3199"><span class="linenos">3199</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3200"><a href="#L-3200"><span class="linenos">3200</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-3201"><a href="#L-3201"><span class="linenos">3201</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3202"><a href="#L-3202"><span class="linenos">3202</span></a> <span class="s2">&quot;unpivot&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3203"><a href="#L-3203"><span class="linenos">3203</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3204"><a href="#L-3204"><span class="linenos">3204</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3205"><a href="#L-3205"><span class="linenos">3205</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3206"><a href="#L-3206"><span class="linenos">3206</span></a> <span class="p">}</span>
+</span><span id="L-3207"><a href="#L-3207"><span class="linenos">3207</span></a>
+</span><span id="L-3208"><a href="#L-3208"><span class="linenos">3208</span></a>
+</span><span id="L-3209"><a href="#L-3209"><span class="linenos">3209</span></a><span class="k">class</span> <span class="nc">Window</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3210"><a href="#L-3210"><span class="linenos">3210</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3211"><a href="#L-3211"><span class="linenos">3211</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-3212"><a href="#L-3212"><span class="linenos">3212</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3213"><a href="#L-3213"><span class="linenos">3213</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3214"><a href="#L-3214"><span class="linenos">3214</span></a> <span class="s2">&quot;spec&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3215"><a href="#L-3215"><span class="linenos">3215</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3216"><a href="#L-3216"><span class="linenos">3216</span></a> <span class="s2">&quot;over&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3217"><a href="#L-3217"><span class="linenos">3217</span></a> <span class="s2">&quot;first&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3218"><a href="#L-3218"><span class="linenos">3218</span></a> <span class="p">}</span>
+</span><span id="L-3219"><a href="#L-3219"><span class="linenos">3219</span></a>
+</span><span id="L-3220"><a href="#L-3220"><span class="linenos">3220</span></a>
+</span><span id="L-3221"><a href="#L-3221"><span class="linenos">3221</span></a><span class="k">class</span> <span class="nc">WindowSpec</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3222"><a href="#L-3222"><span class="linenos">3222</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3223"><a href="#L-3223"><span class="linenos">3223</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3224"><a href="#L-3224"><span class="linenos">3224</span></a> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3225"><a href="#L-3225"><span class="linenos">3225</span></a> <span class="s2">&quot;start_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3226"><a href="#L-3226"><span class="linenos">3226</span></a> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3227"><a href="#L-3227"><span class="linenos">3227</span></a> <span class="s2">&quot;end_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3228"><a href="#L-3228"><span class="linenos">3228</span></a> <span class="p">}</span>
+</span><span id="L-3229"><a href="#L-3229"><span class="linenos">3229</span></a>
</span><span id="L-3230"><a href="#L-3230"><span class="linenos">3230</span></a>
-</span><span id="L-3231"><a href="#L-3231"><span class="linenos">3231</span></a>
-</span><span id="L-3232"><a href="#L-3232"><span class="linenos">3232</span></a><span class="k">class</span> <span class="nc">SessionParameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3233"><a href="#L-3233"><span class="linenos">3233</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3231"><a href="#L-3231"><span class="linenos">3231</span></a><span class="k">class</span> <span class="nc">Where</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3232"><a href="#L-3232"><span class="linenos">3232</span></a> <span class="k">pass</span>
+</span><span id="L-3233"><a href="#L-3233"><span class="linenos">3233</span></a>
</span><span id="L-3234"><a href="#L-3234"><span class="linenos">3234</span></a>
-</span><span id="L-3235"><a href="#L-3235"><span class="linenos">3235</span></a>
-</span><span id="L-3236"><a href="#L-3236"><span class="linenos">3236</span></a><span class="k">class</span> <span class="nc">Placeholder</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3237"><a href="#L-3237"><span class="linenos">3237</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3238"><a href="#L-3238"><span class="linenos">3238</span></a>
-</span><span id="L-3239"><a href="#L-3239"><span class="linenos">3239</span></a>
-</span><span id="L-3240"><a href="#L-3240"><span class="linenos">3240</span></a><span class="k">class</span> <span class="nc">Null</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3241"><a href="#L-3241"><span class="linenos">3241</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-3242"><a href="#L-3242"><span class="linenos">3242</span></a>
-</span><span id="L-3243"><a href="#L-3243"><span class="linenos">3243</span></a> <span class="nd">@property</span>
-</span><span id="L-3244"><a href="#L-3244"><span class="linenos">3244</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3245"><a href="#L-3245"><span class="linenos">3245</span></a> <span class="k">return</span> <span class="s2">&quot;NULL&quot;</span>
+</span><span id="L-3235"><a href="#L-3235"><span class="linenos">3235</span></a><span class="k">class</span> <span class="nc">Star</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3236"><a href="#L-3236"><span class="linenos">3236</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;except&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3237"><a href="#L-3237"><span class="linenos">3237</span></a>
+</span><span id="L-3238"><a href="#L-3238"><span class="linenos">3238</span></a> <span class="nd">@property</span>
+</span><span id="L-3239"><a href="#L-3239"><span class="linenos">3239</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3240"><a href="#L-3240"><span class="linenos">3240</span></a> <span class="k">return</span> <span class="s2">&quot;*&quot;</span>
+</span><span id="L-3241"><a href="#L-3241"><span class="linenos">3241</span></a>
+</span><span id="L-3242"><a href="#L-3242"><span class="linenos">3242</span></a> <span class="nd">@property</span>
+</span><span id="L-3243"><a href="#L-3243"><span class="linenos">3243</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3244"><a href="#L-3244"><span class="linenos">3244</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-3245"><a href="#L-3245"><span class="linenos">3245</span></a>
</span><span id="L-3246"><a href="#L-3246"><span class="linenos">3246</span></a>
-</span><span id="L-3247"><a href="#L-3247"><span class="linenos">3247</span></a>
-</span><span id="L-3248"><a href="#L-3248"><span class="linenos">3248</span></a><span class="k">class</span> <span class="nc">Boolean</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3249"><a href="#L-3249"><span class="linenos">3249</span></a> <span class="k">pass</span>
+</span><span id="L-3247"><a href="#L-3247"><span class="linenos">3247</span></a><span class="k">class</span> <span class="nc">Parameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3248"><a href="#L-3248"><span class="linenos">3248</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;wrapped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3249"><a href="#L-3249"><span class="linenos">3249</span></a>
</span><span id="L-3250"><a href="#L-3250"><span class="linenos">3250</span></a>
-</span><span id="L-3251"><a href="#L-3251"><span class="linenos">3251</span></a>
-</span><span id="L-3252"><a href="#L-3252"><span class="linenos">3252</span></a><span class="k">class</span> <span class="nc">DataTypeSize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3253"><a href="#L-3253"><span class="linenos">3253</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3251"><a href="#L-3251"><span class="linenos">3251</span></a><span class="k">class</span> <span class="nc">SessionParameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3252"><a href="#L-3252"><span class="linenos">3252</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3253"><a href="#L-3253"><span class="linenos">3253</span></a>
</span><span id="L-3254"><a href="#L-3254"><span class="linenos">3254</span></a>
-</span><span id="L-3255"><a href="#L-3255"><span class="linenos">3255</span></a>
-</span><span id="L-3256"><a href="#L-3256"><span class="linenos">3256</span></a><span class="k">class</span> <span class="nc">DataType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3257"><a href="#L-3257"><span class="linenos">3257</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3258"><a href="#L-3258"><span class="linenos">3258</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-3259"><a href="#L-3259"><span class="linenos">3259</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3260"><a href="#L-3260"><span class="linenos">3260</span></a> <span class="s2">&quot;nested&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3261"><a href="#L-3261"><span class="linenos">3261</span></a> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3262"><a href="#L-3262"><span class="linenos">3262</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3263"><a href="#L-3263"><span class="linenos">3263</span></a> <span class="p">}</span>
-</span><span id="L-3264"><a href="#L-3264"><span class="linenos">3264</span></a>
-</span><span id="L-3265"><a href="#L-3265"><span class="linenos">3265</span></a> <span class="k">class</span> <span class="nc">Type</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="L-3266"><a href="#L-3266"><span class="linenos">3266</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3267"><a href="#L-3267"><span class="linenos">3267</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3268"><a href="#L-3268"><span class="linenos">3268</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3269"><a href="#L-3269"><span class="linenos">3269</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3270"><a href="#L-3270"><span class="linenos">3270</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3271"><a href="#L-3271"><span class="linenos">3271</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3272"><a href="#L-3272"><span class="linenos">3272</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3273"><a href="#L-3273"><span class="linenos">3273</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3274"><a href="#L-3274"><span class="linenos">3274</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3275"><a href="#L-3275"><span class="linenos">3275</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3276"><a href="#L-3276"><span class="linenos">3276</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3277"><a href="#L-3277"><span class="linenos">3277</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3278"><a href="#L-3278"><span class="linenos">3278</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3279"><a href="#L-3279"><span class="linenos">3279</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3280"><a href="#L-3280"><span class="linenos">3280</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3281"><a href="#L-3281"><span class="linenos">3281</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3282"><a href="#L-3282"><span class="linenos">3282</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3283"><a href="#L-3283"><span class="linenos">3283</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3284"><a href="#L-3284"><span class="linenos">3284</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3285"><a href="#L-3285"><span class="linenos">3285</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3286"><a href="#L-3286"><span class="linenos">3286</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3287"><a href="#L-3287"><span class="linenos">3287</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3288"><a href="#L-3288"><span class="linenos">3288</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3289"><a href="#L-3289"><span class="linenos">3289</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3290"><a href="#L-3290"><span class="linenos">3290</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3291"><a href="#L-3291"><span class="linenos">3291</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3292"><a href="#L-3292"><span class="linenos">3292</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3293"><a href="#L-3293"><span class="linenos">3293</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3294"><a href="#L-3294"><span class="linenos">3294</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3295"><a href="#L-3295"><span class="linenos">3295</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3296"><a href="#L-3296"><span class="linenos">3296</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3297"><a href="#L-3297"><span class="linenos">3297</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3298"><a href="#L-3298"><span class="linenos">3298</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3299"><a href="#L-3299"><span class="linenos">3299</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3300"><a href="#L-3300"><span class="linenos">3300</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3301"><a href="#L-3301"><span class="linenos">3301</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3302"><a href="#L-3302"><span class="linenos">3302</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3303"><a href="#L-3303"><span class="linenos">3303</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3304"><a href="#L-3304"><span class="linenos">3304</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3305"><a href="#L-3305"><span class="linenos">3305</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3306"><a href="#L-3306"><span class="linenos">3306</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3307"><a href="#L-3307"><span class="linenos">3307</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3308"><a href="#L-3308"><span class="linenos">3308</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3309"><a href="#L-3309"><span class="linenos">3309</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3310"><a href="#L-3310"><span class="linenos">3310</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3311"><a href="#L-3311"><span class="linenos">3311</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3312"><a href="#L-3312"><span class="linenos">3312</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3313"><a href="#L-3313"><span class="linenos">3313</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3314"><a href="#L-3314"><span class="linenos">3314</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3315"><a href="#L-3315"><span class="linenos">3315</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3316"><a href="#L-3316"><span class="linenos">3316</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3317"><a href="#L-3317"><span class="linenos">3317</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3318"><a href="#L-3318"><span class="linenos">3318</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3319"><a href="#L-3319"><span class="linenos">3319</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3320"><a href="#L-3320"><span class="linenos">3320</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3321"><a href="#L-3321"><span class="linenos">3321</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3322"><a href="#L-3322"><span class="linenos">3322</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3323"><a href="#L-3323"><span class="linenos">3323</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3324"><a href="#L-3324"><span class="linenos">3324</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3325"><a href="#L-3325"><span class="linenos">3325</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3326"><a href="#L-3326"><span class="linenos">3326</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3327"><a href="#L-3327"><span class="linenos">3327</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3328"><a href="#L-3328"><span class="linenos">3328</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3329"><a href="#L-3329"><span class="linenos">3329</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3330"><a href="#L-3330"><span class="linenos">3330</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3331"><a href="#L-3331"><span class="linenos">3331</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3332"><a href="#L-3332"><span class="linenos">3332</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3333"><a href="#L-3333"><span class="linenos">3333</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3334"><a href="#L-3334"><span class="linenos">3334</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span> <span class="c1"># Sentinel value, useful for type annotation</span>
-</span><span id="L-3335"><a href="#L-3335"><span class="linenos">3335</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3336"><a href="#L-3336"><span class="linenos">3336</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3337"><a href="#L-3337"><span class="linenos">3337</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3338"><a href="#L-3338"><span class="linenos">3338</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3339"><a href="#L-3339"><span class="linenos">3339</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3340"><a href="#L-3340"><span class="linenos">3340</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3341"><a href="#L-3341"><span class="linenos">3341</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3342"><a href="#L-3342"><span class="linenos">3342</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="L-3343"><a href="#L-3343"><span class="linenos">3343</span></a>
-</span><span id="L-3344"><a href="#L-3344"><span class="linenos">3344</span></a> <span class="n">TEXT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3345"><a href="#L-3345"><span class="linenos">3345</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
-</span><span id="L-3346"><a href="#L-3346"><span class="linenos">3346</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
-</span><span id="L-3347"><a href="#L-3347"><span class="linenos">3347</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
-</span><span id="L-3348"><a href="#L-3348"><span class="linenos">3348</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
-</span><span id="L-3349"><a href="#L-3349"><span class="linenos">3349</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="L-3350"><a href="#L-3350"><span class="linenos">3350</span></a> <span class="p">}</span>
-</span><span id="L-3351"><a href="#L-3351"><span class="linenos">3351</span></a>
-</span><span id="L-3352"><a href="#L-3352"><span class="linenos">3352</span></a> <span class="n">INTEGER_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3353"><a href="#L-3353"><span class="linenos">3353</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="L-3354"><a href="#L-3354"><span class="linenos">3354</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="L-3355"><a href="#L-3355"><span class="linenos">3355</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="L-3356"><a href="#L-3356"><span class="linenos">3356</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="L-3357"><a href="#L-3357"><span class="linenos">3357</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
-</span><span id="L-3358"><a href="#L-3358"><span class="linenos">3358</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT256</span><span class="p">,</span>
-</span><span id="L-3359"><a href="#L-3359"><span class="linenos">3359</span></a> <span class="p">}</span>
-</span><span id="L-3360"><a href="#L-3360"><span class="linenos">3360</span></a>
-</span><span id="L-3361"><a href="#L-3361"><span class="linenos">3361</span></a> <span class="n">FLOAT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3362"><a href="#L-3362"><span class="linenos">3362</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="L-3363"><a href="#L-3363"><span class="linenos">3363</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="L-3364"><a href="#L-3364"><span class="linenos">3364</span></a> <span class="p">}</span>
-</span><span id="L-3365"><a href="#L-3365"><span class="linenos">3365</span></a>
-</span><span id="L-3366"><a href="#L-3366"><span class="linenos">3366</span></a> <span class="n">NUMERIC_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="o">*</span><span class="n">INTEGER_TYPES</span><span class="p">,</span> <span class="o">*</span><span class="n">FLOAT_TYPES</span><span class="p">}</span>
-</span><span id="L-3367"><a href="#L-3367"><span class="linenos">3367</span></a>
-</span><span id="L-3368"><a href="#L-3368"><span class="linenos">3368</span></a> <span class="n">TEMPORAL_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3369"><a href="#L-3369"><span class="linenos">3369</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
-</span><span id="L-3370"><a href="#L-3370"><span class="linenos">3370</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
-</span><span id="L-3371"><a href="#L-3371"><span class="linenos">3371</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
-</span><span id="L-3372"><a href="#L-3372"><span class="linenos">3372</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
-</span><span id="L-3373"><a href="#L-3373"><span class="linenos">3373</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
-</span><span id="L-3374"><a href="#L-3374"><span class="linenos">3374</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
-</span><span id="L-3375"><a href="#L-3375"><span class="linenos">3375</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME64</span><span class="p">,</span>
-</span><span id="L-3376"><a href="#L-3376"><span class="linenos">3376</span></a> <span class="p">}</span>
-</span><span id="L-3377"><a href="#L-3377"><span class="linenos">3377</span></a>
-</span><span id="L-3378"><a href="#L-3378"><span class="linenos">3378</span></a> <span class="n">META_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;UNKNOWN&quot;</span><span class="p">,</span> <span class="s2">&quot;NULL&quot;</span><span class="p">}</span>
-</span><span id="L-3379"><a href="#L-3379"><span class="linenos">3379</span></a>
-</span><span id="L-3380"><a href="#L-3380"><span class="linenos">3380</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-3381"><a href="#L-3381"><span class="linenos">3381</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span>
-</span><span id="L-3382"><a href="#L-3382"><span class="linenos">3382</span></a> <span class="bp">cls</span><span class="p">,</span> <span class="n">dtype</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span>
-</span><span id="L-3383"><a href="#L-3383"><span class="linenos">3383</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
-</span><span id="L-3384"><a href="#L-3384"><span class="linenos">3384</span></a> <span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">parse_one</span>
+</span><span id="L-3255"><a href="#L-3255"><span class="linenos">3255</span></a><span class="k">class</span> <span class="nc">Placeholder</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3256"><a href="#L-3256"><span class="linenos">3256</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3257"><a href="#L-3257"><span class="linenos">3257</span></a>
+</span><span id="L-3258"><a href="#L-3258"><span class="linenos">3258</span></a>
+</span><span id="L-3259"><a href="#L-3259"><span class="linenos">3259</span></a><span class="k">class</span> <span class="nc">Null</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3260"><a href="#L-3260"><span class="linenos">3260</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-3261"><a href="#L-3261"><span class="linenos">3261</span></a>
+</span><span id="L-3262"><a href="#L-3262"><span class="linenos">3262</span></a> <span class="nd">@property</span>
+</span><span id="L-3263"><a href="#L-3263"><span class="linenos">3263</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3264"><a href="#L-3264"><span class="linenos">3264</span></a> <span class="k">return</span> <span class="s2">&quot;NULL&quot;</span>
+</span><span id="L-3265"><a href="#L-3265"><span class="linenos">3265</span></a>
+</span><span id="L-3266"><a href="#L-3266"><span class="linenos">3266</span></a>
+</span><span id="L-3267"><a href="#L-3267"><span class="linenos">3267</span></a><span class="k">class</span> <span class="nc">Boolean</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3268"><a href="#L-3268"><span class="linenos">3268</span></a> <span class="k">pass</span>
+</span><span id="L-3269"><a href="#L-3269"><span class="linenos">3269</span></a>
+</span><span id="L-3270"><a href="#L-3270"><span class="linenos">3270</span></a>
+</span><span id="L-3271"><a href="#L-3271"><span class="linenos">3271</span></a><span class="k">class</span> <span class="nc">DataTypeSize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3272"><a href="#L-3272"><span class="linenos">3272</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3273"><a href="#L-3273"><span class="linenos">3273</span></a>
+</span><span id="L-3274"><a href="#L-3274"><span class="linenos">3274</span></a>
+</span><span id="L-3275"><a href="#L-3275"><span class="linenos">3275</span></a><span class="k">class</span> <span class="nc">DataType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3276"><a href="#L-3276"><span class="linenos">3276</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3277"><a href="#L-3277"><span class="linenos">3277</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-3278"><a href="#L-3278"><span class="linenos">3278</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3279"><a href="#L-3279"><span class="linenos">3279</span></a> <span class="s2">&quot;nested&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3280"><a href="#L-3280"><span class="linenos">3280</span></a> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3281"><a href="#L-3281"><span class="linenos">3281</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3282"><a href="#L-3282"><span class="linenos">3282</span></a> <span class="p">}</span>
+</span><span id="L-3283"><a href="#L-3283"><span class="linenos">3283</span></a>
+</span><span id="L-3284"><a href="#L-3284"><span class="linenos">3284</span></a> <span class="k">class</span> <span class="nc">Type</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
+</span><span id="L-3285"><a href="#L-3285"><span class="linenos">3285</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3286"><a href="#L-3286"><span class="linenos">3286</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3287"><a href="#L-3287"><span class="linenos">3287</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3288"><a href="#L-3288"><span class="linenos">3288</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3289"><a href="#L-3289"><span class="linenos">3289</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3290"><a href="#L-3290"><span class="linenos">3290</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3291"><a href="#L-3291"><span class="linenos">3291</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3292"><a href="#L-3292"><span class="linenos">3292</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3293"><a href="#L-3293"><span class="linenos">3293</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3294"><a href="#L-3294"><span class="linenos">3294</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3295"><a href="#L-3295"><span class="linenos">3295</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3296"><a href="#L-3296"><span class="linenos">3296</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3297"><a href="#L-3297"><span class="linenos">3297</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3298"><a href="#L-3298"><span class="linenos">3298</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3299"><a href="#L-3299"><span class="linenos">3299</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3300"><a href="#L-3300"><span class="linenos">3300</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3301"><a href="#L-3301"><span class="linenos">3301</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3302"><a href="#L-3302"><span class="linenos">3302</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3303"><a href="#L-3303"><span class="linenos">3303</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3304"><a href="#L-3304"><span class="linenos">3304</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3305"><a href="#L-3305"><span class="linenos">3305</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3306"><a href="#L-3306"><span class="linenos">3306</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3307"><a href="#L-3307"><span class="linenos">3307</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3308"><a href="#L-3308"><span class="linenos">3308</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3309"><a href="#L-3309"><span class="linenos">3309</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3310"><a href="#L-3310"><span class="linenos">3310</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3311"><a href="#L-3311"><span class="linenos">3311</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3312"><a href="#L-3312"><span class="linenos">3312</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3313"><a href="#L-3313"><span class="linenos">3313</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3314"><a href="#L-3314"><span class="linenos">3314</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3315"><a href="#L-3315"><span class="linenos">3315</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3316"><a href="#L-3316"><span class="linenos">3316</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3317"><a href="#L-3317"><span class="linenos">3317</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3318"><a href="#L-3318"><span class="linenos">3318</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3319"><a href="#L-3319"><span class="linenos">3319</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3320"><a href="#L-3320"><span class="linenos">3320</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3321"><a href="#L-3321"><span class="linenos">3321</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3322"><a href="#L-3322"><span class="linenos">3322</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3323"><a href="#L-3323"><span class="linenos">3323</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3324"><a href="#L-3324"><span class="linenos">3324</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3325"><a href="#L-3325"><span class="linenos">3325</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3326"><a href="#L-3326"><span class="linenos">3326</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3327"><a href="#L-3327"><span class="linenos">3327</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3328"><a href="#L-3328"><span class="linenos">3328</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3329"><a href="#L-3329"><span class="linenos">3329</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3330"><a href="#L-3330"><span class="linenos">3330</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3331"><a href="#L-3331"><span class="linenos">3331</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3332"><a href="#L-3332"><span class="linenos">3332</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3333"><a href="#L-3333"><span class="linenos">3333</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3334"><a href="#L-3334"><span class="linenos">3334</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3335"><a href="#L-3335"><span class="linenos">3335</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3336"><a href="#L-3336"><span class="linenos">3336</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3337"><a href="#L-3337"><span class="linenos">3337</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3338"><a href="#L-3338"><span class="linenos">3338</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3339"><a href="#L-3339"><span class="linenos">3339</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3340"><a href="#L-3340"><span class="linenos">3340</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3341"><a href="#L-3341"><span class="linenos">3341</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3342"><a href="#L-3342"><span class="linenos">3342</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3343"><a href="#L-3343"><span class="linenos">3343</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3344"><a href="#L-3344"><span class="linenos">3344</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3345"><a href="#L-3345"><span class="linenos">3345</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3346"><a href="#L-3346"><span class="linenos">3346</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3347"><a href="#L-3347"><span class="linenos">3347</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3348"><a href="#L-3348"><span class="linenos">3348</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3349"><a href="#L-3349"><span class="linenos">3349</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3350"><a href="#L-3350"><span class="linenos">3350</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3351"><a href="#L-3351"><span class="linenos">3351</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3352"><a href="#L-3352"><span class="linenos">3352</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3353"><a href="#L-3353"><span class="linenos">3353</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span> <span class="c1"># Sentinel value, useful for type annotation</span>
+</span><span id="L-3354"><a href="#L-3354"><span class="linenos">3354</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3355"><a href="#L-3355"><span class="linenos">3355</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3356"><a href="#L-3356"><span class="linenos">3356</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3357"><a href="#L-3357"><span class="linenos">3357</span></a> <span class="n">USERDEFINED</span> <span class="o">=</span> <span class="s2">&quot;USER-DEFINED&quot;</span>
+</span><span id="L-3358"><a href="#L-3358"><span class="linenos">3358</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3359"><a href="#L-3359"><span class="linenos">3359</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3360"><a href="#L-3360"><span class="linenos">3360</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3361"><a href="#L-3361"><span class="linenos">3361</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3362"><a href="#L-3362"><span class="linenos">3362</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="L-3363"><a href="#L-3363"><span class="linenos">3363</span></a>
+</span><span id="L-3364"><a href="#L-3364"><span class="linenos">3364</span></a> <span class="n">TEXT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3365"><a href="#L-3365"><span class="linenos">3365</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
+</span><span id="L-3366"><a href="#L-3366"><span class="linenos">3366</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
+</span><span id="L-3367"><a href="#L-3367"><span class="linenos">3367</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
+</span><span id="L-3368"><a href="#L-3368"><span class="linenos">3368</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
+</span><span id="L-3369"><a href="#L-3369"><span class="linenos">3369</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="L-3370"><a href="#L-3370"><span class="linenos">3370</span></a> <span class="p">}</span>
+</span><span id="L-3371"><a href="#L-3371"><span class="linenos">3371</span></a>
+</span><span id="L-3372"><a href="#L-3372"><span class="linenos">3372</span></a> <span class="n">INTEGER_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3373"><a href="#L-3373"><span class="linenos">3373</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="L-3374"><a href="#L-3374"><span class="linenos">3374</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="L-3375"><a href="#L-3375"><span class="linenos">3375</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="L-3376"><a href="#L-3376"><span class="linenos">3376</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="L-3377"><a href="#L-3377"><span class="linenos">3377</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
+</span><span id="L-3378"><a href="#L-3378"><span class="linenos">3378</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT256</span><span class="p">,</span>
+</span><span id="L-3379"><a href="#L-3379"><span class="linenos">3379</span></a> <span class="p">}</span>
+</span><span id="L-3380"><a href="#L-3380"><span class="linenos">3380</span></a>
+</span><span id="L-3381"><a href="#L-3381"><span class="linenos">3381</span></a> <span class="n">FLOAT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3382"><a href="#L-3382"><span class="linenos">3382</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="L-3383"><a href="#L-3383"><span class="linenos">3383</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="L-3384"><a href="#L-3384"><span class="linenos">3384</span></a> <span class="p">}</span>
</span><span id="L-3385"><a href="#L-3385"><span class="linenos">3385</span></a>
-</span><span id="L-3386"><a href="#L-3386"><span class="linenos">3386</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="L-3387"><a href="#L-3387"><span class="linenos">3387</span></a> <span class="n">upper</span> <span class="o">=</span> <span class="n">dtype</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="L-3388"><a href="#L-3388"><span class="linenos">3388</span></a> <span class="k">if</span> <span class="n">upper</span> <span class="ow">in</span> <span class="n">DataType</span><span class="o">.</span><span class="n">META_TYPES</span><span class="p">:</span>
-</span><span id="L-3389"><a href="#L-3389"><span class="linenos">3389</span></a> <span class="n">data_type_exp</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">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">upper</span><span class="p">])</span>
-</span><span id="L-3390"><a href="#L-3390"><span class="linenos">3390</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-3391"><a href="#L-3391"><span class="linenos">3391</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">parse_one</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">DataType</span><span class="p">)</span>
-</span><span id="L-3392"><a href="#L-3392"><span class="linenos">3392</span></a>
-</span><span id="L-3393"><a href="#L-3393"><span class="linenos">3393</span></a> <span class="k">if</span> <span class="n">data_type_exp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-3394"><a href="#L-3394"><span class="linenos">3394</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unparsable data type value: </span><span class="si">{</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="L-3395"><a href="#L-3395"><span class="linenos">3395</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">):</span>
-</span><span id="L-3396"><a href="#L-3396"><span class="linenos">3396</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span>
-</span><span id="L-3397"><a href="#L-3397"><span class="linenos">3397</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="p">):</span>
-</span><span id="L-3398"><a href="#L-3398"><span class="linenos">3398</span></a> <span class="k">return</span> <span class="n">dtype</span>
-</span><span id="L-3399"><a href="#L-3399"><span class="linenos">3399</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-3400"><a href="#L-3400"><span class="linenos">3400</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid data type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="si">}</span><span class="s2">. Expected str or DataType.Type&quot;</span><span class="p">)</span>
-</span><span id="L-3401"><a href="#L-3401"><span class="linenos">3401</span></a>
-</span><span id="L-3402"><a href="#L-3402"><span class="linenos">3402</span></a> <span class="k">return</span> <span class="n">DataType</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="o">**</span><span class="n">data_type_exp</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">})</span>
-</span><span id="L-3403"><a href="#L-3403"><span class="linenos">3403</span></a>
-</span><span id="L-3404"><a href="#L-3404"><span class="linenos">3404</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-3405"><a href="#L-3405"><span class="linenos">3405</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">this</span> <span class="k">for</span> <span class="n">dtype</span> <span class="ow">in</span> <span class="n">dtypes</span><span class="p">)</span>
-</span><span id="L-3406"><a href="#L-3406"><span class="linenos">3406</span></a>
-</span><span id="L-3407"><a href="#L-3407"><span class="linenos">3407</span></a>
-</span><span id="L-3408"><a href="#L-3408"><span class="linenos">3408</span></a><span class="c1"># https://www.postgresql.org/docs/15/datatype-pseudo.html</span>
-</span><span id="L-3409"><a href="#L-3409"><span class="linenos">3409</span></a><span class="k">class</span> <span class="nc">PseudoType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3410"><a href="#L-3410"><span class="linenos">3410</span></a> <span class="k">pass</span>
-</span><span id="L-3411"><a href="#L-3411"><span class="linenos">3411</span></a>
+</span><span id="L-3386"><a href="#L-3386"><span class="linenos">3386</span></a> <span class="n">NUMERIC_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="o">*</span><span class="n">INTEGER_TYPES</span><span class="p">,</span> <span class="o">*</span><span class="n">FLOAT_TYPES</span><span class="p">}</span>
+</span><span id="L-3387"><a href="#L-3387"><span class="linenos">3387</span></a>
+</span><span id="L-3388"><a href="#L-3388"><span class="linenos">3388</span></a> <span class="n">TEMPORAL_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3389"><a href="#L-3389"><span class="linenos">3389</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
+</span><span id="L-3390"><a href="#L-3390"><span class="linenos">3390</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
+</span><span id="L-3391"><a href="#L-3391"><span class="linenos">3391</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
+</span><span id="L-3392"><a href="#L-3392"><span class="linenos">3392</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
+</span><span id="L-3393"><a href="#L-3393"><span class="linenos">3393</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
+</span><span id="L-3394"><a href="#L-3394"><span class="linenos">3394</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
+</span><span id="L-3395"><a href="#L-3395"><span class="linenos">3395</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME64</span><span class="p">,</span>
+</span><span id="L-3396"><a href="#L-3396"><span class="linenos">3396</span></a> <span class="p">}</span>
+</span><span id="L-3397"><a href="#L-3397"><span class="linenos">3397</span></a>
+</span><span id="L-3398"><a href="#L-3398"><span class="linenos">3398</span></a> <span class="n">META_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;UNKNOWN&quot;</span><span class="p">,</span> <span class="s2">&quot;NULL&quot;</span><span class="p">}</span>
+</span><span id="L-3399"><a href="#L-3399"><span class="linenos">3399</span></a>
+</span><span id="L-3400"><a href="#L-3400"><span class="linenos">3400</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-3401"><a href="#L-3401"><span class="linenos">3401</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span>
+</span><span id="L-3402"><a href="#L-3402"><span class="linenos">3402</span></a> <span class="bp">cls</span><span class="p">,</span> <span class="n">dtype</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span>
+</span><span id="L-3403"><a href="#L-3403"><span class="linenos">3403</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
+</span><span id="L-3404"><a href="#L-3404"><span class="linenos">3404</span></a> <span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">parse_one</span>
+</span><span id="L-3405"><a href="#L-3405"><span class="linenos">3405</span></a>
+</span><span id="L-3406"><a href="#L-3406"><span class="linenos">3406</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="L-3407"><a href="#L-3407"><span class="linenos">3407</span></a> <span class="n">upper</span> <span class="o">=</span> <span class="n">dtype</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="L-3408"><a href="#L-3408"><span class="linenos">3408</span></a> <span class="k">if</span> <span class="n">upper</span> <span class="ow">in</span> <span class="n">DataType</span><span class="o">.</span><span class="n">META_TYPES</span><span class="p">:</span>
+</span><span id="L-3409"><a href="#L-3409"><span class="linenos">3409</span></a> <span class="n">data_type_exp</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">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">upper</span><span class="p">])</span>
+</span><span id="L-3410"><a href="#L-3410"><span class="linenos">3410</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-3411"><a href="#L-3411"><span class="linenos">3411</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">parse_one</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">DataType</span><span class="p">)</span>
</span><span id="L-3412"><a href="#L-3412"><span class="linenos">3412</span></a>
-</span><span id="L-3413"><a href="#L-3413"><span class="linenos">3413</span></a><span class="c1"># WHERE x &lt;OP&gt; EXISTS|ALL|ANY|SOME(SELECT ...)</span>
-</span><span id="L-3414"><a href="#L-3414"><span class="linenos">3414</span></a><span class="k">class</span> <span class="nc">SubqueryPredicate</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
-</span><span id="L-3415"><a href="#L-3415"><span class="linenos">3415</span></a> <span class="k">pass</span>
-</span><span id="L-3416"><a href="#L-3416"><span class="linenos">3416</span></a>
-</span><span id="L-3417"><a href="#L-3417"><span class="linenos">3417</span></a>
-</span><span id="L-3418"><a href="#L-3418"><span class="linenos">3418</span></a><span class="k">class</span> <span class="nc">All</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
-</span><span id="L-3419"><a href="#L-3419"><span class="linenos">3419</span></a> <span class="k">pass</span>
-</span><span id="L-3420"><a href="#L-3420"><span class="linenos">3420</span></a>
+</span><span id="L-3413"><a href="#L-3413"><span class="linenos">3413</span></a> <span class="k">if</span> <span class="n">data_type_exp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-3414"><a href="#L-3414"><span class="linenos">3414</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unparsable data type value: </span><span class="si">{</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-3415"><a href="#L-3415"><span class="linenos">3415</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">):</span>
+</span><span id="L-3416"><a href="#L-3416"><span class="linenos">3416</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span>
+</span><span id="L-3417"><a href="#L-3417"><span class="linenos">3417</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="p">):</span>
+</span><span id="L-3418"><a href="#L-3418"><span class="linenos">3418</span></a> <span class="k">return</span> <span class="n">dtype</span>
+</span><span id="L-3419"><a href="#L-3419"><span class="linenos">3419</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-3420"><a href="#L-3420"><span class="linenos">3420</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid data type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="si">}</span><span class="s2">. Expected str or DataType.Type&quot;</span><span class="p">)</span>
</span><span id="L-3421"><a href="#L-3421"><span class="linenos">3421</span></a>
-</span><span id="L-3422"><a href="#L-3422"><span class="linenos">3422</span></a><span class="k">class</span> <span class="nc">Any</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
-</span><span id="L-3423"><a href="#L-3423"><span class="linenos">3423</span></a> <span class="k">pass</span>
-</span><span id="L-3424"><a href="#L-3424"><span class="linenos">3424</span></a>
-</span><span id="L-3425"><a href="#L-3425"><span class="linenos">3425</span></a>
-</span><span id="L-3426"><a href="#L-3426"><span class="linenos">3426</span></a><span class="k">class</span> <span class="nc">Exists</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
-</span><span id="L-3427"><a href="#L-3427"><span class="linenos">3427</span></a> <span class="k">pass</span>
-</span><span id="L-3428"><a href="#L-3428"><span class="linenos">3428</span></a>
-</span><span id="L-3429"><a href="#L-3429"><span class="linenos">3429</span></a>
-</span><span id="L-3430"><a href="#L-3430"><span class="linenos">3430</span></a><span class="c1"># Commands to interact with the databases or engines. For most of the command</span>
-</span><span id="L-3431"><a href="#L-3431"><span class="linenos">3431</span></a><span class="c1"># expressions we parse whatever comes after the command&#39;s name as a string.</span>
-</span><span id="L-3432"><a href="#L-3432"><span class="linenos">3432</span></a><span class="k">class</span> <span class="nc">Command</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3433"><a href="#L-3433"><span class="linenos">3433</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3434"><a href="#L-3434"><span class="linenos">3434</span></a>
-</span><span id="L-3435"><a href="#L-3435"><span class="linenos">3435</span></a>
-</span><span id="L-3436"><a href="#L-3436"><span class="linenos">3436</span></a><span class="k">class</span> <span class="nc">Transaction</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3437"><a href="#L-3437"><span class="linenos">3437</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;modes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3438"><a href="#L-3438"><span class="linenos">3438</span></a>
-</span><span id="L-3439"><a href="#L-3439"><span class="linenos">3439</span></a>
-</span><span id="L-3440"><a href="#L-3440"><span class="linenos">3440</span></a><span class="k">class</span> <span class="nc">Commit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3441"><a href="#L-3441"><span class="linenos">3441</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;chain&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3442"><a href="#L-3442"><span class="linenos">3442</span></a>
-</span><span id="L-3443"><a href="#L-3443"><span class="linenos">3443</span></a>
-</span><span id="L-3444"><a href="#L-3444"><span class="linenos">3444</span></a><span class="k">class</span> <span class="nc">Rollback</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3445"><a href="#L-3445"><span class="linenos">3445</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;savepoint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3446"><a href="#L-3446"><span class="linenos">3446</span></a>
-</span><span id="L-3447"><a href="#L-3447"><span class="linenos">3447</span></a>
-</span><span id="L-3448"><a href="#L-3448"><span class="linenos">3448</span></a><span class="k">class</span> <span class="nc">AlterTable</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3449"><a href="#L-3449"><span class="linenos">3449</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;actions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3450"><a href="#L-3450"><span class="linenos">3450</span></a>
-</span><span id="L-3451"><a href="#L-3451"><span class="linenos">3451</span></a>
-</span><span id="L-3452"><a href="#L-3452"><span class="linenos">3452</span></a><span class="k">class</span> <span class="nc">AddConstraint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3453"><a href="#L-3453"><span class="linenos">3453</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;enforced&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3422"><a href="#L-3422"><span class="linenos">3422</span></a> <span class="k">return</span> <span class="n">DataType</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="o">**</span><span class="n">data_type_exp</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">})</span>
+</span><span id="L-3423"><a href="#L-3423"><span class="linenos">3423</span></a>
+</span><span id="L-3424"><a href="#L-3424"><span class="linenos">3424</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-3425"><a href="#L-3425"><span class="linenos">3425</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">this</span> <span class="k">for</span> <span class="n">dtype</span> <span class="ow">in</span> <span class="n">dtypes</span><span class="p">)</span>
+</span><span id="L-3426"><a href="#L-3426"><span class="linenos">3426</span></a>
+</span><span id="L-3427"><a href="#L-3427"><span class="linenos">3427</span></a>
+</span><span id="L-3428"><a href="#L-3428"><span class="linenos">3428</span></a><span class="c1"># https://www.postgresql.org/docs/15/datatype-pseudo.html</span>
+</span><span id="L-3429"><a href="#L-3429"><span class="linenos">3429</span></a><span class="k">class</span> <span class="nc">PseudoType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3430"><a href="#L-3430"><span class="linenos">3430</span></a> <span class="k">pass</span>
+</span><span id="L-3431"><a href="#L-3431"><span class="linenos">3431</span></a>
+</span><span id="L-3432"><a href="#L-3432"><span class="linenos">3432</span></a>
+</span><span id="L-3433"><a href="#L-3433"><span class="linenos">3433</span></a><span class="c1"># WHERE x &lt;OP&gt; EXISTS|ALL|ANY|SOME(SELECT ...)</span>
+</span><span id="L-3434"><a href="#L-3434"><span class="linenos">3434</span></a><span class="k">class</span> <span class="nc">SubqueryPredicate</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3435"><a href="#L-3435"><span class="linenos">3435</span></a> <span class="k">pass</span>
+</span><span id="L-3436"><a href="#L-3436"><span class="linenos">3436</span></a>
+</span><span id="L-3437"><a href="#L-3437"><span class="linenos">3437</span></a>
+</span><span id="L-3438"><a href="#L-3438"><span class="linenos">3438</span></a><span class="k">class</span> <span class="nc">All</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
+</span><span id="L-3439"><a href="#L-3439"><span class="linenos">3439</span></a> <span class="k">pass</span>
+</span><span id="L-3440"><a href="#L-3440"><span class="linenos">3440</span></a>
+</span><span id="L-3441"><a href="#L-3441"><span class="linenos">3441</span></a>
+</span><span id="L-3442"><a href="#L-3442"><span class="linenos">3442</span></a><span class="k">class</span> <span class="nc">Any</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
+</span><span id="L-3443"><a href="#L-3443"><span class="linenos">3443</span></a> <span class="k">pass</span>
+</span><span id="L-3444"><a href="#L-3444"><span class="linenos">3444</span></a>
+</span><span id="L-3445"><a href="#L-3445"><span class="linenos">3445</span></a>
+</span><span id="L-3446"><a href="#L-3446"><span class="linenos">3446</span></a><span class="k">class</span> <span class="nc">Exists</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
+</span><span id="L-3447"><a href="#L-3447"><span class="linenos">3447</span></a> <span class="k">pass</span>
+</span><span id="L-3448"><a href="#L-3448"><span class="linenos">3448</span></a>
+</span><span id="L-3449"><a href="#L-3449"><span class="linenos">3449</span></a>
+</span><span id="L-3450"><a href="#L-3450"><span class="linenos">3450</span></a><span class="c1"># Commands to interact with the databases or engines. For most of the command</span>
+</span><span id="L-3451"><a href="#L-3451"><span class="linenos">3451</span></a><span class="c1"># expressions we parse whatever comes after the command&#39;s name as a string.</span>
+</span><span id="L-3452"><a href="#L-3452"><span class="linenos">3452</span></a><span class="k">class</span> <span class="nc">Command</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3453"><a href="#L-3453"><span class="linenos">3453</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3454"><a href="#L-3454"><span class="linenos">3454</span></a>
</span><span id="L-3455"><a href="#L-3455"><span class="linenos">3455</span></a>
-</span><span id="L-3456"><a href="#L-3456"><span class="linenos">3456</span></a><span class="k">class</span> <span class="nc">DropPartition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3457"><a href="#L-3457"><span class="linenos">3457</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3456"><a href="#L-3456"><span class="linenos">3456</span></a><span class="k">class</span> <span class="nc">Transaction</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3457"><a href="#L-3457"><span class="linenos">3457</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;modes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3458"><a href="#L-3458"><span class="linenos">3458</span></a>
</span><span id="L-3459"><a href="#L-3459"><span class="linenos">3459</span></a>
-</span><span id="L-3460"><a href="#L-3460"><span class="linenos">3460</span></a><span class="c1"># Binary expressions like (ADD a b)</span>
-</span><span id="L-3461"><a href="#L-3461"><span class="linenos">3461</span></a><span class="k">class</span> <span class="nc">Binary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3462"><a href="#L-3462"><span class="linenos">3462</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3460"><a href="#L-3460"><span class="linenos">3460</span></a><span class="k">class</span> <span class="nc">Commit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3461"><a href="#L-3461"><span class="linenos">3461</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;chain&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3462"><a href="#L-3462"><span class="linenos">3462</span></a>
</span><span id="L-3463"><a href="#L-3463"><span class="linenos">3463</span></a>
-</span><span id="L-3464"><a href="#L-3464"><span class="linenos">3464</span></a> <span class="nd">@property</span>
-</span><span id="L-3465"><a href="#L-3465"><span class="linenos">3465</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-3466"><a href="#L-3466"><span class="linenos">3466</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
+</span><span id="L-3464"><a href="#L-3464"><span class="linenos">3464</span></a><span class="k">class</span> <span class="nc">Rollback</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3465"><a href="#L-3465"><span class="linenos">3465</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;savepoint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3466"><a href="#L-3466"><span class="linenos">3466</span></a>
</span><span id="L-3467"><a href="#L-3467"><span class="linenos">3467</span></a>
-</span><span id="L-3468"><a href="#L-3468"><span class="linenos">3468</span></a> <span class="nd">@property</span>
-</span><span id="L-3469"><a href="#L-3469"><span class="linenos">3469</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-3470"><a href="#L-3470"><span class="linenos">3470</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
+</span><span id="L-3468"><a href="#L-3468"><span class="linenos">3468</span></a><span class="k">class</span> <span class="nc">AlterTable</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3469"><a href="#L-3469"><span class="linenos">3469</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;actions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3470"><a href="#L-3470"><span class="linenos">3470</span></a>
</span><span id="L-3471"><a href="#L-3471"><span class="linenos">3471</span></a>
-</span><span id="L-3472"><a href="#L-3472"><span class="linenos">3472</span></a>
-</span><span id="L-3473"><a href="#L-3473"><span class="linenos">3473</span></a><span class="k">class</span> <span class="nc">Add</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3474"><a href="#L-3474"><span class="linenos">3474</span></a> <span class="k">pass</span>
+</span><span id="L-3472"><a href="#L-3472"><span class="linenos">3472</span></a><span class="k">class</span> <span class="nc">AddConstraint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3473"><a href="#L-3473"><span class="linenos">3473</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;enforced&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3474"><a href="#L-3474"><span class="linenos">3474</span></a>
</span><span id="L-3475"><a href="#L-3475"><span class="linenos">3475</span></a>
-</span><span id="L-3476"><a href="#L-3476"><span class="linenos">3476</span></a>
-</span><span id="L-3477"><a href="#L-3477"><span class="linenos">3477</span></a><span class="k">class</span> <span class="nc">Connector</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3478"><a href="#L-3478"><span class="linenos">3478</span></a> <span class="k">pass</span>
+</span><span id="L-3476"><a href="#L-3476"><span class="linenos">3476</span></a><span class="k">class</span> <span class="nc">DropPartition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3477"><a href="#L-3477"><span class="linenos">3477</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3478"><a href="#L-3478"><span class="linenos">3478</span></a>
</span><span id="L-3479"><a href="#L-3479"><span class="linenos">3479</span></a>
-</span><span id="L-3480"><a href="#L-3480"><span class="linenos">3480</span></a>
-</span><span id="L-3481"><a href="#L-3481"><span class="linenos">3481</span></a><span class="k">class</span> <span class="nc">And</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
-</span><span id="L-3482"><a href="#L-3482"><span class="linenos">3482</span></a> <span class="k">pass</span>
+</span><span id="L-3480"><a href="#L-3480"><span class="linenos">3480</span></a><span class="c1"># Binary expressions like (ADD a b)</span>
+</span><span id="L-3481"><a href="#L-3481"><span class="linenos">3481</span></a><span class="k">class</span> <span class="nc">Binary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3482"><a href="#L-3482"><span class="linenos">3482</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-3483"><a href="#L-3483"><span class="linenos">3483</span></a>
-</span><span id="L-3484"><a href="#L-3484"><span class="linenos">3484</span></a>
-</span><span id="L-3485"><a href="#L-3485"><span class="linenos">3485</span></a><span class="k">class</span> <span class="nc">Or</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
-</span><span id="L-3486"><a href="#L-3486"><span class="linenos">3486</span></a> <span class="k">pass</span>
+</span><span id="L-3484"><a href="#L-3484"><span class="linenos">3484</span></a> <span class="nd">@property</span>
+</span><span id="L-3485"><a href="#L-3485"><span class="linenos">3485</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-3486"><a href="#L-3486"><span class="linenos">3486</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
</span><span id="L-3487"><a href="#L-3487"><span class="linenos">3487</span></a>
-</span><span id="L-3488"><a href="#L-3488"><span class="linenos">3488</span></a>
-</span><span id="L-3489"><a href="#L-3489"><span class="linenos">3489</span></a><span class="k">class</span> <span class="nc">BitwiseAnd</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3490"><a href="#L-3490"><span class="linenos">3490</span></a> <span class="k">pass</span>
+</span><span id="L-3488"><a href="#L-3488"><span class="linenos">3488</span></a> <span class="nd">@property</span>
+</span><span id="L-3489"><a href="#L-3489"><span class="linenos">3489</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-3490"><a href="#L-3490"><span class="linenos">3490</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
</span><span id="L-3491"><a href="#L-3491"><span class="linenos">3491</span></a>
</span><span id="L-3492"><a href="#L-3492"><span class="linenos">3492</span></a>
-</span><span id="L-3493"><a href="#L-3493"><span class="linenos">3493</span></a><span class="k">class</span> <span class="nc">BitwiseLeftShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3493"><a href="#L-3493"><span class="linenos">3493</span></a><span class="k">class</span> <span class="nc">Add</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3494"><a href="#L-3494"><span class="linenos">3494</span></a> <span class="k">pass</span>
</span><span id="L-3495"><a href="#L-3495"><span class="linenos">3495</span></a>
</span><span id="L-3496"><a href="#L-3496"><span class="linenos">3496</span></a>
-</span><span id="L-3497"><a href="#L-3497"><span class="linenos">3497</span></a><span class="k">class</span> <span class="nc">BitwiseOr</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3497"><a href="#L-3497"><span class="linenos">3497</span></a><span class="k">class</span> <span class="nc">Connector</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3498"><a href="#L-3498"><span class="linenos">3498</span></a> <span class="k">pass</span>
</span><span id="L-3499"><a href="#L-3499"><span class="linenos">3499</span></a>
</span><span id="L-3500"><a href="#L-3500"><span class="linenos">3500</span></a>
-</span><span id="L-3501"><a href="#L-3501"><span class="linenos">3501</span></a><span class="k">class</span> <span class="nc">BitwiseRightShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3501"><a href="#L-3501"><span class="linenos">3501</span></a><span class="k">class</span> <span class="nc">And</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
</span><span id="L-3502"><a href="#L-3502"><span class="linenos">3502</span></a> <span class="k">pass</span>
</span><span id="L-3503"><a href="#L-3503"><span class="linenos">3503</span></a>
</span><span id="L-3504"><a href="#L-3504"><span class="linenos">3504</span></a>
-</span><span id="L-3505"><a href="#L-3505"><span class="linenos">3505</span></a><span class="k">class</span> <span class="nc">BitwiseXor</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3505"><a href="#L-3505"><span class="linenos">3505</span></a><span class="k">class</span> <span class="nc">Or</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
</span><span id="L-3506"><a href="#L-3506"><span class="linenos">3506</span></a> <span class="k">pass</span>
</span><span id="L-3507"><a href="#L-3507"><span class="linenos">3507</span></a>
</span><span id="L-3508"><a href="#L-3508"><span class="linenos">3508</span></a>
-</span><span id="L-3509"><a href="#L-3509"><span class="linenos">3509</span></a><span class="k">class</span> <span class="nc">Div</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3509"><a href="#L-3509"><span class="linenos">3509</span></a><span class="k">class</span> <span class="nc">BitwiseAnd</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3510"><a href="#L-3510"><span class="linenos">3510</span></a> <span class="k">pass</span>
</span><span id="L-3511"><a href="#L-3511"><span class="linenos">3511</span></a>
</span><span id="L-3512"><a href="#L-3512"><span class="linenos">3512</span></a>
-</span><span id="L-3513"><a href="#L-3513"><span class="linenos">3513</span></a><span class="k">class</span> <span class="nc">Overlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3513"><a href="#L-3513"><span class="linenos">3513</span></a><span class="k">class</span> <span class="nc">BitwiseLeftShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3514"><a href="#L-3514"><span class="linenos">3514</span></a> <span class="k">pass</span>
</span><span id="L-3515"><a href="#L-3515"><span class="linenos">3515</span></a>
</span><span id="L-3516"><a href="#L-3516"><span class="linenos">3516</span></a>
-</span><span id="L-3517"><a href="#L-3517"><span class="linenos">3517</span></a><span class="k">class</span> <span class="nc">Dot</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3518"><a href="#L-3518"><span class="linenos">3518</span></a> <span class="nd">@property</span>
-</span><span id="L-3519"><a href="#L-3519"><span class="linenos">3519</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3520"><a href="#L-3520"><span class="linenos">3520</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-3521"><a href="#L-3521"><span class="linenos">3521</span></a>
-</span><span id="L-3522"><a href="#L-3522"><span class="linenos">3522</span></a> <span class="nd">@property</span>
-</span><span id="L-3523"><a href="#L-3523"><span class="linenos">3523</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3524"><a href="#L-3524"><span class="linenos">3524</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-3525"><a href="#L-3525"><span class="linenos">3525</span></a>
-</span><span id="L-3526"><a href="#L-3526"><span class="linenos">3526</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-3527"><a href="#L-3527"><span class="linenos">3527</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dot</span><span class="p">:</span>
-</span><span id="L-3528"><a href="#L-3528"><span class="linenos">3528</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Dot object with a sequence of expressions.&quot;&quot;&quot;</span>
-</span><span id="L-3529"><a href="#L-3529"><span class="linenos">3529</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
-</span><span id="L-3530"><a href="#L-3530"><span class="linenos">3530</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Dot requires &gt;= 2 expressions.&quot;</span><span class="p">)</span>
+</span><span id="L-3517"><a href="#L-3517"><span class="linenos">3517</span></a><span class="k">class</span> <span class="nc">BitwiseOr</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3518"><a href="#L-3518"><span class="linenos">3518</span></a> <span class="k">pass</span>
+</span><span id="L-3519"><a href="#L-3519"><span class="linenos">3519</span></a>
+</span><span id="L-3520"><a href="#L-3520"><span class="linenos">3520</span></a>
+</span><span id="L-3521"><a href="#L-3521"><span class="linenos">3521</span></a><span class="k">class</span> <span class="nc">BitwiseRightShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3522"><a href="#L-3522"><span class="linenos">3522</span></a> <span class="k">pass</span>
+</span><span id="L-3523"><a href="#L-3523"><span class="linenos">3523</span></a>
+</span><span id="L-3524"><a href="#L-3524"><span class="linenos">3524</span></a>
+</span><span id="L-3525"><a href="#L-3525"><span class="linenos">3525</span></a><span class="k">class</span> <span class="nc">BitwiseXor</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3526"><a href="#L-3526"><span class="linenos">3526</span></a> <span class="k">pass</span>
+</span><span id="L-3527"><a href="#L-3527"><span class="linenos">3527</span></a>
+</span><span id="L-3528"><a href="#L-3528"><span class="linenos">3528</span></a>
+</span><span id="L-3529"><a href="#L-3529"><span class="linenos">3529</span></a><span class="k">class</span> <span class="nc">Div</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3530"><a href="#L-3530"><span class="linenos">3530</span></a> <span class="k">pass</span>
</span><span id="L-3531"><a href="#L-3531"><span class="linenos">3531</span></a>
-</span><span id="L-3532"><a href="#L-3532"><span class="linenos">3532</span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span> <span class="o">=</span> <span class="n">expressions</span>
-</span><span id="L-3533"><a href="#L-3533"><span class="linenos">3533</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</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><span id="L-3534"><a href="#L-3534"><span class="linenos">3534</span></a>
-</span><span id="L-3535"><a href="#L-3535"><span class="linenos">3535</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="L-3536"><a href="#L-3536"><span class="linenos">3536</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dot</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="L-3537"><a href="#L-3537"><span class="linenos">3537</span></a>
-</span><span id="L-3538"><a href="#L-3538"><span class="linenos">3538</span></a> <span class="k">return</span> <span class="n">dot</span>
-</span><span id="L-3539"><a href="#L-3539"><span class="linenos">3539</span></a>
-</span><span id="L-3540"><a href="#L-3540"><span class="linenos">3540</span></a>
-</span><span id="L-3541"><a href="#L-3541"><span class="linenos">3541</span></a><span class="k">class</span> <span class="nc">DPipe</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3542"><a href="#L-3542"><span class="linenos">3542</span></a> <span class="k">pass</span>
-</span><span id="L-3543"><a href="#L-3543"><span class="linenos">3543</span></a>
-</span><span id="L-3544"><a href="#L-3544"><span class="linenos">3544</span></a>
-</span><span id="L-3545"><a href="#L-3545"><span class="linenos">3545</span></a><span class="k">class</span> <span class="nc">SafeDPipe</span><span class="p">(</span><span class="n">DPipe</span><span class="p">):</span>
-</span><span id="L-3546"><a href="#L-3546"><span class="linenos">3546</span></a> <span class="k">pass</span>
-</span><span id="L-3547"><a href="#L-3547"><span class="linenos">3547</span></a>
-</span><span id="L-3548"><a href="#L-3548"><span class="linenos">3548</span></a>
-</span><span id="L-3549"><a href="#L-3549"><span class="linenos">3549</span></a><span class="k">class</span> <span class="nc">EQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="L-3550"><a href="#L-3550"><span class="linenos">3550</span></a> <span class="k">pass</span>
+</span><span id="L-3532"><a href="#L-3532"><span class="linenos">3532</span></a>
+</span><span id="L-3533"><a href="#L-3533"><span class="linenos">3533</span></a><span class="k">class</span> <span class="nc">Overlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3534"><a href="#L-3534"><span class="linenos">3534</span></a> <span class="k">pass</span>
+</span><span id="L-3535"><a href="#L-3535"><span class="linenos">3535</span></a>
+</span><span id="L-3536"><a href="#L-3536"><span class="linenos">3536</span></a>
+</span><span id="L-3537"><a href="#L-3537"><span class="linenos">3537</span></a><span class="k">class</span> <span class="nc">Dot</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3538"><a href="#L-3538"><span class="linenos">3538</span></a> <span class="nd">@property</span>
+</span><span id="L-3539"><a href="#L-3539"><span class="linenos">3539</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3540"><a href="#L-3540"><span class="linenos">3540</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-3541"><a href="#L-3541"><span class="linenos">3541</span></a>
+</span><span id="L-3542"><a href="#L-3542"><span class="linenos">3542</span></a> <span class="nd">@property</span>
+</span><span id="L-3543"><a href="#L-3543"><span class="linenos">3543</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3544"><a href="#L-3544"><span class="linenos">3544</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-3545"><a href="#L-3545"><span class="linenos">3545</span></a>
+</span><span id="L-3546"><a href="#L-3546"><span class="linenos">3546</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-3547"><a href="#L-3547"><span class="linenos">3547</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dot</span><span class="p">:</span>
+</span><span id="L-3548"><a href="#L-3548"><span class="linenos">3548</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Dot object with a sequence of expressions.&quot;&quot;&quot;</span>
+</span><span id="L-3549"><a href="#L-3549"><span class="linenos">3549</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
+</span><span id="L-3550"><a href="#L-3550"><span class="linenos">3550</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Dot requires &gt;= 2 expressions.&quot;</span><span class="p">)</span>
</span><span id="L-3551"><a href="#L-3551"><span class="linenos">3551</span></a>
-</span><span id="L-3552"><a href="#L-3552"><span class="linenos">3552</span></a>
-</span><span id="L-3553"><a href="#L-3553"><span class="linenos">3553</span></a><span class="k">class</span> <span class="nc">NullSafeEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="L-3554"><a href="#L-3554"><span class="linenos">3554</span></a> <span class="k">pass</span>
-</span><span id="L-3555"><a href="#L-3555"><span class="linenos">3555</span></a>
-</span><span id="L-3556"><a href="#L-3556"><span class="linenos">3556</span></a>
-</span><span id="L-3557"><a href="#L-3557"><span class="linenos">3557</span></a><span class="k">class</span> <span class="nc">NullSafeNEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="L-3558"><a href="#L-3558"><span class="linenos">3558</span></a> <span class="k">pass</span>
+</span><span id="L-3552"><a href="#L-3552"><span class="linenos">3552</span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span> <span class="o">=</span> <span class="n">expressions</span>
+</span><span id="L-3553"><a href="#L-3553"><span class="linenos">3553</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</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><span id="L-3554"><a href="#L-3554"><span class="linenos">3554</span></a>
+</span><span id="L-3555"><a href="#L-3555"><span class="linenos">3555</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="L-3556"><a href="#L-3556"><span class="linenos">3556</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dot</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="L-3557"><a href="#L-3557"><span class="linenos">3557</span></a>
+</span><span id="L-3558"><a href="#L-3558"><span class="linenos">3558</span></a> <span class="k">return</span> <span class="n">dot</span>
</span><span id="L-3559"><a href="#L-3559"><span class="linenos">3559</span></a>
</span><span id="L-3560"><a href="#L-3560"><span class="linenos">3560</span></a>
-</span><span id="L-3561"><a href="#L-3561"><span class="linenos">3561</span></a><span class="k">class</span> <span class="nc">Distance</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3561"><a href="#L-3561"><span class="linenos">3561</span></a><span class="k">class</span> <span class="nc">DPipe</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3562"><a href="#L-3562"><span class="linenos">3562</span></a> <span class="k">pass</span>
</span><span id="L-3563"><a href="#L-3563"><span class="linenos">3563</span></a>
</span><span id="L-3564"><a href="#L-3564"><span class="linenos">3564</span></a>
-</span><span id="L-3565"><a href="#L-3565"><span class="linenos">3565</span></a><span class="k">class</span> <span class="nc">Escape</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3565"><a href="#L-3565"><span class="linenos">3565</span></a><span class="k">class</span> <span class="nc">SafeDPipe</span><span class="p">(</span><span class="n">DPipe</span><span class="p">):</span>
</span><span id="L-3566"><a href="#L-3566"><span class="linenos">3566</span></a> <span class="k">pass</span>
</span><span id="L-3567"><a href="#L-3567"><span class="linenos">3567</span></a>
</span><span id="L-3568"><a href="#L-3568"><span class="linenos">3568</span></a>
-</span><span id="L-3569"><a href="#L-3569"><span class="linenos">3569</span></a><span class="k">class</span> <span class="nc">Glob</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3569"><a href="#L-3569"><span class="linenos">3569</span></a><span class="k">class</span> <span class="nc">EQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3570"><a href="#L-3570"><span class="linenos">3570</span></a> <span class="k">pass</span>
</span><span id="L-3571"><a href="#L-3571"><span class="linenos">3571</span></a>
</span><span id="L-3572"><a href="#L-3572"><span class="linenos">3572</span></a>
-</span><span id="L-3573"><a href="#L-3573"><span class="linenos">3573</span></a><span class="k">class</span> <span class="nc">GT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3573"><a href="#L-3573"><span class="linenos">3573</span></a><span class="k">class</span> <span class="nc">NullSafeEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3574"><a href="#L-3574"><span class="linenos">3574</span></a> <span class="k">pass</span>
</span><span id="L-3575"><a href="#L-3575"><span class="linenos">3575</span></a>
</span><span id="L-3576"><a href="#L-3576"><span class="linenos">3576</span></a>
-</span><span id="L-3577"><a href="#L-3577"><span class="linenos">3577</span></a><span class="k">class</span> <span class="nc">GTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3577"><a href="#L-3577"><span class="linenos">3577</span></a><span class="k">class</span> <span class="nc">NullSafeNEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3578"><a href="#L-3578"><span class="linenos">3578</span></a> <span class="k">pass</span>
</span><span id="L-3579"><a href="#L-3579"><span class="linenos">3579</span></a>
</span><span id="L-3580"><a href="#L-3580"><span class="linenos">3580</span></a>
-</span><span id="L-3581"><a href="#L-3581"><span class="linenos">3581</span></a><span class="k">class</span> <span class="nc">ILike</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3581"><a href="#L-3581"><span class="linenos">3581</span></a><span class="k">class</span> <span class="nc">Distance</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3582"><a href="#L-3582"><span class="linenos">3582</span></a> <span class="k">pass</span>
</span><span id="L-3583"><a href="#L-3583"><span class="linenos">3583</span></a>
</span><span id="L-3584"><a href="#L-3584"><span class="linenos">3584</span></a>
-</span><span id="L-3585"><a href="#L-3585"><span class="linenos">3585</span></a><span class="k">class</span> <span class="nc">ILikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3585"><a href="#L-3585"><span class="linenos">3585</span></a><span class="k">class</span> <span class="nc">Escape</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3586"><a href="#L-3586"><span class="linenos">3586</span></a> <span class="k">pass</span>
</span><span id="L-3587"><a href="#L-3587"><span class="linenos">3587</span></a>
</span><span id="L-3588"><a href="#L-3588"><span class="linenos">3588</span></a>
-</span><span id="L-3589"><a href="#L-3589"><span class="linenos">3589</span></a><span class="k">class</span> <span class="nc">IntDiv</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3589"><a href="#L-3589"><span class="linenos">3589</span></a><span class="k">class</span> <span class="nc">Glob</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3590"><a href="#L-3590"><span class="linenos">3590</span></a> <span class="k">pass</span>
</span><span id="L-3591"><a href="#L-3591"><span class="linenos">3591</span></a>
</span><span id="L-3592"><a href="#L-3592"><span class="linenos">3592</span></a>
-</span><span id="L-3593"><a href="#L-3593"><span class="linenos">3593</span></a><span class="k">class</span> <span class="nc">Is</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3593"><a href="#L-3593"><span class="linenos">3593</span></a><span class="k">class</span> <span class="nc">GT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3594"><a href="#L-3594"><span class="linenos">3594</span></a> <span class="k">pass</span>
</span><span id="L-3595"><a href="#L-3595"><span class="linenos">3595</span></a>
</span><span id="L-3596"><a href="#L-3596"><span class="linenos">3596</span></a>
-</span><span id="L-3597"><a href="#L-3597"><span class="linenos">3597</span></a><span class="k">class</span> <span class="nc">Kwarg</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3598"><a href="#L-3598"><span class="linenos">3598</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Kwarg in special functions like func(kwarg =&gt; y).&quot;&quot;&quot;</span>
+</span><span id="L-3597"><a href="#L-3597"><span class="linenos">3597</span></a><span class="k">class</span> <span class="nc">GTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3598"><a href="#L-3598"><span class="linenos">3598</span></a> <span class="k">pass</span>
</span><span id="L-3599"><a href="#L-3599"><span class="linenos">3599</span></a>
</span><span id="L-3600"><a href="#L-3600"><span class="linenos">3600</span></a>
-</span><span id="L-3601"><a href="#L-3601"><span class="linenos">3601</span></a><span class="k">class</span> <span class="nc">Like</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3601"><a href="#L-3601"><span class="linenos">3601</span></a><span class="k">class</span> <span class="nc">ILike</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3602"><a href="#L-3602"><span class="linenos">3602</span></a> <span class="k">pass</span>
</span><span id="L-3603"><a href="#L-3603"><span class="linenos">3603</span></a>
</span><span id="L-3604"><a href="#L-3604"><span class="linenos">3604</span></a>
-</span><span id="L-3605"><a href="#L-3605"><span class="linenos">3605</span></a><span class="k">class</span> <span class="nc">LikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3605"><a href="#L-3605"><span class="linenos">3605</span></a><span class="k">class</span> <span class="nc">ILikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3606"><a href="#L-3606"><span class="linenos">3606</span></a> <span class="k">pass</span>
</span><span id="L-3607"><a href="#L-3607"><span class="linenos">3607</span></a>
</span><span id="L-3608"><a href="#L-3608"><span class="linenos">3608</span></a>
-</span><span id="L-3609"><a href="#L-3609"><span class="linenos">3609</span></a><span class="k">class</span> <span class="nc">LT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3609"><a href="#L-3609"><span class="linenos">3609</span></a><span class="k">class</span> <span class="nc">IntDiv</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3610"><a href="#L-3610"><span class="linenos">3610</span></a> <span class="k">pass</span>
</span><span id="L-3611"><a href="#L-3611"><span class="linenos">3611</span></a>
</span><span id="L-3612"><a href="#L-3612"><span class="linenos">3612</span></a>
-</span><span id="L-3613"><a href="#L-3613"><span class="linenos">3613</span></a><span class="k">class</span> <span class="nc">LTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3613"><a href="#L-3613"><span class="linenos">3613</span></a><span class="k">class</span> <span class="nc">Is</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3614"><a href="#L-3614"><span class="linenos">3614</span></a> <span class="k">pass</span>
</span><span id="L-3615"><a href="#L-3615"><span class="linenos">3615</span></a>
</span><span id="L-3616"><a href="#L-3616"><span class="linenos">3616</span></a>
-</span><span id="L-3617"><a href="#L-3617"><span class="linenos">3617</span></a><span class="k">class</span> <span class="nc">Mod</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3618"><a href="#L-3618"><span class="linenos">3618</span></a> <span class="k">pass</span>
+</span><span id="L-3617"><a href="#L-3617"><span class="linenos">3617</span></a><span class="k">class</span> <span class="nc">Kwarg</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3618"><a href="#L-3618"><span class="linenos">3618</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Kwarg in special functions like func(kwarg =&gt; y).&quot;&quot;&quot;</span>
</span><span id="L-3619"><a href="#L-3619"><span class="linenos">3619</span></a>
</span><span id="L-3620"><a href="#L-3620"><span class="linenos">3620</span></a>
-</span><span id="L-3621"><a href="#L-3621"><span class="linenos">3621</span></a><span class="k">class</span> <span class="nc">Mul</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3621"><a href="#L-3621"><span class="linenos">3621</span></a><span class="k">class</span> <span class="nc">Like</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3622"><a href="#L-3622"><span class="linenos">3622</span></a> <span class="k">pass</span>
</span><span id="L-3623"><a href="#L-3623"><span class="linenos">3623</span></a>
</span><span id="L-3624"><a href="#L-3624"><span class="linenos">3624</span></a>
-</span><span id="L-3625"><a href="#L-3625"><span class="linenos">3625</span></a><span class="k">class</span> <span class="nc">NEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3625"><a href="#L-3625"><span class="linenos">3625</span></a><span class="k">class</span> <span class="nc">LikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3626"><a href="#L-3626"><span class="linenos">3626</span></a> <span class="k">pass</span>
</span><span id="L-3627"><a href="#L-3627"><span class="linenos">3627</span></a>
</span><span id="L-3628"><a href="#L-3628"><span class="linenos">3628</span></a>
-</span><span id="L-3629"><a href="#L-3629"><span class="linenos">3629</span></a><span class="k">class</span> <span class="nc">SimilarTo</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3629"><a href="#L-3629"><span class="linenos">3629</span></a><span class="k">class</span> <span class="nc">LT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
</span><span id="L-3630"><a href="#L-3630"><span class="linenos">3630</span></a> <span class="k">pass</span>
</span><span id="L-3631"><a href="#L-3631"><span class="linenos">3631</span></a>
</span><span id="L-3632"><a href="#L-3632"><span class="linenos">3632</span></a>
-</span><span id="L-3633"><a href="#L-3633"><span class="linenos">3633</span></a><span class="k">class</span> <span class="nc">Slice</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3634"><a href="#L-3634"><span class="linenos">3634</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3633"><a href="#L-3633"><span class="linenos">3633</span></a><span class="k">class</span> <span class="nc">LTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3634"><a href="#L-3634"><span class="linenos">3634</span></a> <span class="k">pass</span>
</span><span id="L-3635"><a href="#L-3635"><span class="linenos">3635</span></a>
</span><span id="L-3636"><a href="#L-3636"><span class="linenos">3636</span></a>
-</span><span id="L-3637"><a href="#L-3637"><span class="linenos">3637</span></a><span class="k">class</span> <span class="nc">Sub</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3637"><a href="#L-3637"><span class="linenos">3637</span></a><span class="k">class</span> <span class="nc">Mod</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3638"><a href="#L-3638"><span class="linenos">3638</span></a> <span class="k">pass</span>
</span><span id="L-3639"><a href="#L-3639"><span class="linenos">3639</span></a>
</span><span id="L-3640"><a href="#L-3640"><span class="linenos">3640</span></a>
-</span><span id="L-3641"><a href="#L-3641"><span class="linenos">3641</span></a><span class="k">class</span> <span class="nc">ArrayOverlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3641"><a href="#L-3641"><span class="linenos">3641</span></a><span class="k">class</span> <span class="nc">Mul</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
</span><span id="L-3642"><a href="#L-3642"><span class="linenos">3642</span></a> <span class="k">pass</span>
</span><span id="L-3643"><a href="#L-3643"><span class="linenos">3643</span></a>
</span><span id="L-3644"><a href="#L-3644"><span class="linenos">3644</span></a>
-</span><span id="L-3645"><a href="#L-3645"><span class="linenos">3645</span></a><span class="c1"># Unary Expressions</span>
-</span><span id="L-3646"><a href="#L-3646"><span class="linenos">3646</span></a><span class="c1"># (NOT a)</span>
-</span><span id="L-3647"><a href="#L-3647"><span class="linenos">3647</span></a><span class="k">class</span> <span class="nc">Unary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3648"><a href="#L-3648"><span class="linenos">3648</span></a> <span class="k">pass</span>
-</span><span id="L-3649"><a href="#L-3649"><span class="linenos">3649</span></a>
-</span><span id="L-3650"><a href="#L-3650"><span class="linenos">3650</span></a>
-</span><span id="L-3651"><a href="#L-3651"><span class="linenos">3651</span></a><span class="k">class</span> <span class="nc">BitwiseNot</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="L-3652"><a href="#L-3652"><span class="linenos">3652</span></a> <span class="k">pass</span>
-</span><span id="L-3653"><a href="#L-3653"><span class="linenos">3653</span></a>
-</span><span id="L-3654"><a href="#L-3654"><span class="linenos">3654</span></a>
-</span><span id="L-3655"><a href="#L-3655"><span class="linenos">3655</span></a><span class="k">class</span> <span class="nc">Not</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="L-3656"><a href="#L-3656"><span class="linenos">3656</span></a> <span class="k">pass</span>
-</span><span id="L-3657"><a href="#L-3657"><span class="linenos">3657</span></a>
-</span><span id="L-3658"><a href="#L-3658"><span class="linenos">3658</span></a>
-</span><span id="L-3659"><a href="#L-3659"><span class="linenos">3659</span></a><span class="k">class</span> <span class="nc">Paren</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="L-3660"><a href="#L-3660"><span class="linenos">3660</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3661"><a href="#L-3661"><span class="linenos">3661</span></a>
-</span><span id="L-3662"><a href="#L-3662"><span class="linenos">3662</span></a> <span class="nd">@property</span>
-</span><span id="L-3663"><a href="#L-3663"><span class="linenos">3663</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3664"><a href="#L-3664"><span class="linenos">3664</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-3665"><a href="#L-3665"><span class="linenos">3665</span></a>
-</span><span id="L-3666"><a href="#L-3666"><span class="linenos">3666</span></a>
-</span><span id="L-3667"><a href="#L-3667"><span class="linenos">3667</span></a><span class="k">class</span> <span class="nc">Neg</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="L-3645"><a href="#L-3645"><span class="linenos">3645</span></a><span class="k">class</span> <span class="nc">NEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3646"><a href="#L-3646"><span class="linenos">3646</span></a> <span class="k">pass</span>
+</span><span id="L-3647"><a href="#L-3647"><span class="linenos">3647</span></a>
+</span><span id="L-3648"><a href="#L-3648"><span class="linenos">3648</span></a>
+</span><span id="L-3649"><a href="#L-3649"><span class="linenos">3649</span></a><span class="k">class</span> <span class="nc">SimilarTo</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3650"><a href="#L-3650"><span class="linenos">3650</span></a> <span class="k">pass</span>
+</span><span id="L-3651"><a href="#L-3651"><span class="linenos">3651</span></a>
+</span><span id="L-3652"><a href="#L-3652"><span class="linenos">3652</span></a>
+</span><span id="L-3653"><a href="#L-3653"><span class="linenos">3653</span></a><span class="k">class</span> <span class="nc">Slice</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3654"><a href="#L-3654"><span class="linenos">3654</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3655"><a href="#L-3655"><span class="linenos">3655</span></a>
+</span><span id="L-3656"><a href="#L-3656"><span class="linenos">3656</span></a>
+</span><span id="L-3657"><a href="#L-3657"><span class="linenos">3657</span></a><span class="k">class</span> <span class="nc">Sub</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3658"><a href="#L-3658"><span class="linenos">3658</span></a> <span class="k">pass</span>
+</span><span id="L-3659"><a href="#L-3659"><span class="linenos">3659</span></a>
+</span><span id="L-3660"><a href="#L-3660"><span class="linenos">3660</span></a>
+</span><span id="L-3661"><a href="#L-3661"><span class="linenos">3661</span></a><span class="k">class</span> <span class="nc">ArrayOverlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3662"><a href="#L-3662"><span class="linenos">3662</span></a> <span class="k">pass</span>
+</span><span id="L-3663"><a href="#L-3663"><span class="linenos">3663</span></a>
+</span><span id="L-3664"><a href="#L-3664"><span class="linenos">3664</span></a>
+</span><span id="L-3665"><a href="#L-3665"><span class="linenos">3665</span></a><span class="c1"># Unary Expressions</span>
+</span><span id="L-3666"><a href="#L-3666"><span class="linenos">3666</span></a><span class="c1"># (NOT a)</span>
+</span><span id="L-3667"><a href="#L-3667"><span class="linenos">3667</span></a><span class="k">class</span> <span class="nc">Unary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
</span><span id="L-3668"><a href="#L-3668"><span class="linenos">3668</span></a> <span class="k">pass</span>
</span><span id="L-3669"><a href="#L-3669"><span class="linenos">3669</span></a>
</span><span id="L-3670"><a href="#L-3670"><span class="linenos">3670</span></a>
-</span><span id="L-3671"><a href="#L-3671"><span class="linenos">3671</span></a><span class="k">class</span> <span class="nc">Alias</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3672"><a href="#L-3672"><span class="linenos">3672</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3671"><a href="#L-3671"><span class="linenos">3671</span></a><span class="k">class</span> <span class="nc">BitwiseNot</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="L-3672"><a href="#L-3672"><span class="linenos">3672</span></a> <span class="k">pass</span>
</span><span id="L-3673"><a href="#L-3673"><span class="linenos">3673</span></a>
-</span><span id="L-3674"><a href="#L-3674"><span class="linenos">3674</span></a> <span class="nd">@property</span>
-</span><span id="L-3675"><a href="#L-3675"><span class="linenos">3675</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3676"><a href="#L-3676"><span class="linenos">3676</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
+</span><span id="L-3674"><a href="#L-3674"><span class="linenos">3674</span></a>
+</span><span id="L-3675"><a href="#L-3675"><span class="linenos">3675</span></a><span class="k">class</span> <span class="nc">Not</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="L-3676"><a href="#L-3676"><span class="linenos">3676</span></a> <span class="k">pass</span>
</span><span id="L-3677"><a href="#L-3677"><span class="linenos">3677</span></a>
</span><span id="L-3678"><a href="#L-3678"><span class="linenos">3678</span></a>
-</span><span id="L-3679"><a href="#L-3679"><span class="linenos">3679</span></a><span class="k">class</span> <span class="nc">Aliases</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3680"><a href="#L-3680"><span class="linenos">3680</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3679"><a href="#L-3679"><span class="linenos">3679</span></a><span class="k">class</span> <span class="nc">Paren</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="L-3680"><a href="#L-3680"><span class="linenos">3680</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3681"><a href="#L-3681"><span class="linenos">3681</span></a>
</span><span id="L-3682"><a href="#L-3682"><span class="linenos">3682</span></a> <span class="nd">@property</span>
-</span><span id="L-3683"><a href="#L-3683"><span class="linenos">3683</span></a> <span class="k">def</span> <span class="nf">aliases</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="L-3684"><a href="#L-3684"><span class="linenos">3684</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="L-3683"><a href="#L-3683"><span class="linenos">3683</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3684"><a href="#L-3684"><span class="linenos">3684</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
</span><span id="L-3685"><a href="#L-3685"><span class="linenos">3685</span></a>
</span><span id="L-3686"><a href="#L-3686"><span class="linenos">3686</span></a>
-</span><span id="L-3687"><a href="#L-3687"><span class="linenos">3687</span></a><span class="k">class</span> <span class="nc">AtTimeZone</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3688"><a href="#L-3688"><span class="linenos">3688</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3687"><a href="#L-3687"><span class="linenos">3687</span></a><span class="k">class</span> <span class="nc">Neg</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="L-3688"><a href="#L-3688"><span class="linenos">3688</span></a> <span class="k">pass</span>
</span><span id="L-3689"><a href="#L-3689"><span class="linenos">3689</span></a>
</span><span id="L-3690"><a href="#L-3690"><span class="linenos">3690</span></a>
-</span><span id="L-3691"><a href="#L-3691"><span class="linenos">3691</span></a><span class="k">class</span> <span class="nc">Between</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
-</span><span id="L-3692"><a href="#L-3692"><span class="linenos">3692</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;low&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;high&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3691"><a href="#L-3691"><span class="linenos">3691</span></a><span class="k">class</span> <span class="nc">Alias</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3692"><a href="#L-3692"><span class="linenos">3692</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3693"><a href="#L-3693"><span class="linenos">3693</span></a>
-</span><span id="L-3694"><a href="#L-3694"><span class="linenos">3694</span></a>
-</span><span id="L-3695"><a href="#L-3695"><span class="linenos">3695</span></a><span class="k">class</span> <span class="nc">Bracket</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3696"><a href="#L-3696"><span class="linenos">3696</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3694"><a href="#L-3694"><span class="linenos">3694</span></a> <span class="nd">@property</span>
+</span><span id="L-3695"><a href="#L-3695"><span class="linenos">3695</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3696"><a href="#L-3696"><span class="linenos">3696</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
</span><span id="L-3697"><a href="#L-3697"><span class="linenos">3697</span></a>
</span><span id="L-3698"><a href="#L-3698"><span class="linenos">3698</span></a>
-</span><span id="L-3699"><a href="#L-3699"><span class="linenos">3699</span></a><span class="k">class</span> <span class="nc">Distinct</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3700"><a href="#L-3700"><span class="linenos">3700</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3699"><a href="#L-3699"><span class="linenos">3699</span></a><span class="k">class</span> <span class="nc">Aliases</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3700"><a href="#L-3700"><span class="linenos">3700</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-3701"><a href="#L-3701"><span class="linenos">3701</span></a>
-</span><span id="L-3702"><a href="#L-3702"><span class="linenos">3702</span></a>
-</span><span id="L-3703"><a href="#L-3703"><span class="linenos">3703</span></a><span class="k">class</span> <span class="nc">In</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
-</span><span id="L-3704"><a href="#L-3704"><span class="linenos">3704</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-3705"><a href="#L-3705"><span class="linenos">3705</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-3706"><a href="#L-3706"><span class="linenos">3706</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3707"><a href="#L-3707"><span class="linenos">3707</span></a> <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3708"><a href="#L-3708"><span class="linenos">3708</span></a> <span class="s2">&quot;unnest&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3709"><a href="#L-3709"><span class="linenos">3709</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3710"><a href="#L-3710"><span class="linenos">3710</span></a> <span class="s2">&quot;is_global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-3711"><a href="#L-3711"><span class="linenos">3711</span></a> <span class="p">}</span>
-</span><span id="L-3712"><a href="#L-3712"><span class="linenos">3712</span></a>
+</span><span id="L-3702"><a href="#L-3702"><span class="linenos">3702</span></a> <span class="nd">@property</span>
+</span><span id="L-3703"><a href="#L-3703"><span class="linenos">3703</span></a> <span class="k">def</span> <span class="nf">aliases</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="L-3704"><a href="#L-3704"><span class="linenos">3704</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="L-3705"><a href="#L-3705"><span class="linenos">3705</span></a>
+</span><span id="L-3706"><a href="#L-3706"><span class="linenos">3706</span></a>
+</span><span id="L-3707"><a href="#L-3707"><span class="linenos">3707</span></a><span class="k">class</span> <span class="nc">AtTimeZone</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3708"><a href="#L-3708"><span class="linenos">3708</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3709"><a href="#L-3709"><span class="linenos">3709</span></a>
+</span><span id="L-3710"><a href="#L-3710"><span class="linenos">3710</span></a>
+</span><span id="L-3711"><a href="#L-3711"><span class="linenos">3711</span></a><span class="k">class</span> <span class="nc">Between</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3712"><a href="#L-3712"><span class="linenos">3712</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;low&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;high&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-3713"><a href="#L-3713"><span class="linenos">3713</span></a>
-</span><span id="L-3714"><a href="#L-3714"><span class="linenos">3714</span></a><span class="k">class</span> <span class="nc">TimeUnit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3715"><a href="#L-3715"><span class="linenos">3715</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Automatically converts unit arg into a var.&quot;&quot;&quot;</span>
-</span><span id="L-3716"><a href="#L-3716"><span class="linenos">3716</span></a>
-</span><span id="L-3717"><a href="#L-3717"><span class="linenos">3717</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3714"><a href="#L-3714"><span class="linenos">3714</span></a>
+</span><span id="L-3715"><a href="#L-3715"><span class="linenos">3715</span></a><span class="k">class</span> <span class="nc">Bracket</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3716"><a href="#L-3716"><span class="linenos">3716</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3717"><a href="#L-3717"><span class="linenos">3717</span></a>
</span><span id="L-3718"><a href="#L-3718"><span class="linenos">3718</span></a>
-</span><span id="L-3719"><a href="#L-3719"><span class="linenos">3719</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">args</span><span class="p">):</span>
-</span><span id="L-3720"><a href="#L-3720"><span class="linenos">3720</span></a> <span class="n">unit</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">&quot;unit&quot;</span><span class="p">)</span>
-</span><span id="L-3721"><a href="#L-3721"><span class="linenos">3721</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="p">(</span><span class="n">Column</span><span class="p">,</span> <span class="n">Literal</span><span class="p">)):</span>
-</span><span id="L-3722"><a href="#L-3722"><span class="linenos">3722</span></a> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;unit&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-</span><span id="L-3723"><a href="#L-3723"><span class="linenos">3723</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">Week</span><span class="p">):</span>
-</span><span id="L-3724"><a href="#L-3724"><span class="linenos">3724</span></a> <span class="n">unit</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
-</span><span id="L-3725"><a href="#L-3725"><span class="linenos">3725</span></a>
-</span><span id="L-3726"><a href="#L-3726"><span class="linenos">3726</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
-</span><span id="L-3727"><a href="#L-3727"><span class="linenos">3727</span></a>
-</span><span id="L-3728"><a href="#L-3728"><span class="linenos">3728</span></a>
-</span><span id="L-3729"><a href="#L-3729"><span class="linenos">3729</span></a><span class="k">class</span> <span class="nc">Interval</span><span class="p">(</span><span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-3730"><a href="#L-3730"><span class="linenos">3730</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3731"><a href="#L-3731"><span class="linenos">3731</span></a>
-</span><span id="L-3732"><a href="#L-3732"><span class="linenos">3732</span></a> <span class="nd">@property</span>
-</span><span id="L-3733"><a href="#L-3733"><span class="linenos">3733</span></a> <span class="k">def</span> <span class="nf">unit</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Var</span><span class="p">]:</span>
-</span><span id="L-3734"><a href="#L-3734"><span class="linenos">3734</span></a> <span class="k">return</span> <span class="bp">self</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">&quot;unit&quot;</span><span class="p">)</span>
-</span><span id="L-3735"><a href="#L-3735"><span class="linenos">3735</span></a>
+</span><span id="L-3719"><a href="#L-3719"><span class="linenos">3719</span></a><span class="k">class</span> <span class="nc">Distinct</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3720"><a href="#L-3720"><span class="linenos">3720</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3721"><a href="#L-3721"><span class="linenos">3721</span></a>
+</span><span id="L-3722"><a href="#L-3722"><span class="linenos">3722</span></a>
+</span><span id="L-3723"><a href="#L-3723"><span class="linenos">3723</span></a><span class="k">class</span> <span class="nc">In</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
+</span><span id="L-3724"><a href="#L-3724"><span class="linenos">3724</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-3725"><a href="#L-3725"><span class="linenos">3725</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-3726"><a href="#L-3726"><span class="linenos">3726</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3727"><a href="#L-3727"><span class="linenos">3727</span></a> <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3728"><a href="#L-3728"><span class="linenos">3728</span></a> <span class="s2">&quot;unnest&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3729"><a href="#L-3729"><span class="linenos">3729</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3730"><a href="#L-3730"><span class="linenos">3730</span></a> <span class="s2">&quot;is_global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-3731"><a href="#L-3731"><span class="linenos">3731</span></a> <span class="p">}</span>
+</span><span id="L-3732"><a href="#L-3732"><span class="linenos">3732</span></a>
+</span><span id="L-3733"><a href="#L-3733"><span class="linenos">3733</span></a>
+</span><span id="L-3734"><a href="#L-3734"><span class="linenos">3734</span></a><span class="k">class</span> <span class="nc">TimeUnit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3735"><a href="#L-3735"><span class="linenos">3735</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Automatically converts unit arg into a var.&quot;&quot;&quot;</span>
</span><span id="L-3736"><a href="#L-3736"><span class="linenos">3736</span></a>
-</span><span id="L-3737"><a href="#L-3737"><span class="linenos">3737</span></a><span class="k">class</span> <span class="nc">IgnoreNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3738"><a href="#L-3738"><span class="linenos">3738</span></a> <span class="k">pass</span>
-</span><span id="L-3739"><a href="#L-3739"><span class="linenos">3739</span></a>
-</span><span id="L-3740"><a href="#L-3740"><span class="linenos">3740</span></a>
-</span><span id="L-3741"><a href="#L-3741"><span class="linenos">3741</span></a><span class="k">class</span> <span class="nc">RespectNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-3742"><a href="#L-3742"><span class="linenos">3742</span></a> <span class="k">pass</span>
-</span><span id="L-3743"><a href="#L-3743"><span class="linenos">3743</span></a>
-</span><span id="L-3744"><a href="#L-3744"><span class="linenos">3744</span></a>
-</span><span id="L-3745"><a href="#L-3745"><span class="linenos">3745</span></a><span class="c1"># Functions</span>
-</span><span id="L-3746"><a href="#L-3746"><span class="linenos">3746</span></a><span class="k">class</span> <span class="nc">Func</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-3747"><a href="#L-3747"><span class="linenos">3747</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-3748"><a href="#L-3748"><span class="linenos">3748</span></a><span class="sd"> The base class for all function expressions.</span>
-</span><span id="L-3749"><a href="#L-3749"><span class="linenos">3749</span></a>
-</span><span id="L-3750"><a href="#L-3750"><span class="linenos">3750</span></a><span class="sd"> Attributes:</span>
-</span><span id="L-3751"><a href="#L-3751"><span class="linenos">3751</span></a><span class="sd"> is_var_len_args (bool): if set to True the last argument defined in arg_types will be</span>
-</span><span id="L-3752"><a href="#L-3752"><span class="linenos">3752</span></a><span class="sd"> treated as a variable length argument and the argument&#39;s value will be stored as a list.</span>
-</span><span id="L-3753"><a href="#L-3753"><span class="linenos">3753</span></a><span class="sd"> _sql_names (list): determines the SQL name (1st item in the list) and aliases (subsequent items)</span>
-</span><span id="L-3754"><a href="#L-3754"><span class="linenos">3754</span></a><span class="sd"> for this function expression. These values are used to map this node to a name during parsing</span>
-</span><span id="L-3755"><a href="#L-3755"><span class="linenos">3755</span></a><span class="sd"> as well as to provide the function&#39;s name during SQL string generation. By default the SQL</span>
-</span><span id="L-3756"><a href="#L-3756"><span class="linenos">3756</span></a><span class="sd"> name is set to the expression&#39;s class name transformed to snake case.</span>
-</span><span id="L-3757"><a href="#L-3757"><span class="linenos">3757</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-3758"><a href="#L-3758"><span class="linenos">3758</span></a>
-</span><span id="L-3759"><a href="#L-3759"><span class="linenos">3759</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-3737"><a href="#L-3737"><span class="linenos">3737</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3738"><a href="#L-3738"><span class="linenos">3738</span></a>
+</span><span id="L-3739"><a href="#L-3739"><span class="linenos">3739</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">args</span><span class="p">):</span>
+</span><span id="L-3740"><a href="#L-3740"><span class="linenos">3740</span></a> <span class="n">unit</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">&quot;unit&quot;</span><span class="p">)</span>
+</span><span id="L-3741"><a href="#L-3741"><span class="linenos">3741</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="p">(</span><span class="n">Column</span><span class="p">,</span> <span class="n">Literal</span><span class="p">)):</span>
+</span><span id="L-3742"><a href="#L-3742"><span class="linenos">3742</span></a> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;unit&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+</span><span id="L-3743"><a href="#L-3743"><span class="linenos">3743</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">Week</span><span class="p">):</span>
+</span><span id="L-3744"><a href="#L-3744"><span class="linenos">3744</span></a> <span class="n">unit</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
+</span><span id="L-3745"><a href="#L-3745"><span class="linenos">3745</span></a>
+</span><span id="L-3746"><a href="#L-3746"><span class="linenos">3746</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
+</span><span id="L-3747"><a href="#L-3747"><span class="linenos">3747</span></a>
+</span><span id="L-3748"><a href="#L-3748"><span class="linenos">3748</span></a>
+</span><span id="L-3749"><a href="#L-3749"><span class="linenos">3749</span></a><span class="k">class</span> <span class="nc">Interval</span><span class="p">(</span><span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-3750"><a href="#L-3750"><span class="linenos">3750</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3751"><a href="#L-3751"><span class="linenos">3751</span></a>
+</span><span id="L-3752"><a href="#L-3752"><span class="linenos">3752</span></a> <span class="nd">@property</span>
+</span><span id="L-3753"><a href="#L-3753"><span class="linenos">3753</span></a> <span class="k">def</span> <span class="nf">unit</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Var</span><span class="p">]:</span>
+</span><span id="L-3754"><a href="#L-3754"><span class="linenos">3754</span></a> <span class="k">return</span> <span class="bp">self</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">&quot;unit&quot;</span><span class="p">)</span>
+</span><span id="L-3755"><a href="#L-3755"><span class="linenos">3755</span></a>
+</span><span id="L-3756"><a href="#L-3756"><span class="linenos">3756</span></a>
+</span><span id="L-3757"><a href="#L-3757"><span class="linenos">3757</span></a><span class="k">class</span> <span class="nc">IgnoreNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3758"><a href="#L-3758"><span class="linenos">3758</span></a> <span class="k">pass</span>
+</span><span id="L-3759"><a href="#L-3759"><span class="linenos">3759</span></a>
</span><span id="L-3760"><a href="#L-3760"><span class="linenos">3760</span></a>
-</span><span id="L-3761"><a href="#L-3761"><span class="linenos">3761</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-3762"><a href="#L-3762"><span class="linenos">3762</span></a> <span class="k">def</span> <span class="nf">from_arg_list</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
-</span><span id="L-3763"><a href="#L-3763"><span class="linenos">3763</span></a> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span><span class="p">:</span>
-</span><span id="L-3764"><a href="#L-3764"><span class="linenos">3764</span></a> <span class="n">all_arg_keys</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)</span>
-</span><span id="L-3765"><a href="#L-3765"><span class="linenos">3765</span></a> <span class="c1"># If this function supports variable length argument treat the last argument as such.</span>
-</span><span id="L-3766"><a href="#L-3766"><span class="linenos">3766</span></a> <span class="n">non_var_len_arg_keys</span> <span class="o">=</span> <span class="n">all_arg_keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span> <span class="k">else</span> <span class="n">all_arg_keys</span>
-</span><span id="L-3767"><a href="#L-3767"><span class="linenos">3767</span></a> <span class="n">num_non_var</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">non_var_len_arg_keys</span><span class="p">)</span>
-</span><span id="L-3768"><a href="#L-3768"><span class="linenos">3768</span></a>
-</span><span id="L-3769"><a href="#L-3769"><span class="linenos">3769</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">non_var_len_arg_keys</span><span class="p">)}</span>
-</span><span id="L-3770"><a href="#L-3770"><span class="linenos">3770</span></a> <span class="n">args_dict</span><span class="p">[</span><span class="n">all_arg_keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">num_non_var</span><span class="p">:]</span>
-</span><span id="L-3771"><a href="#L-3771"><span class="linenos">3771</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-3772"><a href="#L-3772"><span class="linenos">3772</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)}</span>
-</span><span id="L-3773"><a href="#L-3773"><span class="linenos">3773</span></a>
-</span><span id="L-3774"><a href="#L-3774"><span class="linenos">3774</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="o">**</span><span class="n">args_dict</span><span class="p">)</span>
-</span><span id="L-3775"><a href="#L-3775"><span class="linenos">3775</span></a>
-</span><span id="L-3776"><a href="#L-3776"><span class="linenos">3776</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-3777"><a href="#L-3777"><span class="linenos">3777</span></a> <span class="k">def</span> <span class="nf">sql_names</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="L-3778"><a href="#L-3778"><span class="linenos">3778</span></a> <span class="k">if</span> <span class="bp">cls</span> <span class="ow">is</span> <span class="n">Func</span><span class="p">:</span>
-</span><span id="L-3779"><a href="#L-3779"><span class="linenos">3779</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
-</span><span id="L-3780"><a href="#L-3780"><span class="linenos">3780</span></a> <span class="s2">&quot;SQL name is only supported by concrete function implementations&quot;</span>
-</span><span id="L-3781"><a href="#L-3781"><span class="linenos">3781</span></a> <span class="p">)</span>
-</span><span id="L-3782"><a href="#L-3782"><span class="linenos">3782</span></a> <span class="k">if</span> <span class="s2">&quot;_sql_names&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">:</span>
-</span><span id="L-3783"><a href="#L-3783"><span class="linenos">3783</span></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">camel_to_snake_case</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__name__</span><span class="p">)]</span>
-</span><span id="L-3784"><a href="#L-3784"><span class="linenos">3784</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span>
-</span><span id="L-3785"><a href="#L-3785"><span class="linenos">3785</span></a>
-</span><span id="L-3786"><a href="#L-3786"><span class="linenos">3786</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-3787"><a href="#L-3787"><span class="linenos">3787</span></a> <span class="k">def</span> <span class="nf">sql_name</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="L-3788"><a href="#L-3788"><span class="linenos">3788</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
-</span><span id="L-3789"><a href="#L-3789"><span class="linenos">3789</span></a>
-</span><span id="L-3790"><a href="#L-3790"><span class="linenos">3790</span></a> <span class="nd">@classmethod</span>
-</span><span id="L-3791"><a href="#L-3791"><span class="linenos">3791</span></a> <span class="k">def</span> <span class="nf">default_parser_mappings</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="L-3792"><a href="#L-3792"><span class="linenos">3792</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">name</span><span class="p">:</span> <span class="bp">cls</span><span class="o">.</span><span class="n">from_arg_list</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()}</span>
+</span><span id="L-3761"><a href="#L-3761"><span class="linenos">3761</span></a><span class="k">class</span> <span class="nc">RespectNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-3762"><a href="#L-3762"><span class="linenos">3762</span></a> <span class="k">pass</span>
+</span><span id="L-3763"><a href="#L-3763"><span class="linenos">3763</span></a>
+</span><span id="L-3764"><a href="#L-3764"><span class="linenos">3764</span></a>
+</span><span id="L-3765"><a href="#L-3765"><span class="linenos">3765</span></a><span class="c1"># Functions</span>
+</span><span id="L-3766"><a href="#L-3766"><span class="linenos">3766</span></a><span class="k">class</span> <span class="nc">Func</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-3767"><a href="#L-3767"><span class="linenos">3767</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-3768"><a href="#L-3768"><span class="linenos">3768</span></a><span class="sd"> The base class for all function expressions.</span>
+</span><span id="L-3769"><a href="#L-3769"><span class="linenos">3769</span></a>
+</span><span id="L-3770"><a href="#L-3770"><span class="linenos">3770</span></a><span class="sd"> Attributes:</span>
+</span><span id="L-3771"><a href="#L-3771"><span class="linenos">3771</span></a><span class="sd"> is_var_len_args (bool): if set to True the last argument defined in arg_types will be</span>
+</span><span id="L-3772"><a href="#L-3772"><span class="linenos">3772</span></a><span class="sd"> treated as a variable length argument and the argument&#39;s value will be stored as a list.</span>
+</span><span id="L-3773"><a href="#L-3773"><span class="linenos">3773</span></a><span class="sd"> _sql_names (list): determines the SQL name (1st item in the list) and aliases (subsequent items)</span>
+</span><span id="L-3774"><a href="#L-3774"><span class="linenos">3774</span></a><span class="sd"> for this function expression. These values are used to map this node to a name during parsing</span>
+</span><span id="L-3775"><a href="#L-3775"><span class="linenos">3775</span></a><span class="sd"> as well as to provide the function&#39;s name during SQL string generation. By default the SQL</span>
+</span><span id="L-3776"><a href="#L-3776"><span class="linenos">3776</span></a><span class="sd"> name is set to the expression&#39;s class name transformed to snake case.</span>
+</span><span id="L-3777"><a href="#L-3777"><span class="linenos">3777</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-3778"><a href="#L-3778"><span class="linenos">3778</span></a>
+</span><span id="L-3779"><a href="#L-3779"><span class="linenos">3779</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="L-3780"><a href="#L-3780"><span class="linenos">3780</span></a>
+</span><span id="L-3781"><a href="#L-3781"><span class="linenos">3781</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-3782"><a href="#L-3782"><span class="linenos">3782</span></a> <span class="k">def</span> <span class="nf">from_arg_list</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
+</span><span id="L-3783"><a href="#L-3783"><span class="linenos">3783</span></a> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span><span class="p">:</span>
+</span><span id="L-3784"><a href="#L-3784"><span class="linenos">3784</span></a> <span class="n">all_arg_keys</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)</span>
+</span><span id="L-3785"><a href="#L-3785"><span class="linenos">3785</span></a> <span class="c1"># If this function supports variable length argument treat the last argument as such.</span>
+</span><span id="L-3786"><a href="#L-3786"><span class="linenos">3786</span></a> <span class="n">non_var_len_arg_keys</span> <span class="o">=</span> <span class="n">all_arg_keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span> <span class="k">else</span> <span class="n">all_arg_keys</span>
+</span><span id="L-3787"><a href="#L-3787"><span class="linenos">3787</span></a> <span class="n">num_non_var</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">non_var_len_arg_keys</span><span class="p">)</span>
+</span><span id="L-3788"><a href="#L-3788"><span class="linenos">3788</span></a>
+</span><span id="L-3789"><a href="#L-3789"><span class="linenos">3789</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">non_var_len_arg_keys</span><span class="p">)}</span>
+</span><span id="L-3790"><a href="#L-3790"><span class="linenos">3790</span></a> <span class="n">args_dict</span><span class="p">[</span><span class="n">all_arg_keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">num_non_var</span><span class="p">:]</span>
+</span><span id="L-3791"><a href="#L-3791"><span class="linenos">3791</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-3792"><a href="#L-3792"><span class="linenos">3792</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)}</span>
</span><span id="L-3793"><a href="#L-3793"><span class="linenos">3793</span></a>
-</span><span id="L-3794"><a href="#L-3794"><span class="linenos">3794</span></a>
-</span><span id="L-3795"><a href="#L-3795"><span class="linenos">3795</span></a><span class="k">class</span> <span class="nc">AggFunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3796"><a href="#L-3796"><span class="linenos">3796</span></a> <span class="k">pass</span>
-</span><span id="L-3797"><a href="#L-3797"><span class="linenos">3797</span></a>
-</span><span id="L-3798"><a href="#L-3798"><span class="linenos">3798</span></a>
-</span><span id="L-3799"><a href="#L-3799"><span class="linenos">3799</span></a><span class="k">class</span> <span class="nc">ParameterizedAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3800"><a href="#L-3800"><span class="linenos">3800</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;params&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-3801"><a href="#L-3801"><span class="linenos">3801</span></a>
-</span><span id="L-3802"><a href="#L-3802"><span class="linenos">3802</span></a>
-</span><span id="L-3803"><a href="#L-3803"><span class="linenos">3803</span></a><span class="k">class</span> <span class="nc">Abs</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3804"><a href="#L-3804"><span class="linenos">3804</span></a> <span class="k">pass</span>
+</span><span id="L-3794"><a href="#L-3794"><span class="linenos">3794</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="o">**</span><span class="n">args_dict</span><span class="p">)</span>
+</span><span id="L-3795"><a href="#L-3795"><span class="linenos">3795</span></a>
+</span><span id="L-3796"><a href="#L-3796"><span class="linenos">3796</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-3797"><a href="#L-3797"><span class="linenos">3797</span></a> <span class="k">def</span> <span class="nf">sql_names</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="L-3798"><a href="#L-3798"><span class="linenos">3798</span></a> <span class="k">if</span> <span class="bp">cls</span> <span class="ow">is</span> <span class="n">Func</span><span class="p">:</span>
+</span><span id="L-3799"><a href="#L-3799"><span class="linenos">3799</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
+</span><span id="L-3800"><a href="#L-3800"><span class="linenos">3800</span></a> <span class="s2">&quot;SQL name is only supported by concrete function implementations&quot;</span>
+</span><span id="L-3801"><a href="#L-3801"><span class="linenos">3801</span></a> <span class="p">)</span>
+</span><span id="L-3802"><a href="#L-3802"><span class="linenos">3802</span></a> <span class="k">if</span> <span class="s2">&quot;_sql_names&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">:</span>
+</span><span id="L-3803"><a href="#L-3803"><span class="linenos">3803</span></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">camel_to_snake_case</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__name__</span><span class="p">)]</span>
+</span><span id="L-3804"><a href="#L-3804"><span class="linenos">3804</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span>
</span><span id="L-3805"><a href="#L-3805"><span class="linenos">3805</span></a>
-</span><span id="L-3806"><a href="#L-3806"><span class="linenos">3806</span></a>
-</span><span id="L-3807"><a href="#L-3807"><span class="linenos">3807</span></a><span class="k">class</span> <span class="nc">Anonymous</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3808"><a href="#L-3808"><span class="linenos">3808</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3809"><a href="#L-3809"><span class="linenos">3809</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-3810"><a href="#L-3810"><span class="linenos">3810</span></a>
-</span><span id="L-3811"><a href="#L-3811"><span class="linenos">3811</span></a>
-</span><span id="L-3812"><a href="#L-3812"><span class="linenos">3812</span></a><span class="c1"># https://docs.snowflake.com/en/sql-reference/functions/hll</span>
-</span><span id="L-3813"><a href="#L-3813"><span class="linenos">3813</span></a><span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_HLL_function.html</span>
-</span><span id="L-3814"><a href="#L-3814"><span class="linenos">3814</span></a><span class="k">class</span> <span class="nc">Hll</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3815"><a href="#L-3815"><span class="linenos">3815</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3816"><a href="#L-3816"><span class="linenos">3816</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3806"><a href="#L-3806"><span class="linenos">3806</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-3807"><a href="#L-3807"><span class="linenos">3807</span></a> <span class="k">def</span> <span class="nf">sql_name</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="L-3808"><a href="#L-3808"><span class="linenos">3808</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
+</span><span id="L-3809"><a href="#L-3809"><span class="linenos">3809</span></a>
+</span><span id="L-3810"><a href="#L-3810"><span class="linenos">3810</span></a> <span class="nd">@classmethod</span>
+</span><span id="L-3811"><a href="#L-3811"><span class="linenos">3811</span></a> <span class="k">def</span> <span class="nf">default_parser_mappings</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="L-3812"><a href="#L-3812"><span class="linenos">3812</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">name</span><span class="p">:</span> <span class="bp">cls</span><span class="o">.</span><span class="n">from_arg_list</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()}</span>
+</span><span id="L-3813"><a href="#L-3813"><span class="linenos">3813</span></a>
+</span><span id="L-3814"><a href="#L-3814"><span class="linenos">3814</span></a>
+</span><span id="L-3815"><a href="#L-3815"><span class="linenos">3815</span></a><span class="k">class</span> <span class="nc">AggFunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3816"><a href="#L-3816"><span class="linenos">3816</span></a> <span class="k">pass</span>
</span><span id="L-3817"><a href="#L-3817"><span class="linenos">3817</span></a>
</span><span id="L-3818"><a href="#L-3818"><span class="linenos">3818</span></a>
-</span><span id="L-3819"><a href="#L-3819"><span class="linenos">3819</span></a><span class="k">class</span> <span class="nc">ApproxDistinct</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3820"><a href="#L-3820"><span class="linenos">3820</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3821"><a href="#L-3821"><span class="linenos">3821</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;APPROX_DISTINCT&quot;</span><span class="p">,</span> <span class="s2">&quot;APPROX_COUNT_DISTINCT&quot;</span><span class="p">]</span>
+</span><span id="L-3819"><a href="#L-3819"><span class="linenos">3819</span></a><span class="k">class</span> <span class="nc">ParameterizedAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3820"><a href="#L-3820"><span class="linenos">3820</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;params&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3821"><a href="#L-3821"><span class="linenos">3821</span></a>
</span><span id="L-3822"><a href="#L-3822"><span class="linenos">3822</span></a>
-</span><span id="L-3823"><a href="#L-3823"><span class="linenos">3823</span></a>
-</span><span id="L-3824"><a href="#L-3824"><span class="linenos">3824</span></a><span class="k">class</span> <span class="nc">Array</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3825"><a href="#L-3825"><span class="linenos">3825</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3826"><a href="#L-3826"><span class="linenos">3826</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-3827"><a href="#L-3827"><span class="linenos">3827</span></a>
-</span><span id="L-3828"><a href="#L-3828"><span class="linenos">3828</span></a>
-</span><span id="L-3829"><a href="#L-3829"><span class="linenos">3829</span></a><span class="c1"># https://docs.snowflake.com/en/sql-reference/functions/to_char</span>
-</span><span id="L-3830"><a href="#L-3830"><span class="linenos">3830</span></a><span class="k">class</span> <span class="nc">ToChar</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3831"><a href="#L-3831"><span class="linenos">3831</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3832"><a href="#L-3832"><span class="linenos">3832</span></a>
-</span><span id="L-3833"><a href="#L-3833"><span class="linenos">3833</span></a>
-</span><span id="L-3834"><a href="#L-3834"><span class="linenos">3834</span></a><span class="k">class</span> <span class="nc">GenerateSeries</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3835"><a href="#L-3835"><span class="linenos">3835</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;step&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3836"><a href="#L-3836"><span class="linenos">3836</span></a>
+</span><span id="L-3823"><a href="#L-3823"><span class="linenos">3823</span></a><span class="k">class</span> <span class="nc">Abs</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3824"><a href="#L-3824"><span class="linenos">3824</span></a> <span class="k">pass</span>
+</span><span id="L-3825"><a href="#L-3825"><span class="linenos">3825</span></a>
+</span><span id="L-3826"><a href="#L-3826"><span class="linenos">3826</span></a>
+</span><span id="L-3827"><a href="#L-3827"><span class="linenos">3827</span></a><span class="k">class</span> <span class="nc">Anonymous</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3828"><a href="#L-3828"><span class="linenos">3828</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3829"><a href="#L-3829"><span class="linenos">3829</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3830"><a href="#L-3830"><span class="linenos">3830</span></a>
+</span><span id="L-3831"><a href="#L-3831"><span class="linenos">3831</span></a>
+</span><span id="L-3832"><a href="#L-3832"><span class="linenos">3832</span></a><span class="c1"># https://docs.snowflake.com/en/sql-reference/functions/hll</span>
+</span><span id="L-3833"><a href="#L-3833"><span class="linenos">3833</span></a><span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_HLL_function.html</span>
+</span><span id="L-3834"><a href="#L-3834"><span class="linenos">3834</span></a><span class="k">class</span> <span class="nc">Hll</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3835"><a href="#L-3835"><span class="linenos">3835</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3836"><a href="#L-3836"><span class="linenos">3836</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-3837"><a href="#L-3837"><span class="linenos">3837</span></a>
-</span><span id="L-3838"><a href="#L-3838"><span class="linenos">3838</span></a><span class="k">class</span> <span class="nc">ArrayAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3839"><a href="#L-3839"><span class="linenos">3839</span></a> <span class="k">pass</span>
-</span><span id="L-3840"><a href="#L-3840"><span class="linenos">3840</span></a>
-</span><span id="L-3841"><a href="#L-3841"><span class="linenos">3841</span></a>
-</span><span id="L-3842"><a href="#L-3842"><span class="linenos">3842</span></a><span class="k">class</span> <span class="nc">ArrayAll</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3843"><a href="#L-3843"><span class="linenos">3843</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-3844"><a href="#L-3844"><span class="linenos">3844</span></a>
-</span><span id="L-3845"><a href="#L-3845"><span class="linenos">3845</span></a>
-</span><span id="L-3846"><a href="#L-3846"><span class="linenos">3846</span></a><span class="k">class</span> <span class="nc">ArrayAny</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3847"><a href="#L-3847"><span class="linenos">3847</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3838"><a href="#L-3838"><span class="linenos">3838</span></a>
+</span><span id="L-3839"><a href="#L-3839"><span class="linenos">3839</span></a><span class="k">class</span> <span class="nc">ApproxDistinct</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3840"><a href="#L-3840"><span class="linenos">3840</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3841"><a href="#L-3841"><span class="linenos">3841</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;APPROX_DISTINCT&quot;</span><span class="p">,</span> <span class="s2">&quot;APPROX_COUNT_DISTINCT&quot;</span><span class="p">]</span>
+</span><span id="L-3842"><a href="#L-3842"><span class="linenos">3842</span></a>
+</span><span id="L-3843"><a href="#L-3843"><span class="linenos">3843</span></a>
+</span><span id="L-3844"><a href="#L-3844"><span class="linenos">3844</span></a><span class="k">class</span> <span class="nc">Array</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3845"><a href="#L-3845"><span class="linenos">3845</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3846"><a href="#L-3846"><span class="linenos">3846</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3847"><a href="#L-3847"><span class="linenos">3847</span></a>
</span><span id="L-3848"><a href="#L-3848"><span class="linenos">3848</span></a>
-</span><span id="L-3849"><a href="#L-3849"><span class="linenos">3849</span></a>
-</span><span id="L-3850"><a href="#L-3850"><span class="linenos">3850</span></a><span class="k">class</span> <span class="nc">ArrayConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3851"><a href="#L-3851"><span class="linenos">3851</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3852"><a href="#L-3852"><span class="linenos">3852</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3849"><a href="#L-3849"><span class="linenos">3849</span></a><span class="c1"># https://docs.snowflake.com/en/sql-reference/functions/to_char</span>
+</span><span id="L-3850"><a href="#L-3850"><span class="linenos">3850</span></a><span class="k">class</span> <span class="nc">ToChar</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3851"><a href="#L-3851"><span class="linenos">3851</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3852"><a href="#L-3852"><span class="linenos">3852</span></a>
</span><span id="L-3853"><a href="#L-3853"><span class="linenos">3853</span></a>
-</span><span id="L-3854"><a href="#L-3854"><span class="linenos">3854</span></a>
-</span><span id="L-3855"><a href="#L-3855"><span class="linenos">3855</span></a><span class="k">class</span> <span class="nc">ArrayContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3856"><a href="#L-3856"><span class="linenos">3856</span></a> <span class="k">pass</span>
+</span><span id="L-3854"><a href="#L-3854"><span class="linenos">3854</span></a><span class="k">class</span> <span class="nc">GenerateSeries</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3855"><a href="#L-3855"><span class="linenos">3855</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;step&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3856"><a href="#L-3856"><span class="linenos">3856</span></a>
</span><span id="L-3857"><a href="#L-3857"><span class="linenos">3857</span></a>
-</span><span id="L-3858"><a href="#L-3858"><span class="linenos">3858</span></a>
-</span><span id="L-3859"><a href="#L-3859"><span class="linenos">3859</span></a><span class="k">class</span> <span class="nc">ArrayContained</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3860"><a href="#L-3860"><span class="linenos">3860</span></a> <span class="k">pass</span>
+</span><span id="L-3858"><a href="#L-3858"><span class="linenos">3858</span></a><span class="k">class</span> <span class="nc">ArrayAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3859"><a href="#L-3859"><span class="linenos">3859</span></a> <span class="k">pass</span>
+</span><span id="L-3860"><a href="#L-3860"><span class="linenos">3860</span></a>
</span><span id="L-3861"><a href="#L-3861"><span class="linenos">3861</span></a>
-</span><span id="L-3862"><a href="#L-3862"><span class="linenos">3862</span></a>
-</span><span id="L-3863"><a href="#L-3863"><span class="linenos">3863</span></a><span class="k">class</span> <span class="nc">ArrayFilter</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3864"><a href="#L-3864"><span class="linenos">3864</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-3865"><a href="#L-3865"><span class="linenos">3865</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;FILTER&quot;</span><span class="p">,</span> <span class="s2">&quot;ARRAY_FILTER&quot;</span><span class="p">]</span>
-</span><span id="L-3866"><a href="#L-3866"><span class="linenos">3866</span></a>
-</span><span id="L-3867"><a href="#L-3867"><span class="linenos">3867</span></a>
-</span><span id="L-3868"><a href="#L-3868"><span class="linenos">3868</span></a><span class="k">class</span> <span class="nc">ArrayJoin</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3869"><a href="#L-3869"><span class="linenos">3869</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3870"><a href="#L-3870"><span class="linenos">3870</span></a>
-</span><span id="L-3871"><a href="#L-3871"><span class="linenos">3871</span></a>
-</span><span id="L-3872"><a href="#L-3872"><span class="linenos">3872</span></a><span class="k">class</span> <span class="nc">ArraySize</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3873"><a href="#L-3873"><span class="linenos">3873</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3862"><a href="#L-3862"><span class="linenos">3862</span></a><span class="k">class</span> <span class="nc">ArrayAll</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3863"><a href="#L-3863"><span class="linenos">3863</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3864"><a href="#L-3864"><span class="linenos">3864</span></a>
+</span><span id="L-3865"><a href="#L-3865"><span class="linenos">3865</span></a>
+</span><span id="L-3866"><a href="#L-3866"><span class="linenos">3866</span></a><span class="k">class</span> <span class="nc">ArrayAny</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3867"><a href="#L-3867"><span class="linenos">3867</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3868"><a href="#L-3868"><span class="linenos">3868</span></a>
+</span><span id="L-3869"><a href="#L-3869"><span class="linenos">3869</span></a>
+</span><span id="L-3870"><a href="#L-3870"><span class="linenos">3870</span></a><span class="k">class</span> <span class="nc">ArrayConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3871"><a href="#L-3871"><span class="linenos">3871</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3872"><a href="#L-3872"><span class="linenos">3872</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3873"><a href="#L-3873"><span class="linenos">3873</span></a>
</span><span id="L-3874"><a href="#L-3874"><span class="linenos">3874</span></a>
-</span><span id="L-3875"><a href="#L-3875"><span class="linenos">3875</span></a>
-</span><span id="L-3876"><a href="#L-3876"><span class="linenos">3876</span></a><span class="k">class</span> <span class="nc">ArraySort</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3877"><a href="#L-3877"><span class="linenos">3877</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3875"><a href="#L-3875"><span class="linenos">3875</span></a><span class="k">class</span> <span class="nc">ArrayContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3876"><a href="#L-3876"><span class="linenos">3876</span></a> <span class="k">pass</span>
+</span><span id="L-3877"><a href="#L-3877"><span class="linenos">3877</span></a>
</span><span id="L-3878"><a href="#L-3878"><span class="linenos">3878</span></a>
-</span><span id="L-3879"><a href="#L-3879"><span class="linenos">3879</span></a>
-</span><span id="L-3880"><a href="#L-3880"><span class="linenos">3880</span></a><span class="k">class</span> <span class="nc">ArraySum</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3881"><a href="#L-3881"><span class="linenos">3881</span></a> <span class="k">pass</span>
+</span><span id="L-3879"><a href="#L-3879"><span class="linenos">3879</span></a><span class="k">class</span> <span class="nc">ArrayContained</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3880"><a href="#L-3880"><span class="linenos">3880</span></a> <span class="k">pass</span>
+</span><span id="L-3881"><a href="#L-3881"><span class="linenos">3881</span></a>
</span><span id="L-3882"><a href="#L-3882"><span class="linenos">3882</span></a>
-</span><span id="L-3883"><a href="#L-3883"><span class="linenos">3883</span></a>
-</span><span id="L-3884"><a href="#L-3884"><span class="linenos">3884</span></a><span class="k">class</span> <span class="nc">ArrayUnionAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3885"><a href="#L-3885"><span class="linenos">3885</span></a> <span class="k">pass</span>
+</span><span id="L-3883"><a href="#L-3883"><span class="linenos">3883</span></a><span class="k">class</span> <span class="nc">ArrayFilter</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3884"><a href="#L-3884"><span class="linenos">3884</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3885"><a href="#L-3885"><span class="linenos">3885</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;FILTER&quot;</span><span class="p">,</span> <span class="s2">&quot;ARRAY_FILTER&quot;</span><span class="p">]</span>
</span><span id="L-3886"><a href="#L-3886"><span class="linenos">3886</span></a>
</span><span id="L-3887"><a href="#L-3887"><span class="linenos">3887</span></a>
-</span><span id="L-3888"><a href="#L-3888"><span class="linenos">3888</span></a><span class="k">class</span> <span class="nc">Avg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3889"><a href="#L-3889"><span class="linenos">3889</span></a> <span class="k">pass</span>
+</span><span id="L-3888"><a href="#L-3888"><span class="linenos">3888</span></a><span class="k">class</span> <span class="nc">ArrayJoin</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3889"><a href="#L-3889"><span class="linenos">3889</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3890"><a href="#L-3890"><span class="linenos">3890</span></a>
</span><span id="L-3891"><a href="#L-3891"><span class="linenos">3891</span></a>
-</span><span id="L-3892"><a href="#L-3892"><span class="linenos">3892</span></a><span class="k">class</span> <span class="nc">AnyValue</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3893"><a href="#L-3893"><span class="linenos">3893</span></a> <span class="k">pass</span>
+</span><span id="L-3892"><a href="#L-3892"><span class="linenos">3892</span></a><span class="k">class</span> <span class="nc">ArraySize</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3893"><a href="#L-3893"><span class="linenos">3893</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3894"><a href="#L-3894"><span class="linenos">3894</span></a>
</span><span id="L-3895"><a href="#L-3895"><span class="linenos">3895</span></a>
-</span><span id="L-3896"><a href="#L-3896"><span class="linenos">3896</span></a><span class="k">class</span> <span class="nc">Case</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3897"><a href="#L-3897"><span class="linenos">3897</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;ifs&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3896"><a href="#L-3896"><span class="linenos">3896</span></a><span class="k">class</span> <span class="nc">ArraySort</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3897"><a href="#L-3897"><span class="linenos">3897</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3898"><a href="#L-3898"><span class="linenos">3898</span></a>
-</span><span id="L-3899"><a href="#L-3899"><span class="linenos">3899</span></a> <span class="k">def</span> <span class="nf">when</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">then</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
-</span><span id="L-3900"><a href="#L-3900"><span class="linenos">3900</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-3901"><a href="#L-3901"><span class="linenos">3901</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
-</span><span id="L-3902"><a href="#L-3902"><span class="linenos">3902</span></a> <span class="s2">&quot;ifs&quot;</span><span class="p">,</span>
-</span><span id="L-3903"><a href="#L-3903"><span class="linenos">3903</span></a> <span class="n">If</span><span class="p">(</span>
-</span><span id="L-3904"><a href="#L-3904"><span class="linenos">3904</span></a> <span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="L-3905"><a href="#L-3905"><span class="linenos">3905</span></a> <span class="n">true</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="L-3906"><a href="#L-3906"><span class="linenos">3906</span></a> <span class="p">),</span>
-</span><span id="L-3907"><a href="#L-3907"><span class="linenos">3907</span></a> <span class="p">)</span>
-</span><span id="L-3908"><a href="#L-3908"><span class="linenos">3908</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span><span id="L-3909"><a href="#L-3909"><span class="linenos">3909</span></a>
-</span><span id="L-3910"><a href="#L-3910"><span class="linenos">3910</span></a> <span class="k">def</span> <span class="nf">else_</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
-</span><span id="L-3911"><a href="#L-3911"><span class="linenos">3911</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-3912"><a href="#L-3912"><span class="linenos">3912</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
-</span><span id="L-3913"><a href="#L-3913"><span class="linenos">3913</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="L-3899"><a href="#L-3899"><span class="linenos">3899</span></a>
+</span><span id="L-3900"><a href="#L-3900"><span class="linenos">3900</span></a><span class="k">class</span> <span class="nc">ArraySum</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3901"><a href="#L-3901"><span class="linenos">3901</span></a> <span class="k">pass</span>
+</span><span id="L-3902"><a href="#L-3902"><span class="linenos">3902</span></a>
+</span><span id="L-3903"><a href="#L-3903"><span class="linenos">3903</span></a>
+</span><span id="L-3904"><a href="#L-3904"><span class="linenos">3904</span></a><span class="k">class</span> <span class="nc">ArrayUnionAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3905"><a href="#L-3905"><span class="linenos">3905</span></a> <span class="k">pass</span>
+</span><span id="L-3906"><a href="#L-3906"><span class="linenos">3906</span></a>
+</span><span id="L-3907"><a href="#L-3907"><span class="linenos">3907</span></a>
+</span><span id="L-3908"><a href="#L-3908"><span class="linenos">3908</span></a><span class="k">class</span> <span class="nc">Avg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3909"><a href="#L-3909"><span class="linenos">3909</span></a> <span class="k">pass</span>
+</span><span id="L-3910"><a href="#L-3910"><span class="linenos">3910</span></a>
+</span><span id="L-3911"><a href="#L-3911"><span class="linenos">3911</span></a>
+</span><span id="L-3912"><a href="#L-3912"><span class="linenos">3912</span></a><span class="k">class</span> <span class="nc">AnyValue</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3913"><a href="#L-3913"><span class="linenos">3913</span></a> <span class="k">pass</span>
</span><span id="L-3914"><a href="#L-3914"><span class="linenos">3914</span></a>
</span><span id="L-3915"><a href="#L-3915"><span class="linenos">3915</span></a>
-</span><span id="L-3916"><a href="#L-3916"><span class="linenos">3916</span></a><span class="k">class</span> <span class="nc">Cast</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3917"><a href="#L-3917"><span class="linenos">3917</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3916"><a href="#L-3916"><span class="linenos">3916</span></a><span class="k">class</span> <span class="nc">Case</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3917"><a href="#L-3917"><span class="linenos">3917</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;ifs&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-3918"><a href="#L-3918"><span class="linenos">3918</span></a>
-</span><span id="L-3919"><a href="#L-3919"><span class="linenos">3919</span></a> <span class="nd">@property</span>
-</span><span id="L-3920"><a href="#L-3920"><span class="linenos">3920</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3921"><a href="#L-3921"><span class="linenos">3921</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-3922"><a href="#L-3922"><span class="linenos">3922</span></a>
-</span><span id="L-3923"><a href="#L-3923"><span class="linenos">3923</span></a> <span class="nd">@property</span>
-</span><span id="L-3924"><a href="#L-3924"><span class="linenos">3924</span></a> <span class="k">def</span> <span class="nf">to</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
-</span><span id="L-3925"><a href="#L-3925"><span class="linenos">3925</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;to&quot;</span><span class="p">]</span>
-</span><span id="L-3926"><a href="#L-3926"><span class="linenos">3926</span></a>
-</span><span id="L-3927"><a href="#L-3927"><span class="linenos">3927</span></a> <span class="nd">@property</span>
-</span><span id="L-3928"><a href="#L-3928"><span class="linenos">3928</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-3929"><a href="#L-3929"><span class="linenos">3929</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-3930"><a href="#L-3930"><span class="linenos">3930</span></a>
-</span><span id="L-3931"><a href="#L-3931"><span class="linenos">3931</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="L-3932"><a href="#L-3932"><span class="linenos">3932</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">is_type</span><span class="p">(</span><span class="o">*</span><span class="n">dtypes</span><span class="p">)</span>
-</span><span id="L-3933"><a href="#L-3933"><span class="linenos">3933</span></a>
+</span><span id="L-3919"><a href="#L-3919"><span class="linenos">3919</span></a> <span class="k">def</span> <span class="nf">when</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">then</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
+</span><span id="L-3920"><a href="#L-3920"><span class="linenos">3920</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-3921"><a href="#L-3921"><span class="linenos">3921</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+</span><span id="L-3922"><a href="#L-3922"><span class="linenos">3922</span></a> <span class="s2">&quot;ifs&quot;</span><span class="p">,</span>
+</span><span id="L-3923"><a href="#L-3923"><span class="linenos">3923</span></a> <span class="n">If</span><span class="p">(</span>
+</span><span id="L-3924"><a href="#L-3924"><span class="linenos">3924</span></a> <span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="L-3925"><a href="#L-3925"><span class="linenos">3925</span></a> <span class="n">true</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="L-3926"><a href="#L-3926"><span class="linenos">3926</span></a> <span class="p">),</span>
+</span><span id="L-3927"><a href="#L-3927"><span class="linenos">3927</span></a> <span class="p">)</span>
+</span><span id="L-3928"><a href="#L-3928"><span class="linenos">3928</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="L-3929"><a href="#L-3929"><span class="linenos">3929</span></a>
+</span><span id="L-3930"><a href="#L-3930"><span class="linenos">3930</span></a> <span class="k">def</span> <span class="nf">else_</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
+</span><span id="L-3931"><a href="#L-3931"><span class="linenos">3931</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-3932"><a href="#L-3932"><span class="linenos">3932</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+</span><span id="L-3933"><a href="#L-3933"><span class="linenos">3933</span></a> <span class="k">return</span> <span class="n">instance</span>
</span><span id="L-3934"><a href="#L-3934"><span class="linenos">3934</span></a>
-</span><span id="L-3935"><a href="#L-3935"><span class="linenos">3935</span></a><span class="k">class</span> <span class="nc">CastToStrType</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3936"><a href="#L-3936"><span class="linenos">3936</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-3937"><a href="#L-3937"><span class="linenos">3937</span></a>
+</span><span id="L-3935"><a href="#L-3935"><span class="linenos">3935</span></a>
+</span><span id="L-3936"><a href="#L-3936"><span class="linenos">3936</span></a><span class="k">class</span> <span class="nc">Cast</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3937"><a href="#L-3937"><span class="linenos">3937</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-3938"><a href="#L-3938"><span class="linenos">3938</span></a>
-</span><span id="L-3939"><a href="#L-3939"><span class="linenos">3939</span></a><span class="k">class</span> <span class="nc">Collate</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-3940"><a href="#L-3940"><span class="linenos">3940</span></a> <span class="k">pass</span>
-</span><span id="L-3941"><a href="#L-3941"><span class="linenos">3941</span></a>
+</span><span id="L-3939"><a href="#L-3939"><span class="linenos">3939</span></a> <span class="nd">@property</span>
+</span><span id="L-3940"><a href="#L-3940"><span class="linenos">3940</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3941"><a href="#L-3941"><span class="linenos">3941</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
</span><span id="L-3942"><a href="#L-3942"><span class="linenos">3942</span></a>
-</span><span id="L-3943"><a href="#L-3943"><span class="linenos">3943</span></a><span class="k">class</span> <span class="nc">TryCast</span><span class="p">(</span><span class="n">Cast</span><span class="p">):</span>
-</span><span id="L-3944"><a href="#L-3944"><span class="linenos">3944</span></a> <span class="k">pass</span>
-</span><span id="L-3945"><a href="#L-3945"><span class="linenos">3945</span></a>
+</span><span id="L-3943"><a href="#L-3943"><span class="linenos">3943</span></a> <span class="nd">@property</span>
+</span><span id="L-3944"><a href="#L-3944"><span class="linenos">3944</span></a> <span class="k">def</span> <span class="nf">to</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
+</span><span id="L-3945"><a href="#L-3945"><span class="linenos">3945</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;to&quot;</span><span class="p">]</span>
</span><span id="L-3946"><a href="#L-3946"><span class="linenos">3946</span></a>
-</span><span id="L-3947"><a href="#L-3947"><span class="linenos">3947</span></a><span class="k">class</span> <span class="nc">Ceil</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3948"><a href="#L-3948"><span class="linenos">3948</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3949"><a href="#L-3949"><span class="linenos">3949</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CEIL&quot;</span><span class="p">,</span> <span class="s2">&quot;CEILING&quot;</span><span class="p">]</span>
+</span><span id="L-3947"><a href="#L-3947"><span class="linenos">3947</span></a> <span class="nd">@property</span>
+</span><span id="L-3948"><a href="#L-3948"><span class="linenos">3948</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-3949"><a href="#L-3949"><span class="linenos">3949</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
</span><span id="L-3950"><a href="#L-3950"><span class="linenos">3950</span></a>
-</span><span id="L-3951"><a href="#L-3951"><span class="linenos">3951</span></a>
-</span><span id="L-3952"><a href="#L-3952"><span class="linenos">3952</span></a><span class="k">class</span> <span class="nc">Coalesce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3953"><a href="#L-3953"><span class="linenos">3953</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3954"><a href="#L-3954"><span class="linenos">3954</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-3955"><a href="#L-3955"><span class="linenos">3955</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;COALESCE&quot;</span><span class="p">,</span> <span class="s2">&quot;IFNULL&quot;</span><span class="p">,</span> <span class="s2">&quot;NVL&quot;</span><span class="p">]</span>
-</span><span id="L-3956"><a href="#L-3956"><span class="linenos">3956</span></a>
+</span><span id="L-3951"><a href="#L-3951"><span class="linenos">3951</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="L-3952"><a href="#L-3952"><span class="linenos">3952</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">is_type</span><span class="p">(</span><span class="o">*</span><span class="n">dtypes</span><span class="p">)</span>
+</span><span id="L-3953"><a href="#L-3953"><span class="linenos">3953</span></a>
+</span><span id="L-3954"><a href="#L-3954"><span class="linenos">3954</span></a>
+</span><span id="L-3955"><a href="#L-3955"><span class="linenos">3955</span></a><span class="k">class</span> <span class="nc">CastToStrType</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3956"><a href="#L-3956"><span class="linenos">3956</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-3957"><a href="#L-3957"><span class="linenos">3957</span></a>
-</span><span id="L-3958"><a href="#L-3958"><span class="linenos">3958</span></a><span class="k">class</span> <span class="nc">Concat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3959"><a href="#L-3959"><span class="linenos">3959</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-3960"><a href="#L-3960"><span class="linenos">3960</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3958"><a href="#L-3958"><span class="linenos">3958</span></a>
+</span><span id="L-3959"><a href="#L-3959"><span class="linenos">3959</span></a><span class="k">class</span> <span class="nc">Collate</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-3960"><a href="#L-3960"><span class="linenos">3960</span></a> <span class="k">pass</span>
</span><span id="L-3961"><a href="#L-3961"><span class="linenos">3961</span></a>
</span><span id="L-3962"><a href="#L-3962"><span class="linenos">3962</span></a>
-</span><span id="L-3963"><a href="#L-3963"><span class="linenos">3963</span></a><span class="k">class</span> <span class="nc">SafeConcat</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
+</span><span id="L-3963"><a href="#L-3963"><span class="linenos">3963</span></a><span class="k">class</span> <span class="nc">TryCast</span><span class="p">(</span><span class="n">Cast</span><span class="p">):</span>
</span><span id="L-3964"><a href="#L-3964"><span class="linenos">3964</span></a> <span class="k">pass</span>
</span><span id="L-3965"><a href="#L-3965"><span class="linenos">3965</span></a>
</span><span id="L-3966"><a href="#L-3966"><span class="linenos">3966</span></a>
-</span><span id="L-3967"><a href="#L-3967"><span class="linenos">3967</span></a><span class="k">class</span> <span class="nc">ConcatWs</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
-</span><span id="L-3968"><a href="#L-3968"><span class="linenos">3968</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CONCAT_WS&quot;</span><span class="p">]</span>
-</span><span id="L-3969"><a href="#L-3969"><span class="linenos">3969</span></a>
+</span><span id="L-3967"><a href="#L-3967"><span class="linenos">3967</span></a><span class="k">class</span> <span class="nc">Ceil</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3968"><a href="#L-3968"><span class="linenos">3968</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3969"><a href="#L-3969"><span class="linenos">3969</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CEIL&quot;</span><span class="p">,</span> <span class="s2">&quot;CEILING&quot;</span><span class="p">]</span>
</span><span id="L-3970"><a href="#L-3970"><span class="linenos">3970</span></a>
-</span><span id="L-3971"><a href="#L-3971"><span class="linenos">3971</span></a><span class="k">class</span> <span class="nc">Count</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3972"><a href="#L-3972"><span class="linenos">3972</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-3973"><a href="#L-3973"><span class="linenos">3973</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-3974"><a href="#L-3974"><span class="linenos">3974</span></a>
-</span><span id="L-3975"><a href="#L-3975"><span class="linenos">3975</span></a>
-</span><span id="L-3976"><a href="#L-3976"><span class="linenos">3976</span></a><span class="k">class</span> <span class="nc">CountIf</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-3977"><a href="#L-3977"><span class="linenos">3977</span></a> <span class="k">pass</span>
-</span><span id="L-3978"><a href="#L-3978"><span class="linenos">3978</span></a>
-</span><span id="L-3979"><a href="#L-3979"><span class="linenos">3979</span></a>
-</span><span id="L-3980"><a href="#L-3980"><span class="linenos">3980</span></a><span class="k">class</span> <span class="nc">CurrentDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3981"><a href="#L-3981"><span class="linenos">3981</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3971"><a href="#L-3971"><span class="linenos">3971</span></a>
+</span><span id="L-3972"><a href="#L-3972"><span class="linenos">3972</span></a><span class="k">class</span> <span class="nc">Coalesce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3973"><a href="#L-3973"><span class="linenos">3973</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3974"><a href="#L-3974"><span class="linenos">3974</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3975"><a href="#L-3975"><span class="linenos">3975</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;COALESCE&quot;</span><span class="p">,</span> <span class="s2">&quot;IFNULL&quot;</span><span class="p">,</span> <span class="s2">&quot;NVL&quot;</span><span class="p">]</span>
+</span><span id="L-3976"><a href="#L-3976"><span class="linenos">3976</span></a>
+</span><span id="L-3977"><a href="#L-3977"><span class="linenos">3977</span></a>
+</span><span id="L-3978"><a href="#L-3978"><span class="linenos">3978</span></a><span class="k">class</span> <span class="nc">Concat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-3979"><a href="#L-3979"><span class="linenos">3979</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-3980"><a href="#L-3980"><span class="linenos">3980</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-3981"><a href="#L-3981"><span class="linenos">3981</span></a>
</span><span id="L-3982"><a href="#L-3982"><span class="linenos">3982</span></a>
-</span><span id="L-3983"><a href="#L-3983"><span class="linenos">3983</span></a>
-</span><span id="L-3984"><a href="#L-3984"><span class="linenos">3984</span></a><span class="k">class</span> <span class="nc">CurrentDatetime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3985"><a href="#L-3985"><span class="linenos">3985</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3983"><a href="#L-3983"><span class="linenos">3983</span></a><span class="k">class</span> <span class="nc">SafeConcat</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
+</span><span id="L-3984"><a href="#L-3984"><span class="linenos">3984</span></a> <span class="k">pass</span>
+</span><span id="L-3985"><a href="#L-3985"><span class="linenos">3985</span></a>
</span><span id="L-3986"><a href="#L-3986"><span class="linenos">3986</span></a>
-</span><span id="L-3987"><a href="#L-3987"><span class="linenos">3987</span></a>
-</span><span id="L-3988"><a href="#L-3988"><span class="linenos">3988</span></a><span class="k">class</span> <span class="nc">CurrentTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3989"><a href="#L-3989"><span class="linenos">3989</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3987"><a href="#L-3987"><span class="linenos">3987</span></a><span class="k">class</span> <span class="nc">ConcatWs</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
+</span><span id="L-3988"><a href="#L-3988"><span class="linenos">3988</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CONCAT_WS&quot;</span><span class="p">]</span>
+</span><span id="L-3989"><a href="#L-3989"><span class="linenos">3989</span></a>
</span><span id="L-3990"><a href="#L-3990"><span class="linenos">3990</span></a>
-</span><span id="L-3991"><a href="#L-3991"><span class="linenos">3991</span></a>
-</span><span id="L-3992"><a href="#L-3992"><span class="linenos">3992</span></a><span class="k">class</span> <span class="nc">CurrentTimestamp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3993"><a href="#L-3993"><span class="linenos">3993</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3991"><a href="#L-3991"><span class="linenos">3991</span></a><span class="k">class</span> <span class="nc">Count</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3992"><a href="#L-3992"><span class="linenos">3992</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3993"><a href="#L-3993"><span class="linenos">3993</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-3994"><a href="#L-3994"><span class="linenos">3994</span></a>
</span><span id="L-3995"><a href="#L-3995"><span class="linenos">3995</span></a>
-</span><span id="L-3996"><a href="#L-3996"><span class="linenos">3996</span></a><span class="k">class</span> <span class="nc">CurrentUser</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-3997"><a href="#L-3997"><span class="linenos">3997</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-3996"><a href="#L-3996"><span class="linenos">3996</span></a><span class="k">class</span> <span class="nc">CountIf</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-3997"><a href="#L-3997"><span class="linenos">3997</span></a> <span class="k">pass</span>
</span><span id="L-3998"><a href="#L-3998"><span class="linenos">3998</span></a>
</span><span id="L-3999"><a href="#L-3999"><span class="linenos">3999</span></a>
-</span><span id="L-4000"><a href="#L-4000"><span class="linenos">4000</span></a><span class="k">class</span> <span class="nc">DateAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4001"><a href="#L-4001"><span class="linenos">4001</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4000"><a href="#L-4000"><span class="linenos">4000</span></a><span class="k">class</span> <span class="nc">CurrentDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4001"><a href="#L-4001"><span class="linenos">4001</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4002"><a href="#L-4002"><span class="linenos">4002</span></a>
</span><span id="L-4003"><a href="#L-4003"><span class="linenos">4003</span></a>
-</span><span id="L-4004"><a href="#L-4004"><span class="linenos">4004</span></a><span class="k">class</span> <span class="nc">DateSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4005"><a href="#L-4005"><span class="linenos">4005</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4004"><a href="#L-4004"><span class="linenos">4004</span></a><span class="k">class</span> <span class="nc">CurrentDatetime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4005"><a href="#L-4005"><span class="linenos">4005</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4006"><a href="#L-4006"><span class="linenos">4006</span></a>
</span><span id="L-4007"><a href="#L-4007"><span class="linenos">4007</span></a>
-</span><span id="L-4008"><a href="#L-4008"><span class="linenos">4008</span></a><span class="k">class</span> <span class="nc">DateDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4009"><a href="#L-4009"><span class="linenos">4009</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEDIFF&quot;</span><span class="p">,</span> <span class="s2">&quot;DATE_DIFF&quot;</span><span class="p">]</span>
-</span><span id="L-4010"><a href="#L-4010"><span class="linenos">4010</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4008"><a href="#L-4008"><span class="linenos">4008</span></a><span class="k">class</span> <span class="nc">CurrentTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4009"><a href="#L-4009"><span class="linenos">4009</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4010"><a href="#L-4010"><span class="linenos">4010</span></a>
</span><span id="L-4011"><a href="#L-4011"><span class="linenos">4011</span></a>
-</span><span id="L-4012"><a href="#L-4012"><span class="linenos">4012</span></a>
-</span><span id="L-4013"><a href="#L-4013"><span class="linenos">4013</span></a><span class="k">class</span> <span class="nc">DateTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4014"><a href="#L-4014"><span class="linenos">4014</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4012"><a href="#L-4012"><span class="linenos">4012</span></a><span class="k">class</span> <span class="nc">CurrentTimestamp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4013"><a href="#L-4013"><span class="linenos">4013</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4014"><a href="#L-4014"><span class="linenos">4014</span></a>
</span><span id="L-4015"><a href="#L-4015"><span class="linenos">4015</span></a>
-</span><span id="L-4016"><a href="#L-4016"><span class="linenos">4016</span></a>
-</span><span id="L-4017"><a href="#L-4017"><span class="linenos">4017</span></a><span class="k">class</span> <span class="nc">DatetimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4018"><a href="#L-4018"><span class="linenos">4018</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4016"><a href="#L-4016"><span class="linenos">4016</span></a><span class="k">class</span> <span class="nc">CurrentUser</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4017"><a href="#L-4017"><span class="linenos">4017</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4018"><a href="#L-4018"><span class="linenos">4018</span></a>
</span><span id="L-4019"><a href="#L-4019"><span class="linenos">4019</span></a>
-</span><span id="L-4020"><a href="#L-4020"><span class="linenos">4020</span></a>
-</span><span id="L-4021"><a href="#L-4021"><span class="linenos">4021</span></a><span class="k">class</span> <span class="nc">DatetimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4022"><a href="#L-4022"><span class="linenos">4022</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4020"><a href="#L-4020"><span class="linenos">4020</span></a><span class="k">class</span> <span class="nc">DateAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4021"><a href="#L-4021"><span class="linenos">4021</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4022"><a href="#L-4022"><span class="linenos">4022</span></a>
</span><span id="L-4023"><a href="#L-4023"><span class="linenos">4023</span></a>
-</span><span id="L-4024"><a href="#L-4024"><span class="linenos">4024</span></a>
-</span><span id="L-4025"><a href="#L-4025"><span class="linenos">4025</span></a><span class="k">class</span> <span class="nc">DatetimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4026"><a href="#L-4026"><span class="linenos">4026</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4024"><a href="#L-4024"><span class="linenos">4024</span></a><span class="k">class</span> <span class="nc">DateSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4025"><a href="#L-4025"><span class="linenos">4025</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4026"><a href="#L-4026"><span class="linenos">4026</span></a>
</span><span id="L-4027"><a href="#L-4027"><span class="linenos">4027</span></a>
-</span><span id="L-4028"><a href="#L-4028"><span class="linenos">4028</span></a>
-</span><span id="L-4029"><a href="#L-4029"><span class="linenos">4029</span></a><span class="k">class</span> <span class="nc">DatetimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4030"><a href="#L-4030"><span class="linenos">4030</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4028"><a href="#L-4028"><span class="linenos">4028</span></a><span class="k">class</span> <span class="nc">DateDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4029"><a href="#L-4029"><span class="linenos">4029</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEDIFF&quot;</span><span class="p">,</span> <span class="s2">&quot;DATE_DIFF&quot;</span><span class="p">]</span>
+</span><span id="L-4030"><a href="#L-4030"><span class="linenos">4030</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4031"><a href="#L-4031"><span class="linenos">4031</span></a>
</span><span id="L-4032"><a href="#L-4032"><span class="linenos">4032</span></a>
-</span><span id="L-4033"><a href="#L-4033"><span class="linenos">4033</span></a><span class="k">class</span> <span class="nc">DayOfWeek</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4034"><a href="#L-4034"><span class="linenos">4034</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_WEEK&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFWEEK&quot;</span><span class="p">]</span>
+</span><span id="L-4033"><a href="#L-4033"><span class="linenos">4033</span></a><span class="k">class</span> <span class="nc">DateTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4034"><a href="#L-4034"><span class="linenos">4034</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4035"><a href="#L-4035"><span class="linenos">4035</span></a>
</span><span id="L-4036"><a href="#L-4036"><span class="linenos">4036</span></a>
-</span><span id="L-4037"><a href="#L-4037"><span class="linenos">4037</span></a><span class="k">class</span> <span class="nc">DayOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4038"><a href="#L-4038"><span class="linenos">4038</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_MONTH&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFMONTH&quot;</span><span class="p">]</span>
+</span><span id="L-4037"><a href="#L-4037"><span class="linenos">4037</span></a><span class="k">class</span> <span class="nc">DatetimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4038"><a href="#L-4038"><span class="linenos">4038</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4039"><a href="#L-4039"><span class="linenos">4039</span></a>
</span><span id="L-4040"><a href="#L-4040"><span class="linenos">4040</span></a>
-</span><span id="L-4041"><a href="#L-4041"><span class="linenos">4041</span></a><span class="k">class</span> <span class="nc">DayOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4042"><a href="#L-4042"><span class="linenos">4042</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFYEAR&quot;</span><span class="p">]</span>
+</span><span id="L-4041"><a href="#L-4041"><span class="linenos">4041</span></a><span class="k">class</span> <span class="nc">DatetimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4042"><a href="#L-4042"><span class="linenos">4042</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4043"><a href="#L-4043"><span class="linenos">4043</span></a>
</span><span id="L-4044"><a href="#L-4044"><span class="linenos">4044</span></a>
-</span><span id="L-4045"><a href="#L-4045"><span class="linenos">4045</span></a><span class="k">class</span> <span class="nc">WeekOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4046"><a href="#L-4046"><span class="linenos">4046</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;WEEK_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;WEEKOFYEAR&quot;</span><span class="p">]</span>
+</span><span id="L-4045"><a href="#L-4045"><span class="linenos">4045</span></a><span class="k">class</span> <span class="nc">DatetimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4046"><a href="#L-4046"><span class="linenos">4046</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4047"><a href="#L-4047"><span class="linenos">4047</span></a>
</span><span id="L-4048"><a href="#L-4048"><span class="linenos">4048</span></a>
-</span><span id="L-4049"><a href="#L-4049"><span class="linenos">4049</span></a><span class="k">class</span> <span class="nc">LastDateOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4050"><a href="#L-4050"><span class="linenos">4050</span></a> <span class="k">pass</span>
+</span><span id="L-4049"><a href="#L-4049"><span class="linenos">4049</span></a><span class="k">class</span> <span class="nc">DatetimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4050"><a href="#L-4050"><span class="linenos">4050</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4051"><a href="#L-4051"><span class="linenos">4051</span></a>
</span><span id="L-4052"><a href="#L-4052"><span class="linenos">4052</span></a>
-</span><span id="L-4053"><a href="#L-4053"><span class="linenos">4053</span></a><span class="k">class</span> <span class="nc">Extract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4054"><a href="#L-4054"><span class="linenos">4054</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4053"><a href="#L-4053"><span class="linenos">4053</span></a><span class="k">class</span> <span class="nc">DayOfWeek</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4054"><a href="#L-4054"><span class="linenos">4054</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_WEEK&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFWEEK&quot;</span><span class="p">]</span>
</span><span id="L-4055"><a href="#L-4055"><span class="linenos">4055</span></a>
</span><span id="L-4056"><a href="#L-4056"><span class="linenos">4056</span></a>
-</span><span id="L-4057"><a href="#L-4057"><span class="linenos">4057</span></a><span class="k">class</span> <span class="nc">TimestampAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4058"><a href="#L-4058"><span class="linenos">4058</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4057"><a href="#L-4057"><span class="linenos">4057</span></a><span class="k">class</span> <span class="nc">DayOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4058"><a href="#L-4058"><span class="linenos">4058</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_MONTH&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFMONTH&quot;</span><span class="p">]</span>
</span><span id="L-4059"><a href="#L-4059"><span class="linenos">4059</span></a>
</span><span id="L-4060"><a href="#L-4060"><span class="linenos">4060</span></a>
-</span><span id="L-4061"><a href="#L-4061"><span class="linenos">4061</span></a><span class="k">class</span> <span class="nc">TimestampSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4062"><a href="#L-4062"><span class="linenos">4062</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4061"><a href="#L-4061"><span class="linenos">4061</span></a><span class="k">class</span> <span class="nc">DayOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4062"><a href="#L-4062"><span class="linenos">4062</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFYEAR&quot;</span><span class="p">]</span>
</span><span id="L-4063"><a href="#L-4063"><span class="linenos">4063</span></a>
</span><span id="L-4064"><a href="#L-4064"><span class="linenos">4064</span></a>
-</span><span id="L-4065"><a href="#L-4065"><span class="linenos">4065</span></a><span class="k">class</span> <span class="nc">TimestampDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4066"><a href="#L-4066"><span class="linenos">4066</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4065"><a href="#L-4065"><span class="linenos">4065</span></a><span class="k">class</span> <span class="nc">WeekOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4066"><a href="#L-4066"><span class="linenos">4066</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;WEEK_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;WEEKOFYEAR&quot;</span><span class="p">]</span>
</span><span id="L-4067"><a href="#L-4067"><span class="linenos">4067</span></a>
</span><span id="L-4068"><a href="#L-4068"><span class="linenos">4068</span></a>
-</span><span id="L-4069"><a href="#L-4069"><span class="linenos">4069</span></a><span class="k">class</span> <span class="nc">TimestampTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4070"><a href="#L-4070"><span class="linenos">4070</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4069"><a href="#L-4069"><span class="linenos">4069</span></a><span class="k">class</span> <span class="nc">LastDateOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4070"><a href="#L-4070"><span class="linenos">4070</span></a> <span class="k">pass</span>
</span><span id="L-4071"><a href="#L-4071"><span class="linenos">4071</span></a>
</span><span id="L-4072"><a href="#L-4072"><span class="linenos">4072</span></a>
-</span><span id="L-4073"><a href="#L-4073"><span class="linenos">4073</span></a><span class="k">class</span> <span class="nc">TimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4074"><a href="#L-4074"><span class="linenos">4074</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4073"><a href="#L-4073"><span class="linenos">4073</span></a><span class="k">class</span> <span class="nc">Extract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4074"><a href="#L-4074"><span class="linenos">4074</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4075"><a href="#L-4075"><span class="linenos">4075</span></a>
</span><span id="L-4076"><a href="#L-4076"><span class="linenos">4076</span></a>
-</span><span id="L-4077"><a href="#L-4077"><span class="linenos">4077</span></a><span class="k">class</span> <span class="nc">TimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4077"><a href="#L-4077"><span class="linenos">4077</span></a><span class="k">class</span> <span class="nc">TimestampAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
</span><span id="L-4078"><a href="#L-4078"><span class="linenos">4078</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4079"><a href="#L-4079"><span class="linenos">4079</span></a>
</span><span id="L-4080"><a href="#L-4080"><span class="linenos">4080</span></a>
-</span><span id="L-4081"><a href="#L-4081"><span class="linenos">4081</span></a><span class="k">class</span> <span class="nc">TimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4081"><a href="#L-4081"><span class="linenos">4081</span></a><span class="k">class</span> <span class="nc">TimestampSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
</span><span id="L-4082"><a href="#L-4082"><span class="linenos">4082</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4083"><a href="#L-4083"><span class="linenos">4083</span></a>
</span><span id="L-4084"><a href="#L-4084"><span class="linenos">4084</span></a>
-</span><span id="L-4085"><a href="#L-4085"><span class="linenos">4085</span></a><span class="k">class</span> <span class="nc">TimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4086"><a href="#L-4086"><span class="linenos">4086</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4085"><a href="#L-4085"><span class="linenos">4085</span></a><span class="k">class</span> <span class="nc">TimestampDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4086"><a href="#L-4086"><span class="linenos">4086</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4087"><a href="#L-4087"><span class="linenos">4087</span></a>
</span><span id="L-4088"><a href="#L-4088"><span class="linenos">4088</span></a>
-</span><span id="L-4089"><a href="#L-4089"><span class="linenos">4089</span></a><span class="k">class</span> <span class="nc">DateFromParts</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4090"><a href="#L-4090"><span class="linenos">4090</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEFROMPARTS&quot;</span><span class="p">]</span>
-</span><span id="L-4091"><a href="#L-4091"><span class="linenos">4091</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;year&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;month&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4089"><a href="#L-4089"><span class="linenos">4089</span></a><span class="k">class</span> <span class="nc">TimestampTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4090"><a href="#L-4090"><span class="linenos">4090</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4091"><a href="#L-4091"><span class="linenos">4091</span></a>
</span><span id="L-4092"><a href="#L-4092"><span class="linenos">4092</span></a>
-</span><span id="L-4093"><a href="#L-4093"><span class="linenos">4093</span></a>
-</span><span id="L-4094"><a href="#L-4094"><span class="linenos">4094</span></a><span class="k">class</span> <span class="nc">DateStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4095"><a href="#L-4095"><span class="linenos">4095</span></a> <span class="k">pass</span>
+</span><span id="L-4093"><a href="#L-4093"><span class="linenos">4093</span></a><span class="k">class</span> <span class="nc">TimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4094"><a href="#L-4094"><span class="linenos">4094</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4095"><a href="#L-4095"><span class="linenos">4095</span></a>
</span><span id="L-4096"><a href="#L-4096"><span class="linenos">4096</span></a>
-</span><span id="L-4097"><a href="#L-4097"><span class="linenos">4097</span></a>
-</span><span id="L-4098"><a href="#L-4098"><span class="linenos">4098</span></a><span class="k">class</span> <span class="nc">DateToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4099"><a href="#L-4099"><span class="linenos">4099</span></a> <span class="k">pass</span>
+</span><span id="L-4097"><a href="#L-4097"><span class="linenos">4097</span></a><span class="k">class</span> <span class="nc">TimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4098"><a href="#L-4098"><span class="linenos">4098</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4099"><a href="#L-4099"><span class="linenos">4099</span></a>
</span><span id="L-4100"><a href="#L-4100"><span class="linenos">4100</span></a>
-</span><span id="L-4101"><a href="#L-4101"><span class="linenos">4101</span></a>
-</span><span id="L-4102"><a href="#L-4102"><span class="linenos">4102</span></a><span class="k">class</span> <span class="nc">DateToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4103"><a href="#L-4103"><span class="linenos">4103</span></a> <span class="k">pass</span>
+</span><span id="L-4101"><a href="#L-4101"><span class="linenos">4101</span></a><span class="k">class</span> <span class="nc">TimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4102"><a href="#L-4102"><span class="linenos">4102</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4103"><a href="#L-4103"><span class="linenos">4103</span></a>
</span><span id="L-4104"><a href="#L-4104"><span class="linenos">4104</span></a>
-</span><span id="L-4105"><a href="#L-4105"><span class="linenos">4105</span></a>
-</span><span id="L-4106"><a href="#L-4106"><span class="linenos">4106</span></a><span class="k">class</span> <span class="nc">Date</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4107"><a href="#L-4107"><span class="linenos">4107</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4108"><a href="#L-4108"><span class="linenos">4108</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-4109"><a href="#L-4109"><span class="linenos">4109</span></a>
-</span><span id="L-4110"><a href="#L-4110"><span class="linenos">4110</span></a>
-</span><span id="L-4111"><a href="#L-4111"><span class="linenos">4111</span></a><span class="k">class</span> <span class="nc">Day</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4112"><a href="#L-4112"><span class="linenos">4112</span></a> <span class="k">pass</span>
+</span><span id="L-4105"><a href="#L-4105"><span class="linenos">4105</span></a><span class="k">class</span> <span class="nc">TimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4106"><a href="#L-4106"><span class="linenos">4106</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4107"><a href="#L-4107"><span class="linenos">4107</span></a>
+</span><span id="L-4108"><a href="#L-4108"><span class="linenos">4108</span></a>
+</span><span id="L-4109"><a href="#L-4109"><span class="linenos">4109</span></a><span class="k">class</span> <span class="nc">DateFromParts</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4110"><a href="#L-4110"><span class="linenos">4110</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEFROMPARTS&quot;</span><span class="p">]</span>
+</span><span id="L-4111"><a href="#L-4111"><span class="linenos">4111</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;year&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;month&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4112"><a href="#L-4112"><span class="linenos">4112</span></a>
</span><span id="L-4113"><a href="#L-4113"><span class="linenos">4113</span></a>
-</span><span id="L-4114"><a href="#L-4114"><span class="linenos">4114</span></a>
-</span><span id="L-4115"><a href="#L-4115"><span class="linenos">4115</span></a><span class="k">class</span> <span class="nc">Decode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4116"><a href="#L-4116"><span class="linenos">4116</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4114"><a href="#L-4114"><span class="linenos">4114</span></a><span class="k">class</span> <span class="nc">DateStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4115"><a href="#L-4115"><span class="linenos">4115</span></a> <span class="k">pass</span>
+</span><span id="L-4116"><a href="#L-4116"><span class="linenos">4116</span></a>
</span><span id="L-4117"><a href="#L-4117"><span class="linenos">4117</span></a>
-</span><span id="L-4118"><a href="#L-4118"><span class="linenos">4118</span></a>
-</span><span id="L-4119"><a href="#L-4119"><span class="linenos">4119</span></a><span class="k">class</span> <span class="nc">DiToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4120"><a href="#L-4120"><span class="linenos">4120</span></a> <span class="k">pass</span>
+</span><span id="L-4118"><a href="#L-4118"><span class="linenos">4118</span></a><span class="k">class</span> <span class="nc">DateToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4119"><a href="#L-4119"><span class="linenos">4119</span></a> <span class="k">pass</span>
+</span><span id="L-4120"><a href="#L-4120"><span class="linenos">4120</span></a>
</span><span id="L-4121"><a href="#L-4121"><span class="linenos">4121</span></a>
-</span><span id="L-4122"><a href="#L-4122"><span class="linenos">4122</span></a>
-</span><span id="L-4123"><a href="#L-4123"><span class="linenos">4123</span></a><span class="k">class</span> <span class="nc">Encode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4124"><a href="#L-4124"><span class="linenos">4124</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4122"><a href="#L-4122"><span class="linenos">4122</span></a><span class="k">class</span> <span class="nc">DateToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4123"><a href="#L-4123"><span class="linenos">4123</span></a> <span class="k">pass</span>
+</span><span id="L-4124"><a href="#L-4124"><span class="linenos">4124</span></a>
</span><span id="L-4125"><a href="#L-4125"><span class="linenos">4125</span></a>
-</span><span id="L-4126"><a href="#L-4126"><span class="linenos">4126</span></a>
-</span><span id="L-4127"><a href="#L-4127"><span class="linenos">4127</span></a><span class="k">class</span> <span class="nc">Exp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4128"><a href="#L-4128"><span class="linenos">4128</span></a> <span class="k">pass</span>
+</span><span id="L-4126"><a href="#L-4126"><span class="linenos">4126</span></a><span class="k">class</span> <span class="nc">Date</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4127"><a href="#L-4127"><span class="linenos">4127</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4128"><a href="#L-4128"><span class="linenos">4128</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-4129"><a href="#L-4129"><span class="linenos">4129</span></a>
</span><span id="L-4130"><a href="#L-4130"><span class="linenos">4130</span></a>
-</span><span id="L-4131"><a href="#L-4131"><span class="linenos">4131</span></a><span class="k">class</span> <span class="nc">Explode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4131"><a href="#L-4131"><span class="linenos">4131</span></a><span class="k">class</span> <span class="nc">Day</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
</span><span id="L-4132"><a href="#L-4132"><span class="linenos">4132</span></a> <span class="k">pass</span>
</span><span id="L-4133"><a href="#L-4133"><span class="linenos">4133</span></a>
</span><span id="L-4134"><a href="#L-4134"><span class="linenos">4134</span></a>
-</span><span id="L-4135"><a href="#L-4135"><span class="linenos">4135</span></a><span class="k">class</span> <span class="nc">Floor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4136"><a href="#L-4136"><span class="linenos">4136</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4135"><a href="#L-4135"><span class="linenos">4135</span></a><span class="k">class</span> <span class="nc">Decode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4136"><a href="#L-4136"><span class="linenos">4136</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4137"><a href="#L-4137"><span class="linenos">4137</span></a>
</span><span id="L-4138"><a href="#L-4138"><span class="linenos">4138</span></a>
-</span><span id="L-4139"><a href="#L-4139"><span class="linenos">4139</span></a><span class="k">class</span> <span class="nc">FromBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4139"><a href="#L-4139"><span class="linenos">4139</span></a><span class="k">class</span> <span class="nc">DiToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
</span><span id="L-4140"><a href="#L-4140"><span class="linenos">4140</span></a> <span class="k">pass</span>
</span><span id="L-4141"><a href="#L-4141"><span class="linenos">4141</span></a>
</span><span id="L-4142"><a href="#L-4142"><span class="linenos">4142</span></a>
-</span><span id="L-4143"><a href="#L-4143"><span class="linenos">4143</span></a><span class="k">class</span> <span class="nc">ToBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4144"><a href="#L-4144"><span class="linenos">4144</span></a> <span class="k">pass</span>
+</span><span id="L-4143"><a href="#L-4143"><span class="linenos">4143</span></a><span class="k">class</span> <span class="nc">Encode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4144"><a href="#L-4144"><span class="linenos">4144</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4145"><a href="#L-4145"><span class="linenos">4145</span></a>
</span><span id="L-4146"><a href="#L-4146"><span class="linenos">4146</span></a>
-</span><span id="L-4147"><a href="#L-4147"><span class="linenos">4147</span></a><span class="k">class</span> <span class="nc">Greatest</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4148"><a href="#L-4148"><span class="linenos">4148</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4149"><a href="#L-4149"><span class="linenos">4149</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-4147"><a href="#L-4147"><span class="linenos">4147</span></a><span class="k">class</span> <span class="nc">Exp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4148"><a href="#L-4148"><span class="linenos">4148</span></a> <span class="k">pass</span>
+</span><span id="L-4149"><a href="#L-4149"><span class="linenos">4149</span></a>
</span><span id="L-4150"><a href="#L-4150"><span class="linenos">4150</span></a>
-</span><span id="L-4151"><a href="#L-4151"><span class="linenos">4151</span></a>
-</span><span id="L-4152"><a href="#L-4152"><span class="linenos">4152</span></a><span class="k">class</span> <span class="nc">GroupConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4153"><a href="#L-4153"><span class="linenos">4153</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;separator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4151"><a href="#L-4151"><span class="linenos">4151</span></a><span class="k">class</span> <span class="nc">Explode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4152"><a href="#L-4152"><span class="linenos">4152</span></a> <span class="k">pass</span>
+</span><span id="L-4153"><a href="#L-4153"><span class="linenos">4153</span></a>
</span><span id="L-4154"><a href="#L-4154"><span class="linenos">4154</span></a>
-</span><span id="L-4155"><a href="#L-4155"><span class="linenos">4155</span></a>
-</span><span id="L-4156"><a href="#L-4156"><span class="linenos">4156</span></a><span class="k">class</span> <span class="nc">Hex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4157"><a href="#L-4157"><span class="linenos">4157</span></a> <span class="k">pass</span>
+</span><span id="L-4155"><a href="#L-4155"><span class="linenos">4155</span></a><span class="k">class</span> <span class="nc">Floor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4156"><a href="#L-4156"><span class="linenos">4156</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4157"><a href="#L-4157"><span class="linenos">4157</span></a>
</span><span id="L-4158"><a href="#L-4158"><span class="linenos">4158</span></a>
-</span><span id="L-4159"><a href="#L-4159"><span class="linenos">4159</span></a>
-</span><span id="L-4160"><a href="#L-4160"><span class="linenos">4160</span></a><span class="k">class</span> <span class="nc">If</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4161"><a href="#L-4161"><span class="linenos">4161</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4159"><a href="#L-4159"><span class="linenos">4159</span></a><span class="k">class</span> <span class="nc">FromBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4160"><a href="#L-4160"><span class="linenos">4160</span></a> <span class="k">pass</span>
+</span><span id="L-4161"><a href="#L-4161"><span class="linenos">4161</span></a>
</span><span id="L-4162"><a href="#L-4162"><span class="linenos">4162</span></a>
-</span><span id="L-4163"><a href="#L-4163"><span class="linenos">4163</span></a>
-</span><span id="L-4164"><a href="#L-4164"><span class="linenos">4164</span></a><span class="k">class</span> <span class="nc">Initcap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4165"><a href="#L-4165"><span class="linenos">4165</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4163"><a href="#L-4163"><span class="linenos">4163</span></a><span class="k">class</span> <span class="nc">ToBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4164"><a href="#L-4164"><span class="linenos">4164</span></a> <span class="k">pass</span>
+</span><span id="L-4165"><a href="#L-4165"><span class="linenos">4165</span></a>
</span><span id="L-4166"><a href="#L-4166"><span class="linenos">4166</span></a>
-</span><span id="L-4167"><a href="#L-4167"><span class="linenos">4167</span></a>
-</span><span id="L-4168"><a href="#L-4168"><span class="linenos">4168</span></a><span class="k">class</span> <span class="nc">JSONKeyValue</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-4169"><a href="#L-4169"><span class="linenos">4169</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4167"><a href="#L-4167"><span class="linenos">4167</span></a><span class="k">class</span> <span class="nc">Greatest</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4168"><a href="#L-4168"><span class="linenos">4168</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4169"><a href="#L-4169"><span class="linenos">4169</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-4170"><a href="#L-4170"><span class="linenos">4170</span></a>
</span><span id="L-4171"><a href="#L-4171"><span class="linenos">4171</span></a>
-</span><span id="L-4172"><a href="#L-4172"><span class="linenos">4172</span></a><span class="k">class</span> <span class="nc">JSONObject</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4173"><a href="#L-4173"><span class="linenos">4173</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-4174"><a href="#L-4174"><span class="linenos">4174</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4175"><a href="#L-4175"><span class="linenos">4175</span></a> <span class="s2">&quot;null_handling&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4176"><a href="#L-4176"><span class="linenos">4176</span></a> <span class="s2">&quot;unique_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4177"><a href="#L-4177"><span class="linenos">4177</span></a> <span class="s2">&quot;return_type&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4178"><a href="#L-4178"><span class="linenos">4178</span></a> <span class="s2">&quot;format_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4179"><a href="#L-4179"><span class="linenos">4179</span></a> <span class="s2">&quot;encoding&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4180"><a href="#L-4180"><span class="linenos">4180</span></a> <span class="p">}</span>
-</span><span id="L-4181"><a href="#L-4181"><span class="linenos">4181</span></a>
+</span><span id="L-4172"><a href="#L-4172"><span class="linenos">4172</span></a><span class="k">class</span> <span class="nc">GroupConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4173"><a href="#L-4173"><span class="linenos">4173</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;separator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4174"><a href="#L-4174"><span class="linenos">4174</span></a>
+</span><span id="L-4175"><a href="#L-4175"><span class="linenos">4175</span></a>
+</span><span id="L-4176"><a href="#L-4176"><span class="linenos">4176</span></a><span class="k">class</span> <span class="nc">Hex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4177"><a href="#L-4177"><span class="linenos">4177</span></a> <span class="k">pass</span>
+</span><span id="L-4178"><a href="#L-4178"><span class="linenos">4178</span></a>
+</span><span id="L-4179"><a href="#L-4179"><span class="linenos">4179</span></a>
+</span><span id="L-4180"><a href="#L-4180"><span class="linenos">4180</span></a><span class="k">class</span> <span class="nc">If</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4181"><a href="#L-4181"><span class="linenos">4181</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4182"><a href="#L-4182"><span class="linenos">4182</span></a>
-</span><span id="L-4183"><a href="#L-4183"><span class="linenos">4183</span></a><span class="k">class</span> <span class="nc">OpenJSONColumnDef</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-4184"><a href="#L-4184"><span class="linenos">4184</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;as_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4185"><a href="#L-4185"><span class="linenos">4185</span></a>
+</span><span id="L-4183"><a href="#L-4183"><span class="linenos">4183</span></a>
+</span><span id="L-4184"><a href="#L-4184"><span class="linenos">4184</span></a><span class="k">class</span> <span class="nc">Initcap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4185"><a href="#L-4185"><span class="linenos">4185</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4186"><a href="#L-4186"><span class="linenos">4186</span></a>
-</span><span id="L-4187"><a href="#L-4187"><span class="linenos">4187</span></a><span class="k">class</span> <span class="nc">OpenJSON</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4188"><a href="#L-4188"><span class="linenos">4188</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4189"><a href="#L-4189"><span class="linenos">4189</span></a>
+</span><span id="L-4187"><a href="#L-4187"><span class="linenos">4187</span></a>
+</span><span id="L-4188"><a href="#L-4188"><span class="linenos">4188</span></a><span class="k">class</span> <span class="nc">JSONKeyValue</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-4189"><a href="#L-4189"><span class="linenos">4189</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4190"><a href="#L-4190"><span class="linenos">4190</span></a>
-</span><span id="L-4191"><a href="#L-4191"><span class="linenos">4191</span></a><span class="k">class</span> <span class="nc">JSONBContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="L-4192"><a href="#L-4192"><span class="linenos">4192</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_CONTAINS&quot;</span><span class="p">]</span>
-</span><span id="L-4193"><a href="#L-4193"><span class="linenos">4193</span></a>
-</span><span id="L-4194"><a href="#L-4194"><span class="linenos">4194</span></a>
-</span><span id="L-4195"><a href="#L-4195"><span class="linenos">4195</span></a><span class="k">class</span> <span class="nc">JSONExtract</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4196"><a href="#L-4196"><span class="linenos">4196</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
-</span><span id="L-4197"><a href="#L-4197"><span class="linenos">4197</span></a>
-</span><span id="L-4198"><a href="#L-4198"><span class="linenos">4198</span></a>
-</span><span id="L-4199"><a href="#L-4199"><span class="linenos">4199</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
-</span><span id="L-4200"><a href="#L-4200"><span class="linenos">4200</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="L-4191"><a href="#L-4191"><span class="linenos">4191</span></a>
+</span><span id="L-4192"><a href="#L-4192"><span class="linenos">4192</span></a><span class="k">class</span> <span class="nc">JSONObject</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4193"><a href="#L-4193"><span class="linenos">4193</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-4194"><a href="#L-4194"><span class="linenos">4194</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4195"><a href="#L-4195"><span class="linenos">4195</span></a> <span class="s2">&quot;null_handling&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4196"><a href="#L-4196"><span class="linenos">4196</span></a> <span class="s2">&quot;unique_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4197"><a href="#L-4197"><span class="linenos">4197</span></a> <span class="s2">&quot;return_type&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4198"><a href="#L-4198"><span class="linenos">4198</span></a> <span class="s2">&quot;format_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4199"><a href="#L-4199"><span class="linenos">4199</span></a> <span class="s2">&quot;encoding&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4200"><a href="#L-4200"><span class="linenos">4200</span></a> <span class="p">}</span>
</span><span id="L-4201"><a href="#L-4201"><span class="linenos">4201</span></a>
</span><span id="L-4202"><a href="#L-4202"><span class="linenos">4202</span></a>
-</span><span id="L-4203"><a href="#L-4203"><span class="linenos">4203</span></a><span class="k">class</span> <span class="nc">JSONBExtract</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
-</span><span id="L-4204"><a href="#L-4204"><span class="linenos">4204</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT&quot;</span><span class="p">]</span>
+</span><span id="L-4203"><a href="#L-4203"><span class="linenos">4203</span></a><span class="k">class</span> <span class="nc">OpenJSONColumnDef</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-4204"><a href="#L-4204"><span class="linenos">4204</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;as_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4205"><a href="#L-4205"><span class="linenos">4205</span></a>
</span><span id="L-4206"><a href="#L-4206"><span class="linenos">4206</span></a>
-</span><span id="L-4207"><a href="#L-4207"><span class="linenos">4207</span></a><span class="k">class</span> <span class="nc">JSONBExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
-</span><span id="L-4208"><a href="#L-4208"><span class="linenos">4208</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="L-4207"><a href="#L-4207"><span class="linenos">4207</span></a><span class="k">class</span> <span class="nc">OpenJSON</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4208"><a href="#L-4208"><span class="linenos">4208</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4209"><a href="#L-4209"><span class="linenos">4209</span></a>
</span><span id="L-4210"><a href="#L-4210"><span class="linenos">4210</span></a>
-</span><span id="L-4211"><a href="#L-4211"><span class="linenos">4211</span></a><span class="k">class</span> <span class="nc">JSONFormat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4212"><a href="#L-4212"><span class="linenos">4212</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4213"><a href="#L-4213"><span class="linenos">4213</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_FORMAT&quot;</span><span class="p">]</span>
+</span><span id="L-4211"><a href="#L-4211"><span class="linenos">4211</span></a><span class="k">class</span> <span class="nc">JSONBContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="L-4212"><a href="#L-4212"><span class="linenos">4212</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_CONTAINS&quot;</span><span class="p">]</span>
+</span><span id="L-4213"><a href="#L-4213"><span class="linenos">4213</span></a>
</span><span id="L-4214"><a href="#L-4214"><span class="linenos">4214</span></a>
-</span><span id="L-4215"><a href="#L-4215"><span class="linenos">4215</span></a>
-</span><span id="L-4216"><a href="#L-4216"><span class="linenos">4216</span></a><span class="k">class</span> <span class="nc">Least</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4217"><a href="#L-4217"><span class="linenos">4217</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4218"><a href="#L-4218"><span class="linenos">4218</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-4219"><a href="#L-4219"><span class="linenos">4219</span></a>
-</span><span id="L-4220"><a href="#L-4220"><span class="linenos">4220</span></a>
-</span><span id="L-4221"><a href="#L-4221"><span class="linenos">4221</span></a><span class="k">class</span> <span class="nc">Left</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4222"><a href="#L-4222"><span class="linenos">4222</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4223"><a href="#L-4223"><span class="linenos">4223</span></a>
-</span><span id="L-4224"><a href="#L-4224"><span class="linenos">4224</span></a>
-</span><span id="L-4225"><a href="#L-4225"><span class="linenos">4225</span></a><span class="k">class</span> <span class="nc">Right</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4226"><a href="#L-4226"><span class="linenos">4226</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4227"><a href="#L-4227"><span class="linenos">4227</span></a>
-</span><span id="L-4228"><a href="#L-4228"><span class="linenos">4228</span></a>
-</span><span id="L-4229"><a href="#L-4229"><span class="linenos">4229</span></a><span class="k">class</span> <span class="nc">Length</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4230"><a href="#L-4230"><span class="linenos">4230</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LENGTH&quot;</span><span class="p">,</span> <span class="s2">&quot;LEN&quot;</span><span class="p">]</span>
-</span><span id="L-4231"><a href="#L-4231"><span class="linenos">4231</span></a>
-</span><span id="L-4232"><a href="#L-4232"><span class="linenos">4232</span></a>
-</span><span id="L-4233"><a href="#L-4233"><span class="linenos">4233</span></a><span class="k">class</span> <span class="nc">Levenshtein</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4234"><a href="#L-4234"><span class="linenos">4234</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-4235"><a href="#L-4235"><span class="linenos">4235</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4236"><a href="#L-4236"><span class="linenos">4236</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4237"><a href="#L-4237"><span class="linenos">4237</span></a> <span class="s2">&quot;ins_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4238"><a href="#L-4238"><span class="linenos">4238</span></a> <span class="s2">&quot;del_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4239"><a href="#L-4239"><span class="linenos">4239</span></a> <span class="s2">&quot;sub_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4240"><a href="#L-4240"><span class="linenos">4240</span></a> <span class="p">}</span>
-</span><span id="L-4241"><a href="#L-4241"><span class="linenos">4241</span></a>
-</span><span id="L-4242"><a href="#L-4242"><span class="linenos">4242</span></a>
-</span><span id="L-4243"><a href="#L-4243"><span class="linenos">4243</span></a><span class="k">class</span> <span class="nc">Ln</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4244"><a href="#L-4244"><span class="linenos">4244</span></a> <span class="k">pass</span>
-</span><span id="L-4245"><a href="#L-4245"><span class="linenos">4245</span></a>
-</span><span id="L-4246"><a href="#L-4246"><span class="linenos">4246</span></a>
-</span><span id="L-4247"><a href="#L-4247"><span class="linenos">4247</span></a><span class="k">class</span> <span class="nc">Log</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4248"><a href="#L-4248"><span class="linenos">4248</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4249"><a href="#L-4249"><span class="linenos">4249</span></a>
-</span><span id="L-4250"><a href="#L-4250"><span class="linenos">4250</span></a>
-</span><span id="L-4251"><a href="#L-4251"><span class="linenos">4251</span></a><span class="k">class</span> <span class="nc">Log2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4252"><a href="#L-4252"><span class="linenos">4252</span></a> <span class="k">pass</span>
-</span><span id="L-4253"><a href="#L-4253"><span class="linenos">4253</span></a>
-</span><span id="L-4254"><a href="#L-4254"><span class="linenos">4254</span></a>
-</span><span id="L-4255"><a href="#L-4255"><span class="linenos">4255</span></a><span class="k">class</span> <span class="nc">Log10</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4256"><a href="#L-4256"><span class="linenos">4256</span></a> <span class="k">pass</span>
-</span><span id="L-4257"><a href="#L-4257"><span class="linenos">4257</span></a>
-</span><span id="L-4258"><a href="#L-4258"><span class="linenos">4258</span></a>
-</span><span id="L-4259"><a href="#L-4259"><span class="linenos">4259</span></a><span class="k">class</span> <span class="nc">LogicalOr</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4260"><a href="#L-4260"><span class="linenos">4260</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLOR_AGG&quot;</span><span class="p">]</span>
+</span><span id="L-4215"><a href="#L-4215"><span class="linenos">4215</span></a><span class="k">class</span> <span class="nc">JSONExtract</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4216"><a href="#L-4216"><span class="linenos">4216</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
+</span><span id="L-4217"><a href="#L-4217"><span class="linenos">4217</span></a>
+</span><span id="L-4218"><a href="#L-4218"><span class="linenos">4218</span></a>
+</span><span id="L-4219"><a href="#L-4219"><span class="linenos">4219</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
+</span><span id="L-4220"><a href="#L-4220"><span class="linenos">4220</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="L-4221"><a href="#L-4221"><span class="linenos">4221</span></a>
+</span><span id="L-4222"><a href="#L-4222"><span class="linenos">4222</span></a>
+</span><span id="L-4223"><a href="#L-4223"><span class="linenos">4223</span></a><span class="k">class</span> <span class="nc">JSONBExtract</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
+</span><span id="L-4224"><a href="#L-4224"><span class="linenos">4224</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT&quot;</span><span class="p">]</span>
+</span><span id="L-4225"><a href="#L-4225"><span class="linenos">4225</span></a>
+</span><span id="L-4226"><a href="#L-4226"><span class="linenos">4226</span></a>
+</span><span id="L-4227"><a href="#L-4227"><span class="linenos">4227</span></a><span class="k">class</span> <span class="nc">JSONBExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
+</span><span id="L-4228"><a href="#L-4228"><span class="linenos">4228</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="L-4229"><a href="#L-4229"><span class="linenos">4229</span></a>
+</span><span id="L-4230"><a href="#L-4230"><span class="linenos">4230</span></a>
+</span><span id="L-4231"><a href="#L-4231"><span class="linenos">4231</span></a><span class="k">class</span> <span class="nc">JSONFormat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4232"><a href="#L-4232"><span class="linenos">4232</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4233"><a href="#L-4233"><span class="linenos">4233</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_FORMAT&quot;</span><span class="p">]</span>
+</span><span id="L-4234"><a href="#L-4234"><span class="linenos">4234</span></a>
+</span><span id="L-4235"><a href="#L-4235"><span class="linenos">4235</span></a>
+</span><span id="L-4236"><a href="#L-4236"><span class="linenos">4236</span></a><span class="k">class</span> <span class="nc">Least</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4237"><a href="#L-4237"><span class="linenos">4237</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4238"><a href="#L-4238"><span class="linenos">4238</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-4239"><a href="#L-4239"><span class="linenos">4239</span></a>
+</span><span id="L-4240"><a href="#L-4240"><span class="linenos">4240</span></a>
+</span><span id="L-4241"><a href="#L-4241"><span class="linenos">4241</span></a><span class="k">class</span> <span class="nc">Left</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4242"><a href="#L-4242"><span class="linenos">4242</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4243"><a href="#L-4243"><span class="linenos">4243</span></a>
+</span><span id="L-4244"><a href="#L-4244"><span class="linenos">4244</span></a>
+</span><span id="L-4245"><a href="#L-4245"><span class="linenos">4245</span></a><span class="k">class</span> <span class="nc">Right</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4246"><a href="#L-4246"><span class="linenos">4246</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4247"><a href="#L-4247"><span class="linenos">4247</span></a>
+</span><span id="L-4248"><a href="#L-4248"><span class="linenos">4248</span></a>
+</span><span id="L-4249"><a href="#L-4249"><span class="linenos">4249</span></a><span class="k">class</span> <span class="nc">Length</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4250"><a href="#L-4250"><span class="linenos">4250</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LENGTH&quot;</span><span class="p">,</span> <span class="s2">&quot;LEN&quot;</span><span class="p">]</span>
+</span><span id="L-4251"><a href="#L-4251"><span class="linenos">4251</span></a>
+</span><span id="L-4252"><a href="#L-4252"><span class="linenos">4252</span></a>
+</span><span id="L-4253"><a href="#L-4253"><span class="linenos">4253</span></a><span class="k">class</span> <span class="nc">Levenshtein</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4254"><a href="#L-4254"><span class="linenos">4254</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-4255"><a href="#L-4255"><span class="linenos">4255</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4256"><a href="#L-4256"><span class="linenos">4256</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4257"><a href="#L-4257"><span class="linenos">4257</span></a> <span class="s2">&quot;ins_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4258"><a href="#L-4258"><span class="linenos">4258</span></a> <span class="s2">&quot;del_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4259"><a href="#L-4259"><span class="linenos">4259</span></a> <span class="s2">&quot;sub_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4260"><a href="#L-4260"><span class="linenos">4260</span></a> <span class="p">}</span>
</span><span id="L-4261"><a href="#L-4261"><span class="linenos">4261</span></a>
</span><span id="L-4262"><a href="#L-4262"><span class="linenos">4262</span></a>
-</span><span id="L-4263"><a href="#L-4263"><span class="linenos">4263</span></a><span class="k">class</span> <span class="nc">LogicalAnd</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4264"><a href="#L-4264"><span class="linenos">4264</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLAND_AGG&quot;</span><span class="p">]</span>
+</span><span id="L-4263"><a href="#L-4263"><span class="linenos">4263</span></a><span class="k">class</span> <span class="nc">Ln</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4264"><a href="#L-4264"><span class="linenos">4264</span></a> <span class="k">pass</span>
</span><span id="L-4265"><a href="#L-4265"><span class="linenos">4265</span></a>
</span><span id="L-4266"><a href="#L-4266"><span class="linenos">4266</span></a>
-</span><span id="L-4267"><a href="#L-4267"><span class="linenos">4267</span></a><span class="k">class</span> <span class="nc">Lower</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4268"><a href="#L-4268"><span class="linenos">4268</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOWER&quot;</span><span class="p">,</span> <span class="s2">&quot;LCASE&quot;</span><span class="p">]</span>
+</span><span id="L-4267"><a href="#L-4267"><span class="linenos">4267</span></a><span class="k">class</span> <span class="nc">Log</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4268"><a href="#L-4268"><span class="linenos">4268</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4269"><a href="#L-4269"><span class="linenos">4269</span></a>
</span><span id="L-4270"><a href="#L-4270"><span class="linenos">4270</span></a>
-</span><span id="L-4271"><a href="#L-4271"><span class="linenos">4271</span></a><span class="k">class</span> <span class="nc">Map</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4272"><a href="#L-4272"><span class="linenos">4272</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4271"><a href="#L-4271"><span class="linenos">4271</span></a><span class="k">class</span> <span class="nc">Log2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4272"><a href="#L-4272"><span class="linenos">4272</span></a> <span class="k">pass</span>
</span><span id="L-4273"><a href="#L-4273"><span class="linenos">4273</span></a>
</span><span id="L-4274"><a href="#L-4274"><span class="linenos">4274</span></a>
-</span><span id="L-4275"><a href="#L-4275"><span class="linenos">4275</span></a><span class="k">class</span> <span class="nc">StarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4275"><a href="#L-4275"><span class="linenos">4275</span></a><span class="k">class</span> <span class="nc">Log10</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
</span><span id="L-4276"><a href="#L-4276"><span class="linenos">4276</span></a> <span class="k">pass</span>
</span><span id="L-4277"><a href="#L-4277"><span class="linenos">4277</span></a>
</span><span id="L-4278"><a href="#L-4278"><span class="linenos">4278</span></a>
-</span><span id="L-4279"><a href="#L-4279"><span class="linenos">4279</span></a><span class="k">class</span> <span class="nc">VarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4280"><a href="#L-4280"><span class="linenos">4280</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4281"><a href="#L-4281"><span class="linenos">4281</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-4279"><a href="#L-4279"><span class="linenos">4279</span></a><span class="k">class</span> <span class="nc">LogicalOr</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4280"><a href="#L-4280"><span class="linenos">4280</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLOR_AGG&quot;</span><span class="p">]</span>
+</span><span id="L-4281"><a href="#L-4281"><span class="linenos">4281</span></a>
</span><span id="L-4282"><a href="#L-4282"><span class="linenos">4282</span></a>
-</span><span id="L-4283"><a href="#L-4283"><span class="linenos">4283</span></a> <span class="nd">@property</span>
-</span><span id="L-4284"><a href="#L-4284"><span class="linenos">4284</span></a> <span class="k">def</span> <span class="nf">keys</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
-</span><span id="L-4285"><a href="#L-4285"><span class="linenos">4285</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;keys&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="L-4283"><a href="#L-4283"><span class="linenos">4283</span></a><span class="k">class</span> <span class="nc">LogicalAnd</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4284"><a href="#L-4284"><span class="linenos">4284</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLAND_AGG&quot;</span><span class="p">]</span>
+</span><span id="L-4285"><a href="#L-4285"><span class="linenos">4285</span></a>
</span><span id="L-4286"><a href="#L-4286"><span class="linenos">4286</span></a>
-</span><span id="L-4287"><a href="#L-4287"><span class="linenos">4287</span></a> <span class="nd">@property</span>
-</span><span id="L-4288"><a href="#L-4288"><span class="linenos">4288</span></a> <span class="k">def</span> <span class="nf">values</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
-</span><span id="L-4289"><a href="#L-4289"><span class="linenos">4289</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;values&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="L-4287"><a href="#L-4287"><span class="linenos">4287</span></a><span class="k">class</span> <span class="nc">Lower</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4288"><a href="#L-4288"><span class="linenos">4288</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOWER&quot;</span><span class="p">,</span> <span class="s2">&quot;LCASE&quot;</span><span class="p">]</span>
+</span><span id="L-4289"><a href="#L-4289"><span class="linenos">4289</span></a>
</span><span id="L-4290"><a href="#L-4290"><span class="linenos">4290</span></a>
-</span><span id="L-4291"><a href="#L-4291"><span class="linenos">4291</span></a>
-</span><span id="L-4292"><a href="#L-4292"><span class="linenos">4292</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html</span>
-</span><span id="L-4293"><a href="#L-4293"><span class="linenos">4293</span></a><span class="k">class</span> <span class="nc">MatchAgainst</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4294"><a href="#L-4294"><span class="linenos">4294</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;modifier&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4295"><a href="#L-4295"><span class="linenos">4295</span></a>
-</span><span id="L-4296"><a href="#L-4296"><span class="linenos">4296</span></a>
-</span><span id="L-4297"><a href="#L-4297"><span class="linenos">4297</span></a><span class="k">class</span> <span class="nc">Max</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4298"><a href="#L-4298"><span class="linenos">4298</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4299"><a href="#L-4299"><span class="linenos">4299</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-4300"><a href="#L-4300"><span class="linenos">4300</span></a>
-</span><span id="L-4301"><a href="#L-4301"><span class="linenos">4301</span></a>
-</span><span id="L-4302"><a href="#L-4302"><span class="linenos">4302</span></a><span class="k">class</span> <span class="nc">MD5</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4303"><a href="#L-4303"><span class="linenos">4303</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;MD5&quot;</span><span class="p">]</span>
-</span><span id="L-4304"><a href="#L-4304"><span class="linenos">4304</span></a>
-</span><span id="L-4305"><a href="#L-4305"><span class="linenos">4305</span></a>
-</span><span id="L-4306"><a href="#L-4306"><span class="linenos">4306</span></a><span class="k">class</span> <span class="nc">Min</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4307"><a href="#L-4307"><span class="linenos">4307</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4308"><a href="#L-4308"><span class="linenos">4308</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-4309"><a href="#L-4309"><span class="linenos">4309</span></a>
+</span><span id="L-4291"><a href="#L-4291"><span class="linenos">4291</span></a><span class="k">class</span> <span class="nc">Map</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4292"><a href="#L-4292"><span class="linenos">4292</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4293"><a href="#L-4293"><span class="linenos">4293</span></a>
+</span><span id="L-4294"><a href="#L-4294"><span class="linenos">4294</span></a>
+</span><span id="L-4295"><a href="#L-4295"><span class="linenos">4295</span></a><span class="k">class</span> <span class="nc">StarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4296"><a href="#L-4296"><span class="linenos">4296</span></a> <span class="k">pass</span>
+</span><span id="L-4297"><a href="#L-4297"><span class="linenos">4297</span></a>
+</span><span id="L-4298"><a href="#L-4298"><span class="linenos">4298</span></a>
+</span><span id="L-4299"><a href="#L-4299"><span class="linenos">4299</span></a><span class="k">class</span> <span class="nc">VarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4300"><a href="#L-4300"><span class="linenos">4300</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4301"><a href="#L-4301"><span class="linenos">4301</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-4302"><a href="#L-4302"><span class="linenos">4302</span></a>
+</span><span id="L-4303"><a href="#L-4303"><span class="linenos">4303</span></a> <span class="nd">@property</span>
+</span><span id="L-4304"><a href="#L-4304"><span class="linenos">4304</span></a> <span class="k">def</span> <span class="nf">keys</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
+</span><span id="L-4305"><a href="#L-4305"><span class="linenos">4305</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;keys&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="L-4306"><a href="#L-4306"><span class="linenos">4306</span></a>
+</span><span id="L-4307"><a href="#L-4307"><span class="linenos">4307</span></a> <span class="nd">@property</span>
+</span><span id="L-4308"><a href="#L-4308"><span class="linenos">4308</span></a> <span class="k">def</span> <span class="nf">values</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
+</span><span id="L-4309"><a href="#L-4309"><span class="linenos">4309</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;values&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
</span><span id="L-4310"><a href="#L-4310"><span class="linenos">4310</span></a>
-</span><span id="L-4311"><a href="#L-4311"><span class="linenos">4311</span></a><span class="k">class</span> <span class="nc">Month</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4312"><a href="#L-4312"><span class="linenos">4312</span></a> <span class="k">pass</span>
-</span><span id="L-4313"><a href="#L-4313"><span class="linenos">4313</span></a>
-</span><span id="L-4314"><a href="#L-4314"><span class="linenos">4314</span></a>
-</span><span id="L-4315"><a href="#L-4315"><span class="linenos">4315</span></a><span class="k">class</span> <span class="nc">Nvl2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4316"><a href="#L-4316"><span class="linenos">4316</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4317"><a href="#L-4317"><span class="linenos">4317</span></a>
-</span><span id="L-4318"><a href="#L-4318"><span class="linenos">4318</span></a>
-</span><span id="L-4319"><a href="#L-4319"><span class="linenos">4319</span></a><span class="k">class</span> <span class="nc">Posexplode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4320"><a href="#L-4320"><span class="linenos">4320</span></a> <span class="k">pass</span>
+</span><span id="L-4311"><a href="#L-4311"><span class="linenos">4311</span></a>
+</span><span id="L-4312"><a href="#L-4312"><span class="linenos">4312</span></a><span class="c1"># https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html</span>
+</span><span id="L-4313"><a href="#L-4313"><span class="linenos">4313</span></a><span class="k">class</span> <span class="nc">MatchAgainst</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4314"><a href="#L-4314"><span class="linenos">4314</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;modifier&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4315"><a href="#L-4315"><span class="linenos">4315</span></a>
+</span><span id="L-4316"><a href="#L-4316"><span class="linenos">4316</span></a>
+</span><span id="L-4317"><a href="#L-4317"><span class="linenos">4317</span></a><span class="k">class</span> <span class="nc">Max</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4318"><a href="#L-4318"><span class="linenos">4318</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4319"><a href="#L-4319"><span class="linenos">4319</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-4320"><a href="#L-4320"><span class="linenos">4320</span></a>
</span><span id="L-4321"><a href="#L-4321"><span class="linenos">4321</span></a>
-</span><span id="L-4322"><a href="#L-4322"><span class="linenos">4322</span></a>
-</span><span id="L-4323"><a href="#L-4323"><span class="linenos">4323</span></a><span class="k">class</span> <span class="nc">Pow</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4324"><a href="#L-4324"><span class="linenos">4324</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;POWER&quot;</span><span class="p">,</span> <span class="s2">&quot;POW&quot;</span><span class="p">]</span>
+</span><span id="L-4322"><a href="#L-4322"><span class="linenos">4322</span></a><span class="k">class</span> <span class="nc">MD5</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4323"><a href="#L-4323"><span class="linenos">4323</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;MD5&quot;</span><span class="p">]</span>
+</span><span id="L-4324"><a href="#L-4324"><span class="linenos">4324</span></a>
</span><span id="L-4325"><a href="#L-4325"><span class="linenos">4325</span></a>
-</span><span id="L-4326"><a href="#L-4326"><span class="linenos">4326</span></a>
-</span><span id="L-4327"><a href="#L-4327"><span class="linenos">4327</span></a><span class="k">class</span> <span class="nc">PercentileCont</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4328"><a href="#L-4328"><span class="linenos">4328</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4326"><a href="#L-4326"><span class="linenos">4326</span></a><span class="k">class</span> <span class="nc">Min</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4327"><a href="#L-4327"><span class="linenos">4327</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4328"><a href="#L-4328"><span class="linenos">4328</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-4329"><a href="#L-4329"><span class="linenos">4329</span></a>
</span><span id="L-4330"><a href="#L-4330"><span class="linenos">4330</span></a>
-</span><span id="L-4331"><a href="#L-4331"><span class="linenos">4331</span></a><span class="k">class</span> <span class="nc">PercentileDisc</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4332"><a href="#L-4332"><span class="linenos">4332</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4331"><a href="#L-4331"><span class="linenos">4331</span></a><span class="k">class</span> <span class="nc">Month</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4332"><a href="#L-4332"><span class="linenos">4332</span></a> <span class="k">pass</span>
</span><span id="L-4333"><a href="#L-4333"><span class="linenos">4333</span></a>
</span><span id="L-4334"><a href="#L-4334"><span class="linenos">4334</span></a>
-</span><span id="L-4335"><a href="#L-4335"><span class="linenos">4335</span></a><span class="k">class</span> <span class="nc">Quantile</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4336"><a href="#L-4336"><span class="linenos">4336</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4335"><a href="#L-4335"><span class="linenos">4335</span></a><span class="k">class</span> <span class="nc">Nvl2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4336"><a href="#L-4336"><span class="linenos">4336</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4337"><a href="#L-4337"><span class="linenos">4337</span></a>
</span><span id="L-4338"><a href="#L-4338"><span class="linenos">4338</span></a>
-</span><span id="L-4339"><a href="#L-4339"><span class="linenos">4339</span></a><span class="k">class</span> <span class="nc">ApproxQuantile</span><span class="p">(</span><span class="n">Quantile</span><span class="p">):</span>
-</span><span id="L-4340"><a href="#L-4340"><span class="linenos">4340</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4339"><a href="#L-4339"><span class="linenos">4339</span></a><span class="k">class</span> <span class="nc">Posexplode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4340"><a href="#L-4340"><span class="linenos">4340</span></a> <span class="k">pass</span>
</span><span id="L-4341"><a href="#L-4341"><span class="linenos">4341</span></a>
</span><span id="L-4342"><a href="#L-4342"><span class="linenos">4342</span></a>
-</span><span id="L-4343"><a href="#L-4343"><span class="linenos">4343</span></a><span class="k">class</span> <span class="nc">RangeN</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4344"><a href="#L-4344"><span class="linenos">4344</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;each&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4343"><a href="#L-4343"><span class="linenos">4343</span></a><span class="k">class</span> <span class="nc">Pow</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4344"><a href="#L-4344"><span class="linenos">4344</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;POWER&quot;</span><span class="p">,</span> <span class="s2">&quot;POW&quot;</span><span class="p">]</span>
</span><span id="L-4345"><a href="#L-4345"><span class="linenos">4345</span></a>
</span><span id="L-4346"><a href="#L-4346"><span class="linenos">4346</span></a>
-</span><span id="L-4347"><a href="#L-4347"><span class="linenos">4347</span></a><span class="k">class</span> <span class="nc">ReadCSV</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4348"><a href="#L-4348"><span class="linenos">4348</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;READ_CSV&quot;</span><span class="p">]</span>
-</span><span id="L-4349"><a href="#L-4349"><span class="linenos">4349</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-4350"><a href="#L-4350"><span class="linenos">4350</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4351"><a href="#L-4351"><span class="linenos">4351</span></a>
-</span><span id="L-4352"><a href="#L-4352"><span class="linenos">4352</span></a>
-</span><span id="L-4353"><a href="#L-4353"><span class="linenos">4353</span></a><span class="k">class</span> <span class="nc">Reduce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4354"><a href="#L-4354"><span class="linenos">4354</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;initial&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;merge&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;finish&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4355"><a href="#L-4355"><span class="linenos">4355</span></a>
-</span><span id="L-4356"><a href="#L-4356"><span class="linenos">4356</span></a>
-</span><span id="L-4357"><a href="#L-4357"><span class="linenos">4357</span></a><span class="k">class</span> <span class="nc">RegexpExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4358"><a href="#L-4358"><span class="linenos">4358</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-4359"><a href="#L-4359"><span class="linenos">4359</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4360"><a href="#L-4360"><span class="linenos">4360</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4361"><a href="#L-4361"><span class="linenos">4361</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4362"><a href="#L-4362"><span class="linenos">4362</span></a> <span class="s2">&quot;occurrence&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4363"><a href="#L-4363"><span class="linenos">4363</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4364"><a href="#L-4364"><span class="linenos">4364</span></a> <span class="p">}</span>
+</span><span id="L-4347"><a href="#L-4347"><span class="linenos">4347</span></a><span class="k">class</span> <span class="nc">PercentileCont</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4348"><a href="#L-4348"><span class="linenos">4348</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4349"><a href="#L-4349"><span class="linenos">4349</span></a>
+</span><span id="L-4350"><a href="#L-4350"><span class="linenos">4350</span></a>
+</span><span id="L-4351"><a href="#L-4351"><span class="linenos">4351</span></a><span class="k">class</span> <span class="nc">PercentileDisc</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4352"><a href="#L-4352"><span class="linenos">4352</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4353"><a href="#L-4353"><span class="linenos">4353</span></a>
+</span><span id="L-4354"><a href="#L-4354"><span class="linenos">4354</span></a>
+</span><span id="L-4355"><a href="#L-4355"><span class="linenos">4355</span></a><span class="k">class</span> <span class="nc">Quantile</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4356"><a href="#L-4356"><span class="linenos">4356</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4357"><a href="#L-4357"><span class="linenos">4357</span></a>
+</span><span id="L-4358"><a href="#L-4358"><span class="linenos">4358</span></a>
+</span><span id="L-4359"><a href="#L-4359"><span class="linenos">4359</span></a><span class="k">class</span> <span class="nc">ApproxQuantile</span><span class="p">(</span><span class="n">Quantile</span><span class="p">):</span>
+</span><span id="L-4360"><a href="#L-4360"><span class="linenos">4360</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4361"><a href="#L-4361"><span class="linenos">4361</span></a>
+</span><span id="L-4362"><a href="#L-4362"><span class="linenos">4362</span></a>
+</span><span id="L-4363"><a href="#L-4363"><span class="linenos">4363</span></a><span class="k">class</span> <span class="nc">RangeN</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4364"><a href="#L-4364"><span class="linenos">4364</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;each&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4365"><a href="#L-4365"><span class="linenos">4365</span></a>
</span><span id="L-4366"><a href="#L-4366"><span class="linenos">4366</span></a>
-</span><span id="L-4367"><a href="#L-4367"><span class="linenos">4367</span></a><span class="k">class</span> <span class="nc">RegexpLike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4368"><a href="#L-4368"><span class="linenos">4368</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4369"><a href="#L-4369"><span class="linenos">4369</span></a>
-</span><span id="L-4370"><a href="#L-4370"><span class="linenos">4370</span></a>
-</span><span id="L-4371"><a href="#L-4371"><span class="linenos">4371</span></a><span class="k">class</span> <span class="nc">RegexpILike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4372"><a href="#L-4372"><span class="linenos">4372</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4373"><a href="#L-4373"><span class="linenos">4373</span></a>
-</span><span id="L-4374"><a href="#L-4374"><span class="linenos">4374</span></a>
-</span><span id="L-4375"><a href="#L-4375"><span class="linenos">4375</span></a><span class="c1"># https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.split.html</span>
-</span><span id="L-4376"><a href="#L-4376"><span class="linenos">4376</span></a><span class="c1"># limit is the number of times a pattern is applied</span>
-</span><span id="L-4377"><a href="#L-4377"><span class="linenos">4377</span></a><span class="k">class</span> <span class="nc">RegexpSplit</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4378"><a href="#L-4378"><span class="linenos">4378</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4379"><a href="#L-4379"><span class="linenos">4379</span></a>
-</span><span id="L-4380"><a href="#L-4380"><span class="linenos">4380</span></a>
-</span><span id="L-4381"><a href="#L-4381"><span class="linenos">4381</span></a><span class="k">class</span> <span class="nc">Repeat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4382"><a href="#L-4382"><span class="linenos">4382</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;times&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4383"><a href="#L-4383"><span class="linenos">4383</span></a>
-</span><span id="L-4384"><a href="#L-4384"><span class="linenos">4384</span></a>
-</span><span id="L-4385"><a href="#L-4385"><span class="linenos">4385</span></a><span class="k">class</span> <span class="nc">Round</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4386"><a href="#L-4386"><span class="linenos">4386</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4387"><a href="#L-4387"><span class="linenos">4387</span></a>
-</span><span id="L-4388"><a href="#L-4388"><span class="linenos">4388</span></a>
-</span><span id="L-4389"><a href="#L-4389"><span class="linenos">4389</span></a><span class="k">class</span> <span class="nc">RowNumber</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4390"><a href="#L-4390"><span class="linenos">4390</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="L-4391"><a href="#L-4391"><span class="linenos">4391</span></a>
-</span><span id="L-4392"><a href="#L-4392"><span class="linenos">4392</span></a>
-</span><span id="L-4393"><a href="#L-4393"><span class="linenos">4393</span></a><span class="k">class</span> <span class="nc">SafeDivide</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4394"><a href="#L-4394"><span class="linenos">4394</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4395"><a href="#L-4395"><span class="linenos">4395</span></a>
-</span><span id="L-4396"><a href="#L-4396"><span class="linenos">4396</span></a>
-</span><span id="L-4397"><a href="#L-4397"><span class="linenos">4397</span></a><span class="k">class</span> <span class="nc">SetAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4398"><a href="#L-4398"><span class="linenos">4398</span></a> <span class="k">pass</span>
+</span><span id="L-4367"><a href="#L-4367"><span class="linenos">4367</span></a><span class="k">class</span> <span class="nc">ReadCSV</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4368"><a href="#L-4368"><span class="linenos">4368</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;READ_CSV&quot;</span><span class="p">]</span>
+</span><span id="L-4369"><a href="#L-4369"><span class="linenos">4369</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-4370"><a href="#L-4370"><span class="linenos">4370</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4371"><a href="#L-4371"><span class="linenos">4371</span></a>
+</span><span id="L-4372"><a href="#L-4372"><span class="linenos">4372</span></a>
+</span><span id="L-4373"><a href="#L-4373"><span class="linenos">4373</span></a><span class="k">class</span> <span class="nc">Reduce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4374"><a href="#L-4374"><span class="linenos">4374</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;initial&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;merge&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;finish&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4375"><a href="#L-4375"><span class="linenos">4375</span></a>
+</span><span id="L-4376"><a href="#L-4376"><span class="linenos">4376</span></a>
+</span><span id="L-4377"><a href="#L-4377"><span class="linenos">4377</span></a><span class="k">class</span> <span class="nc">RegexpExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4378"><a href="#L-4378"><span class="linenos">4378</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-4379"><a href="#L-4379"><span class="linenos">4379</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4380"><a href="#L-4380"><span class="linenos">4380</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4381"><a href="#L-4381"><span class="linenos">4381</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4382"><a href="#L-4382"><span class="linenos">4382</span></a> <span class="s2">&quot;occurrence&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4383"><a href="#L-4383"><span class="linenos">4383</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4384"><a href="#L-4384"><span class="linenos">4384</span></a> <span class="p">}</span>
+</span><span id="L-4385"><a href="#L-4385"><span class="linenos">4385</span></a>
+</span><span id="L-4386"><a href="#L-4386"><span class="linenos">4386</span></a>
+</span><span id="L-4387"><a href="#L-4387"><span class="linenos">4387</span></a><span class="k">class</span> <span class="nc">RegexpLike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4388"><a href="#L-4388"><span class="linenos">4388</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4389"><a href="#L-4389"><span class="linenos">4389</span></a>
+</span><span id="L-4390"><a href="#L-4390"><span class="linenos">4390</span></a>
+</span><span id="L-4391"><a href="#L-4391"><span class="linenos">4391</span></a><span class="k">class</span> <span class="nc">RegexpILike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4392"><a href="#L-4392"><span class="linenos">4392</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4393"><a href="#L-4393"><span class="linenos">4393</span></a>
+</span><span id="L-4394"><a href="#L-4394"><span class="linenos">4394</span></a>
+</span><span id="L-4395"><a href="#L-4395"><span class="linenos">4395</span></a><span class="c1"># https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.split.html</span>
+</span><span id="L-4396"><a href="#L-4396"><span class="linenos">4396</span></a><span class="c1"># limit is the number of times a pattern is applied</span>
+</span><span id="L-4397"><a href="#L-4397"><span class="linenos">4397</span></a><span class="k">class</span> <span class="nc">RegexpSplit</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4398"><a href="#L-4398"><span class="linenos">4398</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4399"><a href="#L-4399"><span class="linenos">4399</span></a>
</span><span id="L-4400"><a href="#L-4400"><span class="linenos">4400</span></a>
-</span><span id="L-4401"><a href="#L-4401"><span class="linenos">4401</span></a><span class="k">class</span> <span class="nc">SHA</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4402"><a href="#L-4402"><span class="linenos">4402</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA&quot;</span><span class="p">,</span> <span class="s2">&quot;SHA1&quot;</span><span class="p">]</span>
+</span><span id="L-4401"><a href="#L-4401"><span class="linenos">4401</span></a><span class="k">class</span> <span class="nc">Repeat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4402"><a href="#L-4402"><span class="linenos">4402</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;times&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4403"><a href="#L-4403"><span class="linenos">4403</span></a>
</span><span id="L-4404"><a href="#L-4404"><span class="linenos">4404</span></a>
-</span><span id="L-4405"><a href="#L-4405"><span class="linenos">4405</span></a><span class="k">class</span> <span class="nc">SHA2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4406"><a href="#L-4406"><span class="linenos">4406</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA2&quot;</span><span class="p">]</span>
-</span><span id="L-4407"><a href="#L-4407"><span class="linenos">4407</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4405"><a href="#L-4405"><span class="linenos">4405</span></a><span class="k">class</span> <span class="nc">Round</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4406"><a href="#L-4406"><span class="linenos">4406</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4407"><a href="#L-4407"><span class="linenos">4407</span></a>
</span><span id="L-4408"><a href="#L-4408"><span class="linenos">4408</span></a>
-</span><span id="L-4409"><a href="#L-4409"><span class="linenos">4409</span></a>
-</span><span id="L-4410"><a href="#L-4410"><span class="linenos">4410</span></a><span class="k">class</span> <span class="nc">SortArray</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4411"><a href="#L-4411"><span class="linenos">4411</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;asc&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4409"><a href="#L-4409"><span class="linenos">4409</span></a><span class="k">class</span> <span class="nc">RowNumber</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4410"><a href="#L-4410"><span class="linenos">4410</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="L-4411"><a href="#L-4411"><span class="linenos">4411</span></a>
</span><span id="L-4412"><a href="#L-4412"><span class="linenos">4412</span></a>
-</span><span id="L-4413"><a href="#L-4413"><span class="linenos">4413</span></a>
-</span><span id="L-4414"><a href="#L-4414"><span class="linenos">4414</span></a><span class="k">class</span> <span class="nc">Split</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4415"><a href="#L-4415"><span class="linenos">4415</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4413"><a href="#L-4413"><span class="linenos">4413</span></a><span class="k">class</span> <span class="nc">SafeDivide</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4414"><a href="#L-4414"><span class="linenos">4414</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4415"><a href="#L-4415"><span class="linenos">4415</span></a>
</span><span id="L-4416"><a href="#L-4416"><span class="linenos">4416</span></a>
-</span><span id="L-4417"><a href="#L-4417"><span class="linenos">4417</span></a>
-</span><span id="L-4418"><a href="#L-4418"><span class="linenos">4418</span></a><span class="c1"># Start may be omitted in the case of postgres</span>
-</span><span id="L-4419"><a href="#L-4419"><span class="linenos">4419</span></a><span class="c1"># https://www.postgresql.org/docs/9.1/functions-string.html @ Table 9-6</span>
-</span><span id="L-4420"><a href="#L-4420"><span class="linenos">4420</span></a><span class="k">class</span> <span class="nc">Substring</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4421"><a href="#L-4421"><span class="linenos">4421</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4422"><a href="#L-4422"><span class="linenos">4422</span></a>
+</span><span id="L-4417"><a href="#L-4417"><span class="linenos">4417</span></a><span class="k">class</span> <span class="nc">SetAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4418"><a href="#L-4418"><span class="linenos">4418</span></a> <span class="k">pass</span>
+</span><span id="L-4419"><a href="#L-4419"><span class="linenos">4419</span></a>
+</span><span id="L-4420"><a href="#L-4420"><span class="linenos">4420</span></a>
+</span><span id="L-4421"><a href="#L-4421"><span class="linenos">4421</span></a><span class="k">class</span> <span class="nc">SHA</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4422"><a href="#L-4422"><span class="linenos">4422</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA&quot;</span><span class="p">,</span> <span class="s2">&quot;SHA1&quot;</span><span class="p">]</span>
</span><span id="L-4423"><a href="#L-4423"><span class="linenos">4423</span></a>
-</span><span id="L-4424"><a href="#L-4424"><span class="linenos">4424</span></a><span class="k">class</span> <span class="nc">StandardHash</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4425"><a href="#L-4425"><span class="linenos">4425</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4426"><a href="#L-4426"><span class="linenos">4426</span></a>
-</span><span id="L-4427"><a href="#L-4427"><span class="linenos">4427</span></a>
-</span><span id="L-4428"><a href="#L-4428"><span class="linenos">4428</span></a><span class="k">class</span> <span class="nc">StrPosition</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4429"><a href="#L-4429"><span class="linenos">4429</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-4430"><a href="#L-4430"><span class="linenos">4430</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4431"><a href="#L-4431"><span class="linenos">4431</span></a> <span class="s2">&quot;substr&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4432"><a href="#L-4432"><span class="linenos">4432</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4433"><a href="#L-4433"><span class="linenos">4433</span></a> <span class="s2">&quot;instance&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4434"><a href="#L-4434"><span class="linenos">4434</span></a> <span class="p">}</span>
-</span><span id="L-4435"><a href="#L-4435"><span class="linenos">4435</span></a>
+</span><span id="L-4424"><a href="#L-4424"><span class="linenos">4424</span></a>
+</span><span id="L-4425"><a href="#L-4425"><span class="linenos">4425</span></a><span class="k">class</span> <span class="nc">SHA2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4426"><a href="#L-4426"><span class="linenos">4426</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA2&quot;</span><span class="p">]</span>
+</span><span id="L-4427"><a href="#L-4427"><span class="linenos">4427</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4428"><a href="#L-4428"><span class="linenos">4428</span></a>
+</span><span id="L-4429"><a href="#L-4429"><span class="linenos">4429</span></a>
+</span><span id="L-4430"><a href="#L-4430"><span class="linenos">4430</span></a><span class="k">class</span> <span class="nc">SortArray</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4431"><a href="#L-4431"><span class="linenos">4431</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;asc&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4432"><a href="#L-4432"><span class="linenos">4432</span></a>
+</span><span id="L-4433"><a href="#L-4433"><span class="linenos">4433</span></a>
+</span><span id="L-4434"><a href="#L-4434"><span class="linenos">4434</span></a><span class="k">class</span> <span class="nc">Split</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4435"><a href="#L-4435"><span class="linenos">4435</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4436"><a href="#L-4436"><span class="linenos">4436</span></a>
-</span><span id="L-4437"><a href="#L-4437"><span class="linenos">4437</span></a><span class="k">class</span> <span class="nc">StrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4438"><a href="#L-4438"><span class="linenos">4438</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4439"><a href="#L-4439"><span class="linenos">4439</span></a>
-</span><span id="L-4440"><a href="#L-4440"><span class="linenos">4440</span></a>
-</span><span id="L-4441"><a href="#L-4441"><span class="linenos">4441</span></a><span class="k">class</span> <span class="nc">StrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4442"><a href="#L-4442"><span class="linenos">4442</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4437"><a href="#L-4437"><span class="linenos">4437</span></a>
+</span><span id="L-4438"><a href="#L-4438"><span class="linenos">4438</span></a><span class="c1"># Start may be omitted in the case of postgres</span>
+</span><span id="L-4439"><a href="#L-4439"><span class="linenos">4439</span></a><span class="c1"># https://www.postgresql.org/docs/9.1/functions-string.html @ Table 9-6</span>
+</span><span id="L-4440"><a href="#L-4440"><span class="linenos">4440</span></a><span class="k">class</span> <span class="nc">Substring</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4441"><a href="#L-4441"><span class="linenos">4441</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4442"><a href="#L-4442"><span class="linenos">4442</span></a>
</span><span id="L-4443"><a href="#L-4443"><span class="linenos">4443</span></a>
-</span><span id="L-4444"><a href="#L-4444"><span class="linenos">4444</span></a>
-</span><span id="L-4445"><a href="#L-4445"><span class="linenos">4445</span></a><span class="c1"># Spark allows unix_timestamp()</span>
-</span><span id="L-4446"><a href="#L-4446"><span class="linenos">4446</span></a><span class="c1"># https://spark.apache.org/docs/3.1.3/api/python/reference/api/pyspark.sql.functions.unix_timestamp.html</span>
-</span><span id="L-4447"><a href="#L-4447"><span class="linenos">4447</span></a><span class="k">class</span> <span class="nc">StrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4448"><a href="#L-4448"><span class="linenos">4448</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4449"><a href="#L-4449"><span class="linenos">4449</span></a>
-</span><span id="L-4450"><a href="#L-4450"><span class="linenos">4450</span></a>
-</span><span id="L-4451"><a href="#L-4451"><span class="linenos">4451</span></a><span class="k">class</span> <span class="nc">NumberToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4452"><a href="#L-4452"><span class="linenos">4452</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4453"><a href="#L-4453"><span class="linenos">4453</span></a>
-</span><span id="L-4454"><a href="#L-4454"><span class="linenos">4454</span></a>
-</span><span id="L-4455"><a href="#L-4455"><span class="linenos">4455</span></a><span class="k">class</span> <span class="nc">FromBase</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4456"><a href="#L-4456"><span class="linenos">4456</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4457"><a href="#L-4457"><span class="linenos">4457</span></a>
-</span><span id="L-4458"><a href="#L-4458"><span class="linenos">4458</span></a>
-</span><span id="L-4459"><a href="#L-4459"><span class="linenos">4459</span></a><span class="k">class</span> <span class="nc">Struct</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4460"><a href="#L-4460"><span class="linenos">4460</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4461"><a href="#L-4461"><span class="linenos">4461</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-4462"><a href="#L-4462"><span class="linenos">4462</span></a>
+</span><span id="L-4444"><a href="#L-4444"><span class="linenos">4444</span></a><span class="k">class</span> <span class="nc">StandardHash</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4445"><a href="#L-4445"><span class="linenos">4445</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4446"><a href="#L-4446"><span class="linenos">4446</span></a>
+</span><span id="L-4447"><a href="#L-4447"><span class="linenos">4447</span></a>
+</span><span id="L-4448"><a href="#L-4448"><span class="linenos">4448</span></a><span class="k">class</span> <span class="nc">StrPosition</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4449"><a href="#L-4449"><span class="linenos">4449</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-4450"><a href="#L-4450"><span class="linenos">4450</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4451"><a href="#L-4451"><span class="linenos">4451</span></a> <span class="s2">&quot;substr&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4452"><a href="#L-4452"><span class="linenos">4452</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4453"><a href="#L-4453"><span class="linenos">4453</span></a> <span class="s2">&quot;instance&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4454"><a href="#L-4454"><span class="linenos">4454</span></a> <span class="p">}</span>
+</span><span id="L-4455"><a href="#L-4455"><span class="linenos">4455</span></a>
+</span><span id="L-4456"><a href="#L-4456"><span class="linenos">4456</span></a>
+</span><span id="L-4457"><a href="#L-4457"><span class="linenos">4457</span></a><span class="k">class</span> <span class="nc">StrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4458"><a href="#L-4458"><span class="linenos">4458</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4459"><a href="#L-4459"><span class="linenos">4459</span></a>
+</span><span id="L-4460"><a href="#L-4460"><span class="linenos">4460</span></a>
+</span><span id="L-4461"><a href="#L-4461"><span class="linenos">4461</span></a><span class="k">class</span> <span class="nc">StrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4462"><a href="#L-4462"><span class="linenos">4462</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4463"><a href="#L-4463"><span class="linenos">4463</span></a>
-</span><span id="L-4464"><a href="#L-4464"><span class="linenos">4464</span></a><span class="k">class</span> <span class="nc">StructExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4465"><a href="#L-4465"><span class="linenos">4465</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="L-4466"><a href="#L-4466"><span class="linenos">4466</span></a>
-</span><span id="L-4467"><a href="#L-4467"><span class="linenos">4467</span></a>
-</span><span id="L-4468"><a href="#L-4468"><span class="linenos">4468</span></a><span class="k">class</span> <span class="nc">Sum</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4469"><a href="#L-4469"><span class="linenos">4469</span></a> <span class="k">pass</span>
+</span><span id="L-4464"><a href="#L-4464"><span class="linenos">4464</span></a>
+</span><span id="L-4465"><a href="#L-4465"><span class="linenos">4465</span></a><span class="c1"># Spark allows unix_timestamp()</span>
+</span><span id="L-4466"><a href="#L-4466"><span class="linenos">4466</span></a><span class="c1"># https://spark.apache.org/docs/3.1.3/api/python/reference/api/pyspark.sql.functions.unix_timestamp.html</span>
+</span><span id="L-4467"><a href="#L-4467"><span class="linenos">4467</span></a><span class="k">class</span> <span class="nc">StrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4468"><a href="#L-4468"><span class="linenos">4468</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4469"><a href="#L-4469"><span class="linenos">4469</span></a>
</span><span id="L-4470"><a href="#L-4470"><span class="linenos">4470</span></a>
-</span><span id="L-4471"><a href="#L-4471"><span class="linenos">4471</span></a>
-</span><span id="L-4472"><a href="#L-4472"><span class="linenos">4472</span></a><span class="k">class</span> <span class="nc">Sqrt</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4473"><a href="#L-4473"><span class="linenos">4473</span></a> <span class="k">pass</span>
+</span><span id="L-4471"><a href="#L-4471"><span class="linenos">4471</span></a><span class="k">class</span> <span class="nc">NumberToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4472"><a href="#L-4472"><span class="linenos">4472</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4473"><a href="#L-4473"><span class="linenos">4473</span></a>
</span><span id="L-4474"><a href="#L-4474"><span class="linenos">4474</span></a>
-</span><span id="L-4475"><a href="#L-4475"><span class="linenos">4475</span></a>
-</span><span id="L-4476"><a href="#L-4476"><span class="linenos">4476</span></a><span class="k">class</span> <span class="nc">Stddev</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4477"><a href="#L-4477"><span class="linenos">4477</span></a> <span class="k">pass</span>
+</span><span id="L-4475"><a href="#L-4475"><span class="linenos">4475</span></a><span class="k">class</span> <span class="nc">FromBase</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4476"><a href="#L-4476"><span class="linenos">4476</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4477"><a href="#L-4477"><span class="linenos">4477</span></a>
</span><span id="L-4478"><a href="#L-4478"><span class="linenos">4478</span></a>
-</span><span id="L-4479"><a href="#L-4479"><span class="linenos">4479</span></a>
-</span><span id="L-4480"><a href="#L-4480"><span class="linenos">4480</span></a><span class="k">class</span> <span class="nc">StddevPop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4481"><a href="#L-4481"><span class="linenos">4481</span></a> <span class="k">pass</span>
+</span><span id="L-4479"><a href="#L-4479"><span class="linenos">4479</span></a><span class="k">class</span> <span class="nc">Struct</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4480"><a href="#L-4480"><span class="linenos">4480</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4481"><a href="#L-4481"><span class="linenos">4481</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-4482"><a href="#L-4482"><span class="linenos">4482</span></a>
</span><span id="L-4483"><a href="#L-4483"><span class="linenos">4483</span></a>
-</span><span id="L-4484"><a href="#L-4484"><span class="linenos">4484</span></a><span class="k">class</span> <span class="nc">StddevSamp</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4485"><a href="#L-4485"><span class="linenos">4485</span></a> <span class="k">pass</span>
+</span><span id="L-4484"><a href="#L-4484"><span class="linenos">4484</span></a><span class="k">class</span> <span class="nc">StructExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4485"><a href="#L-4485"><span class="linenos">4485</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4486"><a href="#L-4486"><span class="linenos">4486</span></a>
</span><span id="L-4487"><a href="#L-4487"><span class="linenos">4487</span></a>
-</span><span id="L-4488"><a href="#L-4488"><span class="linenos">4488</span></a><span class="k">class</span> <span class="nc">TimeToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4489"><a href="#L-4489"><span class="linenos">4489</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4488"><a href="#L-4488"><span class="linenos">4488</span></a><span class="k">class</span> <span class="nc">Sum</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4489"><a href="#L-4489"><span class="linenos">4489</span></a> <span class="k">pass</span>
</span><span id="L-4490"><a href="#L-4490"><span class="linenos">4490</span></a>
</span><span id="L-4491"><a href="#L-4491"><span class="linenos">4491</span></a>
-</span><span id="L-4492"><a href="#L-4492"><span class="linenos">4492</span></a><span class="k">class</span> <span class="nc">TimeToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4492"><a href="#L-4492"><span class="linenos">4492</span></a><span class="k">class</span> <span class="nc">Sqrt</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
</span><span id="L-4493"><a href="#L-4493"><span class="linenos">4493</span></a> <span class="k">pass</span>
</span><span id="L-4494"><a href="#L-4494"><span class="linenos">4494</span></a>
</span><span id="L-4495"><a href="#L-4495"><span class="linenos">4495</span></a>
-</span><span id="L-4496"><a href="#L-4496"><span class="linenos">4496</span></a><span class="k">class</span> <span class="nc">TimeToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4496"><a href="#L-4496"><span class="linenos">4496</span></a><span class="k">class</span> <span class="nc">Stddev</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
</span><span id="L-4497"><a href="#L-4497"><span class="linenos">4497</span></a> <span class="k">pass</span>
</span><span id="L-4498"><a href="#L-4498"><span class="linenos">4498</span></a>
</span><span id="L-4499"><a href="#L-4499"><span class="linenos">4499</span></a>
-</span><span id="L-4500"><a href="#L-4500"><span class="linenos">4500</span></a><span class="k">class</span> <span class="nc">TimeStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4500"><a href="#L-4500"><span class="linenos">4500</span></a><span class="k">class</span> <span class="nc">StddevPop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
</span><span id="L-4501"><a href="#L-4501"><span class="linenos">4501</span></a> <span class="k">pass</span>
</span><span id="L-4502"><a href="#L-4502"><span class="linenos">4502</span></a>
</span><span id="L-4503"><a href="#L-4503"><span class="linenos">4503</span></a>
-</span><span id="L-4504"><a href="#L-4504"><span class="linenos">4504</span></a><span class="k">class</span> <span class="nc">TimeStrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4504"><a href="#L-4504"><span class="linenos">4504</span></a><span class="k">class</span> <span class="nc">StddevSamp</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
</span><span id="L-4505"><a href="#L-4505"><span class="linenos">4505</span></a> <span class="k">pass</span>
</span><span id="L-4506"><a href="#L-4506"><span class="linenos">4506</span></a>
</span><span id="L-4507"><a href="#L-4507"><span class="linenos">4507</span></a>
-</span><span id="L-4508"><a href="#L-4508"><span class="linenos">4508</span></a><span class="k">class</span> <span class="nc">TimeStrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4509"><a href="#L-4509"><span class="linenos">4509</span></a> <span class="k">pass</span>
+</span><span id="L-4508"><a href="#L-4508"><span class="linenos">4508</span></a><span class="k">class</span> <span class="nc">TimeToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4509"><a href="#L-4509"><span class="linenos">4509</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="L-4510"><a href="#L-4510"><span class="linenos">4510</span></a>
</span><span id="L-4511"><a href="#L-4511"><span class="linenos">4511</span></a>
-</span><span id="L-4512"><a href="#L-4512"><span class="linenos">4512</span></a><span class="k">class</span> <span class="nc">Trim</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4513"><a href="#L-4513"><span class="linenos">4513</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="L-4514"><a href="#L-4514"><span class="linenos">4514</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4515"><a href="#L-4515"><span class="linenos">4515</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4516"><a href="#L-4516"><span class="linenos">4516</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4517"><a href="#L-4517"><span class="linenos">4517</span></a> <span class="s2">&quot;collation&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4518"><a href="#L-4518"><span class="linenos">4518</span></a> <span class="p">}</span>
+</span><span id="L-4512"><a href="#L-4512"><span class="linenos">4512</span></a><span class="k">class</span> <span class="nc">TimeToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4513"><a href="#L-4513"><span class="linenos">4513</span></a> <span class="k">pass</span>
+</span><span id="L-4514"><a href="#L-4514"><span class="linenos">4514</span></a>
+</span><span id="L-4515"><a href="#L-4515"><span class="linenos">4515</span></a>
+</span><span id="L-4516"><a href="#L-4516"><span class="linenos">4516</span></a><span class="k">class</span> <span class="nc">TimeToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4517"><a href="#L-4517"><span class="linenos">4517</span></a> <span class="k">pass</span>
+</span><span id="L-4518"><a href="#L-4518"><span class="linenos">4518</span></a>
</span><span id="L-4519"><a href="#L-4519"><span class="linenos">4519</span></a>
-</span><span id="L-4520"><a href="#L-4520"><span class="linenos">4520</span></a>
-</span><span id="L-4521"><a href="#L-4521"><span class="linenos">4521</span></a><span class="k">class</span> <span class="nc">TsOrDsAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="L-4522"><a href="#L-4522"><span class="linenos">4522</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4520"><a href="#L-4520"><span class="linenos">4520</span></a><span class="k">class</span> <span class="nc">TimeStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4521"><a href="#L-4521"><span class="linenos">4521</span></a> <span class="k">pass</span>
+</span><span id="L-4522"><a href="#L-4522"><span class="linenos">4522</span></a>
</span><span id="L-4523"><a href="#L-4523"><span class="linenos">4523</span></a>
-</span><span id="L-4524"><a href="#L-4524"><span class="linenos">4524</span></a>
-</span><span id="L-4525"><a href="#L-4525"><span class="linenos">4525</span></a><span class="k">class</span> <span class="nc">TsOrDsToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4526"><a href="#L-4526"><span class="linenos">4526</span></a> <span class="k">pass</span>
+</span><span id="L-4524"><a href="#L-4524"><span class="linenos">4524</span></a><span class="k">class</span> <span class="nc">TimeStrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4525"><a href="#L-4525"><span class="linenos">4525</span></a> <span class="k">pass</span>
+</span><span id="L-4526"><a href="#L-4526"><span class="linenos">4526</span></a>
</span><span id="L-4527"><a href="#L-4527"><span class="linenos">4527</span></a>
-</span><span id="L-4528"><a href="#L-4528"><span class="linenos">4528</span></a>
-</span><span id="L-4529"><a href="#L-4529"><span class="linenos">4529</span></a><span class="k">class</span> <span class="nc">TsOrDsToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4530"><a href="#L-4530"><span class="linenos">4530</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4528"><a href="#L-4528"><span class="linenos">4528</span></a><span class="k">class</span> <span class="nc">TimeStrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4529"><a href="#L-4529"><span class="linenos">4529</span></a> <span class="k">pass</span>
+</span><span id="L-4530"><a href="#L-4530"><span class="linenos">4530</span></a>
</span><span id="L-4531"><a href="#L-4531"><span class="linenos">4531</span></a>
-</span><span id="L-4532"><a href="#L-4532"><span class="linenos">4532</span></a>
-</span><span id="L-4533"><a href="#L-4533"><span class="linenos">4533</span></a><span class="k">class</span> <span class="nc">TsOrDiToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4534"><a href="#L-4534"><span class="linenos">4534</span></a> <span class="k">pass</span>
-</span><span id="L-4535"><a href="#L-4535"><span class="linenos">4535</span></a>
-</span><span id="L-4536"><a href="#L-4536"><span class="linenos">4536</span></a>
-</span><span id="L-4537"><a href="#L-4537"><span class="linenos">4537</span></a><span class="k">class</span> <span class="nc">Unhex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4538"><a href="#L-4538"><span class="linenos">4538</span></a> <span class="k">pass</span>
+</span><span id="L-4532"><a href="#L-4532"><span class="linenos">4532</span></a><span class="k">class</span> <span class="nc">Trim</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4533"><a href="#L-4533"><span class="linenos">4533</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="L-4534"><a href="#L-4534"><span class="linenos">4534</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4535"><a href="#L-4535"><span class="linenos">4535</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4536"><a href="#L-4536"><span class="linenos">4536</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4537"><a href="#L-4537"><span class="linenos">4537</span></a> <span class="s2">&quot;collation&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4538"><a href="#L-4538"><span class="linenos">4538</span></a> <span class="p">}</span>
</span><span id="L-4539"><a href="#L-4539"><span class="linenos">4539</span></a>
</span><span id="L-4540"><a href="#L-4540"><span class="linenos">4540</span></a>
-</span><span id="L-4541"><a href="#L-4541"><span class="linenos">4541</span></a><span class="k">class</span> <span class="nc">UnixToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4542"><a href="#L-4542"><span class="linenos">4542</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4541"><a href="#L-4541"><span class="linenos">4541</span></a><span class="k">class</span> <span class="nc">TsOrDsAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="L-4542"><a href="#L-4542"><span class="linenos">4542</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4543"><a href="#L-4543"><span class="linenos">4543</span></a>
</span><span id="L-4544"><a href="#L-4544"><span class="linenos">4544</span></a>
-</span><span id="L-4545"><a href="#L-4545"><span class="linenos">4545</span></a><span class="c1"># https://prestodb.io/docs/current/functions/datetime.html</span>
-</span><span id="L-4546"><a href="#L-4546"><span class="linenos">4546</span></a><span class="c1"># presto has weird zone/hours/minutes</span>
-</span><span id="L-4547"><a href="#L-4547"><span class="linenos">4547</span></a><span class="k">class</span> <span class="nc">UnixToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4548"><a href="#L-4548"><span class="linenos">4548</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;scale&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;hours&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;minutes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4549"><a href="#L-4549"><span class="linenos">4549</span></a>
-</span><span id="L-4550"><a href="#L-4550"><span class="linenos">4550</span></a> <span class="n">SECONDS</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="s2">&quot;seconds&quot;</span><span class="p">)</span>
-</span><span id="L-4551"><a href="#L-4551"><span class="linenos">4551</span></a> <span class="n">MILLIS</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="s2">&quot;millis&quot;</span><span class="p">)</span>
-</span><span id="L-4552"><a href="#L-4552"><span class="linenos">4552</span></a> <span class="n">MICROS</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="s2">&quot;micros&quot;</span><span class="p">)</span>
-</span><span id="L-4553"><a href="#L-4553"><span class="linenos">4553</span></a>
-</span><span id="L-4554"><a href="#L-4554"><span class="linenos">4554</span></a>
-</span><span id="L-4555"><a href="#L-4555"><span class="linenos">4555</span></a><span class="k">class</span> <span class="nc">UnixToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4556"><a href="#L-4556"><span class="linenos">4556</span></a> <span class="k">pass</span>
-</span><span id="L-4557"><a href="#L-4557"><span class="linenos">4557</span></a>
-</span><span id="L-4558"><a href="#L-4558"><span class="linenos">4558</span></a>
-</span><span id="L-4559"><a href="#L-4559"><span class="linenos">4559</span></a><span class="k">class</span> <span class="nc">Upper</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4560"><a href="#L-4560"><span class="linenos">4560</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;UPPER&quot;</span><span class="p">,</span> <span class="s2">&quot;UCASE&quot;</span><span class="p">]</span>
-</span><span id="L-4561"><a href="#L-4561"><span class="linenos">4561</span></a>
-</span><span id="L-4562"><a href="#L-4562"><span class="linenos">4562</span></a>
-</span><span id="L-4563"><a href="#L-4563"><span class="linenos">4563</span></a><span class="k">class</span> <span class="nc">Variance</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4564"><a href="#L-4564"><span class="linenos">4564</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE&quot;</span><span class="p">,</span> <span class="s2">&quot;VARIANCE_SAMP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_SAMP&quot;</span><span class="p">]</span>
-</span><span id="L-4565"><a href="#L-4565"><span class="linenos">4565</span></a>
-</span><span id="L-4566"><a href="#L-4566"><span class="linenos">4566</span></a>
-</span><span id="L-4567"><a href="#L-4567"><span class="linenos">4567</span></a><span class="k">class</span> <span class="nc">VariancePop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="L-4568"><a href="#L-4568"><span class="linenos">4568</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE_POP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_POP&quot;</span><span class="p">]</span>
+</span><span id="L-4545"><a href="#L-4545"><span class="linenos">4545</span></a><span class="k">class</span> <span class="nc">TsOrDsToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4546"><a href="#L-4546"><span class="linenos">4546</span></a> <span class="k">pass</span>
+</span><span id="L-4547"><a href="#L-4547"><span class="linenos">4547</span></a>
+</span><span id="L-4548"><a href="#L-4548"><span class="linenos">4548</span></a>
+</span><span id="L-4549"><a href="#L-4549"><span class="linenos">4549</span></a><span class="k">class</span> <span class="nc">TsOrDsToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4550"><a href="#L-4550"><span class="linenos">4550</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4551"><a href="#L-4551"><span class="linenos">4551</span></a>
+</span><span id="L-4552"><a href="#L-4552"><span class="linenos">4552</span></a>
+</span><span id="L-4553"><a href="#L-4553"><span class="linenos">4553</span></a><span class="k">class</span> <span class="nc">TsOrDiToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4554"><a href="#L-4554"><span class="linenos">4554</span></a> <span class="k">pass</span>
+</span><span id="L-4555"><a href="#L-4555"><span class="linenos">4555</span></a>
+</span><span id="L-4556"><a href="#L-4556"><span class="linenos">4556</span></a>
+</span><span id="L-4557"><a href="#L-4557"><span class="linenos">4557</span></a><span class="k">class</span> <span class="nc">Unhex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4558"><a href="#L-4558"><span class="linenos">4558</span></a> <span class="k">pass</span>
+</span><span id="L-4559"><a href="#L-4559"><span class="linenos">4559</span></a>
+</span><span id="L-4560"><a href="#L-4560"><span class="linenos">4560</span></a>
+</span><span id="L-4561"><a href="#L-4561"><span class="linenos">4561</span></a><span class="k">class</span> <span class="nc">UnixToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4562"><a href="#L-4562"><span class="linenos">4562</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4563"><a href="#L-4563"><span class="linenos">4563</span></a>
+</span><span id="L-4564"><a href="#L-4564"><span class="linenos">4564</span></a>
+</span><span id="L-4565"><a href="#L-4565"><span class="linenos">4565</span></a><span class="c1"># https://prestodb.io/docs/current/functions/datetime.html</span>
+</span><span id="L-4566"><a href="#L-4566"><span class="linenos">4566</span></a><span class="c1"># presto has weird zone/hours/minutes</span>
+</span><span id="L-4567"><a href="#L-4567"><span class="linenos">4567</span></a><span class="k">class</span> <span class="nc">UnixToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4568"><a href="#L-4568"><span class="linenos">4568</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;scale&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;hours&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;minutes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4569"><a href="#L-4569"><span class="linenos">4569</span></a>
-</span><span id="L-4570"><a href="#L-4570"><span class="linenos">4570</span></a>
-</span><span id="L-4571"><a href="#L-4571"><span class="linenos">4571</span></a><span class="k">class</span> <span class="nc">Week</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4572"><a href="#L-4572"><span class="linenos">4572</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4570"><a href="#L-4570"><span class="linenos">4570</span></a> <span class="n">SECONDS</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="s2">&quot;seconds&quot;</span><span class="p">)</span>
+</span><span id="L-4571"><a href="#L-4571"><span class="linenos">4571</span></a> <span class="n">MILLIS</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="s2">&quot;millis&quot;</span><span class="p">)</span>
+</span><span id="L-4572"><a href="#L-4572"><span class="linenos">4572</span></a> <span class="n">MICROS</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="s2">&quot;micros&quot;</span><span class="p">)</span>
</span><span id="L-4573"><a href="#L-4573"><span class="linenos">4573</span></a>
</span><span id="L-4574"><a href="#L-4574"><span class="linenos">4574</span></a>
-</span><span id="L-4575"><a href="#L-4575"><span class="linenos">4575</span></a><span class="k">class</span> <span class="nc">XMLTable</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4576"><a href="#L-4576"><span class="linenos">4576</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;passing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;by_ref&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4575"><a href="#L-4575"><span class="linenos">4575</span></a><span class="k">class</span> <span class="nc">UnixToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4576"><a href="#L-4576"><span class="linenos">4576</span></a> <span class="k">pass</span>
</span><span id="L-4577"><a href="#L-4577"><span class="linenos">4577</span></a>
</span><span id="L-4578"><a href="#L-4578"><span class="linenos">4578</span></a>
-</span><span id="L-4579"><a href="#L-4579"><span class="linenos">4579</span></a><span class="k">class</span> <span class="nc">Year</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4580"><a href="#L-4580"><span class="linenos">4580</span></a> <span class="k">pass</span>
+</span><span id="L-4579"><a href="#L-4579"><span class="linenos">4579</span></a><span class="k">class</span> <span class="nc">Upper</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4580"><a href="#L-4580"><span class="linenos">4580</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;UPPER&quot;</span><span class="p">,</span> <span class="s2">&quot;UCASE&quot;</span><span class="p">]</span>
</span><span id="L-4581"><a href="#L-4581"><span class="linenos">4581</span></a>
</span><span id="L-4582"><a href="#L-4582"><span class="linenos">4582</span></a>
-</span><span id="L-4583"><a href="#L-4583"><span class="linenos">4583</span></a><span class="k">class</span> <span class="nc">Use</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-4584"><a href="#L-4584"><span class="linenos">4584</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4583"><a href="#L-4583"><span class="linenos">4583</span></a><span class="k">class</span> <span class="nc">Variance</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4584"><a href="#L-4584"><span class="linenos">4584</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE&quot;</span><span class="p">,</span> <span class="s2">&quot;VARIANCE_SAMP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_SAMP&quot;</span><span class="p">]</span>
</span><span id="L-4585"><a href="#L-4585"><span class="linenos">4585</span></a>
</span><span id="L-4586"><a href="#L-4586"><span class="linenos">4586</span></a>
-</span><span id="L-4587"><a href="#L-4587"><span class="linenos">4587</span></a><span class="k">class</span> <span class="nc">Merge</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-4588"><a href="#L-4588"><span class="linenos">4588</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4587"><a href="#L-4587"><span class="linenos">4587</span></a><span class="k">class</span> <span class="nc">VariancePop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="L-4588"><a href="#L-4588"><span class="linenos">4588</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE_POP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_POP&quot;</span><span class="p">]</span>
</span><span id="L-4589"><a href="#L-4589"><span class="linenos">4589</span></a>
</span><span id="L-4590"><a href="#L-4590"><span class="linenos">4590</span></a>
-</span><span id="L-4591"><a href="#L-4591"><span class="linenos">4591</span></a><span class="k">class</span> <span class="nc">When</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4592"><a href="#L-4592"><span class="linenos">4592</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;matched&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;condition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;then&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4591"><a href="#L-4591"><span class="linenos">4591</span></a><span class="k">class</span> <span class="nc">Week</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4592"><a href="#L-4592"><span class="linenos">4592</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-4593"><a href="#L-4593"><span class="linenos">4593</span></a>
</span><span id="L-4594"><a href="#L-4594"><span class="linenos">4594</span></a>
-</span><span id="L-4595"><a href="#L-4595"><span class="linenos">4595</span></a><span class="c1"># https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljnextvaluefor.html</span>
-</span><span id="L-4596"><a href="#L-4596"><span class="linenos">4596</span></a><span class="c1"># https://learn.microsoft.com/en-us/sql/t-sql/functions/next-value-for-transact-sql?view=sql-server-ver16</span>
-</span><span id="L-4597"><a href="#L-4597"><span class="linenos">4597</span></a><span class="k">class</span> <span class="nc">NextValueFor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="L-4598"><a href="#L-4598"><span class="linenos">4598</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-4599"><a href="#L-4599"><span class="linenos">4599</span></a>
-</span><span id="L-4600"><a href="#L-4600"><span class="linenos">4600</span></a>
-</span><span id="L-4601"><a href="#L-4601"><span class="linenos">4601</span></a><span class="k">def</span> <span class="nf">_norm_arg</span><span class="p">(</span><span class="n">arg</span><span class="p">):</span>
-</span><span id="L-4602"><a href="#L-4602"><span class="linenos">4602</span></a> <span class="k">return</span> <span class="n">arg</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">arg</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">str</span> <span class="k">else</span> <span class="n">arg</span>
-</span><span id="L-4603"><a href="#L-4603"><span class="linenos">4603</span></a>
-</span><span id="L-4604"><a href="#L-4604"><span class="linenos">4604</span></a>
-</span><span id="L-4605"><a href="#L-4605"><span class="linenos">4605</span></a><span class="n">ALL_FUNCTIONS</span> <span class="o">=</span> <span class="n">subclasses</span><span class="p">(</span><span class="vm">__name__</span><span class="p">,</span> <span class="n">Func</span><span class="p">,</span> <span class="p">(</span><span class="n">AggFunc</span><span class="p">,</span> <span class="n">Anonymous</span><span class="p">,</span> <span class="n">Func</span><span class="p">))</span>
+</span><span id="L-4595"><a href="#L-4595"><span class="linenos">4595</span></a><span class="k">class</span> <span class="nc">XMLTable</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4596"><a href="#L-4596"><span class="linenos">4596</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;passing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;by_ref&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4597"><a href="#L-4597"><span class="linenos">4597</span></a>
+</span><span id="L-4598"><a href="#L-4598"><span class="linenos">4598</span></a>
+</span><span id="L-4599"><a href="#L-4599"><span class="linenos">4599</span></a><span class="k">class</span> <span class="nc">Year</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4600"><a href="#L-4600"><span class="linenos">4600</span></a> <span class="k">pass</span>
+</span><span id="L-4601"><a href="#L-4601"><span class="linenos">4601</span></a>
+</span><span id="L-4602"><a href="#L-4602"><span class="linenos">4602</span></a>
+</span><span id="L-4603"><a href="#L-4603"><span class="linenos">4603</span></a><span class="k">class</span> <span class="nc">Use</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-4604"><a href="#L-4604"><span class="linenos">4604</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4605"><a href="#L-4605"><span class="linenos">4605</span></a>
</span><span id="L-4606"><a href="#L-4606"><span class="linenos">4606</span></a>
-</span><span id="L-4607"><a href="#L-4607"><span class="linenos">4607</span></a>
-</span><span id="L-4608"><a href="#L-4608"><span class="linenos">4608</span></a><span class="c1"># Helpers</span>
-</span><span id="L-4609"><a href="#L-4609"><span class="linenos">4609</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
-</span><span id="L-4610"><a href="#L-4610"><span class="linenos">4610</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
-</span><span id="L-4611"><a href="#L-4611"><span class="linenos">4611</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-4612"><a href="#L-4612"><span class="linenos">4612</span></a> <span class="o">*</span><span class="p">,</span>
-</span><span id="L-4613"><a href="#L-4613"><span class="linenos">4613</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-4614"><a href="#L-4614"><span class="linenos">4614</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4615"><a href="#L-4615"><span class="linenos">4615</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4616"><a href="#L-4616"><span class="linenos">4616</span></a> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4617"><a href="#L-4617"><span class="linenos">4617</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4618"><a href="#L-4618"><span class="linenos">4618</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
-</span><span id="L-4619"><a href="#L-4619"><span class="linenos">4619</span></a> <span class="o">...</span>
+</span><span id="L-4607"><a href="#L-4607"><span class="linenos">4607</span></a><span class="k">class</span> <span class="nc">Merge</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-4608"><a href="#L-4608"><span class="linenos">4608</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4609"><a href="#L-4609"><span class="linenos">4609</span></a>
+</span><span id="L-4610"><a href="#L-4610"><span class="linenos">4610</span></a>
+</span><span id="L-4611"><a href="#L-4611"><span class="linenos">4611</span></a><span class="k">class</span> <span class="nc">When</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4612"><a href="#L-4612"><span class="linenos">4612</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;matched&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;condition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;then&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-4613"><a href="#L-4613"><span class="linenos">4613</span></a>
+</span><span id="L-4614"><a href="#L-4614"><span class="linenos">4614</span></a>
+</span><span id="L-4615"><a href="#L-4615"><span class="linenos">4615</span></a><span class="c1"># https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljnextvaluefor.html</span>
+</span><span id="L-4616"><a href="#L-4616"><span class="linenos">4616</span></a><span class="c1"># https://learn.microsoft.com/en-us/sql/t-sql/functions/next-value-for-transact-sql?view=sql-server-ver16</span>
+</span><span id="L-4617"><a href="#L-4617"><span class="linenos">4617</span></a><span class="k">class</span> <span class="nc">NextValueFor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="L-4618"><a href="#L-4618"><span class="linenos">4618</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-4619"><a href="#L-4619"><span class="linenos">4619</span></a>
</span><span id="L-4620"><a href="#L-4620"><span class="linenos">4620</span></a>
-</span><span id="L-4621"><a href="#L-4621"><span class="linenos">4621</span></a>
-</span><span id="L-4622"><a href="#L-4622"><span class="linenos">4622</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
-</span><span id="L-4623"><a href="#L-4623"><span class="linenos">4623</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
-</span><span id="L-4624"><a href="#L-4624"><span class="linenos">4624</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">E</span><span class="p">,</span>
-</span><span id="L-4625"><a href="#L-4625"><span class="linenos">4625</span></a> <span class="o">*</span><span class="p">,</span>
-</span><span id="L-4626"><a href="#L-4626"><span class="linenos">4626</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4627"><a href="#L-4627"><span class="linenos">4627</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4628"><a href="#L-4628"><span class="linenos">4628</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4629"><a href="#L-4629"><span class="linenos">4629</span></a> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4630"><a href="#L-4630"><span class="linenos">4630</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4631"><a href="#L-4631"><span class="linenos">4631</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
-</span><span id="L-4632"><a href="#L-4632"><span class="linenos">4632</span></a> <span class="o">...</span>
-</span><span id="L-4633"><a href="#L-4633"><span class="linenos">4633</span></a>
-</span><span id="L-4634"><a href="#L-4634"><span class="linenos">4634</span></a>
-</span><span id="L-4635"><a href="#L-4635"><span class="linenos">4635</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
-</span><span id="L-4636"><a href="#L-4636"><span class="linenos">4636</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-4637"><a href="#L-4637"><span class="linenos">4637</span></a> <span class="o">*</span><span class="p">,</span>
-</span><span id="L-4638"><a href="#L-4638"><span class="linenos">4638</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4639"><a href="#L-4639"><span class="linenos">4639</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4640"><a href="#L-4640"><span class="linenos">4640</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4641"><a href="#L-4641"><span class="linenos">4641</span></a> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-4642"><a href="#L-4642"><span class="linenos">4642</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4643"><a href="#L-4643"><span class="linenos">4643</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-4644"><a href="#L-4644"><span class="linenos">4644</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Gracefully handle a possible string or expression.</span>
-</span><span id="L-4645"><a href="#L-4645"><span class="linenos">4645</span></a>
-</span><span id="L-4646"><a href="#L-4646"><span class="linenos">4646</span></a><span class="sd"> Example:</span>
-</span><span id="L-4647"><a href="#L-4647"><span class="linenos">4647</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(&quot;1&quot;)</span>
-</span><span id="L-4648"><a href="#L-4648"><span class="linenos">4648</span></a><span class="sd"> (LITERAL this: 1, is_string: False)</span>
-</span><span id="L-4649"><a href="#L-4649"><span class="linenos">4649</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(to_identifier(&quot;x&quot;))</span>
-</span><span id="L-4650"><a href="#L-4650"><span class="linenos">4650</span></a><span class="sd"> (IDENTIFIER this: x, quoted: False)</span>
-</span><span id="L-4651"><a href="#L-4651"><span class="linenos">4651</span></a>
-</span><span id="L-4652"><a href="#L-4652"><span class="linenos">4652</span></a><span class="sd"> Args:</span>
-</span><span id="L-4653"><a href="#L-4653"><span class="linenos">4653</span></a><span class="sd"> sql_or_expression: the SQL code string or an expression</span>
-</span><span id="L-4654"><a href="#L-4654"><span class="linenos">4654</span></a><span class="sd"> into: the SQLGlot Expression to parse into</span>
-</span><span id="L-4655"><a href="#L-4655"><span class="linenos">4655</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
-</span><span id="L-4656"><a href="#L-4656"><span class="linenos">4656</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="L-4657"><a href="#L-4657"><span class="linenos">4657</span></a><span class="sd"> prefix: a string to prefix the sql with before it gets parsed</span>
-</span><span id="L-4658"><a href="#L-4658"><span class="linenos">4658</span></a><span class="sd"> (automatically includes a space)</span>
-</span><span id="L-4659"><a href="#L-4659"><span class="linenos">4659</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
-</span><span id="L-4660"><a href="#L-4660"><span class="linenos">4660</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="L-4661"><a href="#L-4661"><span class="linenos">4661</span></a><span class="sd"> that an input expression is a SQL string).</span>
-</span><span id="L-4662"><a href="#L-4662"><span class="linenos">4662</span></a>
-</span><span id="L-4663"><a href="#L-4663"><span class="linenos">4663</span></a><span class="sd"> Returns:</span>
-</span><span id="L-4664"><a href="#L-4664"><span class="linenos">4664</span></a><span class="sd"> Expression: the parsed or given expression.</span>
-</span><span id="L-4665"><a href="#L-4665"><span class="linenos">4665</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-4666"><a href="#L-4666"><span class="linenos">4666</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-4667"><a href="#L-4667"><span class="linenos">4667</span></a> <span class="k">if</span> <span class="n">copy</span><span class="p">:</span>
-</span><span id="L-4668"><a href="#L-4668"><span class="linenos">4668</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-</span><span id="L-4669"><a href="#L-4669"><span class="linenos">4669</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span>
-</span><span id="L-4670"><a href="#L-4670"><span class="linenos">4670</span></a>
-</span><span id="L-4671"><a href="#L-4671"><span class="linenos">4671</span></a> <span class="k">if</span> <span class="n">sql_or_expression</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-4672"><a href="#L-4672"><span class="linenos">4672</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;SQL cannot be None&quot;</span><span class="p">)</span>
-</span><span id="L-4673"><a href="#L-4673"><span class="linenos">4673</span></a>
-</span><span id="L-4674"><a href="#L-4674"><span class="linenos">4674</span></a> <span class="kn">import</span> <span class="nn">sqlglot</span>
-</span><span id="L-4675"><a href="#L-4675"><span class="linenos">4675</span></a>
-</span><span id="L-4676"><a href="#L-4676"><span class="linenos">4676</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">)</span>
-</span><span id="L-4677"><a href="#L-4677"><span class="linenos">4677</span></a> <span class="k">if</span> <span class="n">prefix</span><span class="p">:</span>
-</span><span id="L-4678"><a href="#L-4678"><span class="linenos">4678</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span id="L-4679"><a href="#L-4679"><span class="linenos">4679</span></a>
-</span><span id="L-4680"><a href="#L-4680"><span class="linenos">4680</span></a> <span class="k">return</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">parse_one</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4681"><a href="#L-4681"><span class="linenos">4681</span></a>
+</span><span id="L-4621"><a href="#L-4621"><span class="linenos">4621</span></a><span class="k">def</span> <span class="nf">_norm_arg</span><span class="p">(</span><span class="n">arg</span><span class="p">):</span>
+</span><span id="L-4622"><a href="#L-4622"><span class="linenos">4622</span></a> <span class="k">return</span> <span class="n">arg</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">arg</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">str</span> <span class="k">else</span> <span class="n">arg</span>
+</span><span id="L-4623"><a href="#L-4623"><span class="linenos">4623</span></a>
+</span><span id="L-4624"><a href="#L-4624"><span class="linenos">4624</span></a>
+</span><span id="L-4625"><a href="#L-4625"><span class="linenos">4625</span></a><span class="n">ALL_FUNCTIONS</span> <span class="o">=</span> <span class="n">subclasses</span><span class="p">(</span><span class="vm">__name__</span><span class="p">,</span> <span class="n">Func</span><span class="p">,</span> <span class="p">(</span><span class="n">AggFunc</span><span class="p">,</span> <span class="n">Anonymous</span><span class="p">,</span> <span class="n">Func</span><span class="p">))</span>
+</span><span id="L-4626"><a href="#L-4626"><span class="linenos">4626</span></a>
+</span><span id="L-4627"><a href="#L-4627"><span class="linenos">4627</span></a>
+</span><span id="L-4628"><a href="#L-4628"><span class="linenos">4628</span></a><span class="c1"># Helpers</span>
+</span><span id="L-4629"><a href="#L-4629"><span class="linenos">4629</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
+</span><span id="L-4630"><a href="#L-4630"><span class="linenos">4630</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
+</span><span id="L-4631"><a href="#L-4631"><span class="linenos">4631</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-4632"><a href="#L-4632"><span class="linenos">4632</span></a> <span class="o">*</span><span class="p">,</span>
+</span><span id="L-4633"><a href="#L-4633"><span class="linenos">4633</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-4634"><a href="#L-4634"><span class="linenos">4634</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4635"><a href="#L-4635"><span class="linenos">4635</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4636"><a href="#L-4636"><span class="linenos">4636</span></a> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4637"><a href="#L-4637"><span class="linenos">4637</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4638"><a href="#L-4638"><span class="linenos">4638</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
+</span><span id="L-4639"><a href="#L-4639"><span class="linenos">4639</span></a> <span class="o">...</span>
+</span><span id="L-4640"><a href="#L-4640"><span class="linenos">4640</span></a>
+</span><span id="L-4641"><a href="#L-4641"><span class="linenos">4641</span></a>
+</span><span id="L-4642"><a href="#L-4642"><span class="linenos">4642</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
+</span><span id="L-4643"><a href="#L-4643"><span class="linenos">4643</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
+</span><span id="L-4644"><a href="#L-4644"><span class="linenos">4644</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">E</span><span class="p">,</span>
+</span><span id="L-4645"><a href="#L-4645"><span class="linenos">4645</span></a> <span class="o">*</span><span class="p">,</span>
+</span><span id="L-4646"><a href="#L-4646"><span class="linenos">4646</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4647"><a href="#L-4647"><span class="linenos">4647</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4648"><a href="#L-4648"><span class="linenos">4648</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4649"><a href="#L-4649"><span class="linenos">4649</span></a> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4650"><a href="#L-4650"><span class="linenos">4650</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4651"><a href="#L-4651"><span class="linenos">4651</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
+</span><span id="L-4652"><a href="#L-4652"><span class="linenos">4652</span></a> <span class="o">...</span>
+</span><span id="L-4653"><a href="#L-4653"><span class="linenos">4653</span></a>
+</span><span id="L-4654"><a href="#L-4654"><span class="linenos">4654</span></a>
+</span><span id="L-4655"><a href="#L-4655"><span class="linenos">4655</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
+</span><span id="L-4656"><a href="#L-4656"><span class="linenos">4656</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-4657"><a href="#L-4657"><span class="linenos">4657</span></a> <span class="o">*</span><span class="p">,</span>
+</span><span id="L-4658"><a href="#L-4658"><span class="linenos">4658</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4659"><a href="#L-4659"><span class="linenos">4659</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4660"><a href="#L-4660"><span class="linenos">4660</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4661"><a href="#L-4661"><span class="linenos">4661</span></a> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-4662"><a href="#L-4662"><span class="linenos">4662</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4663"><a href="#L-4663"><span class="linenos">4663</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-4664"><a href="#L-4664"><span class="linenos">4664</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Gracefully handle a possible string or expression.</span>
+</span><span id="L-4665"><a href="#L-4665"><span class="linenos">4665</span></a>
+</span><span id="L-4666"><a href="#L-4666"><span class="linenos">4666</span></a><span class="sd"> Example:</span>
+</span><span id="L-4667"><a href="#L-4667"><span class="linenos">4667</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(&quot;1&quot;)</span>
+</span><span id="L-4668"><a href="#L-4668"><span class="linenos">4668</span></a><span class="sd"> (LITERAL this: 1, is_string: False)</span>
+</span><span id="L-4669"><a href="#L-4669"><span class="linenos">4669</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(to_identifier(&quot;x&quot;))</span>
+</span><span id="L-4670"><a href="#L-4670"><span class="linenos">4670</span></a><span class="sd"> (IDENTIFIER this: x, quoted: False)</span>
+</span><span id="L-4671"><a href="#L-4671"><span class="linenos">4671</span></a>
+</span><span id="L-4672"><a href="#L-4672"><span class="linenos">4672</span></a><span class="sd"> Args:</span>
+</span><span id="L-4673"><a href="#L-4673"><span class="linenos">4673</span></a><span class="sd"> sql_or_expression: the SQL code string or an expression</span>
+</span><span id="L-4674"><a href="#L-4674"><span class="linenos">4674</span></a><span class="sd"> into: the SQLGlot Expression to parse into</span>
+</span><span id="L-4675"><a href="#L-4675"><span class="linenos">4675</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
+</span><span id="L-4676"><a href="#L-4676"><span class="linenos">4676</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="L-4677"><a href="#L-4677"><span class="linenos">4677</span></a><span class="sd"> prefix: a string to prefix the sql with before it gets parsed</span>
+</span><span id="L-4678"><a href="#L-4678"><span class="linenos">4678</span></a><span class="sd"> (automatically includes a space)</span>
+</span><span id="L-4679"><a href="#L-4679"><span class="linenos">4679</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="L-4680"><a href="#L-4680"><span class="linenos">4680</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="L-4681"><a href="#L-4681"><span class="linenos">4681</span></a><span class="sd"> that an input expression is a SQL string).</span>
</span><span id="L-4682"><a href="#L-4682"><span class="linenos">4682</span></a>
-</span><span id="L-4683"><a href="#L-4683"><span class="linenos">4683</span></a><span class="k">def</span> <span class="nf">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
-</span><span id="L-4684"><a href="#L-4684"><span class="linenos">4684</span></a> <span class="k">return</span> <span class="n">instance</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="n">instance</span>
-</span><span id="L-4685"><a href="#L-4685"><span class="linenos">4685</span></a>
-</span><span id="L-4686"><a href="#L-4686"><span class="linenos">4686</span></a>
-</span><span id="L-4687"><a href="#L-4687"><span class="linenos">4687</span></a><span class="k">def</span> <span class="nf">_is_wrong_expression</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">):</span>
-</span><span id="L-4688"><a href="#L-4688"><span class="linenos">4688</span></a> <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Expression</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">)</span>
-</span><span id="L-4689"><a href="#L-4689"><span class="linenos">4689</span></a>
+</span><span id="L-4683"><a href="#L-4683"><span class="linenos">4683</span></a><span class="sd"> Returns:</span>
+</span><span id="L-4684"><a href="#L-4684"><span class="linenos">4684</span></a><span class="sd"> Expression: the parsed or given expression.</span>
+</span><span id="L-4685"><a href="#L-4685"><span class="linenos">4685</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-4686"><a href="#L-4686"><span class="linenos">4686</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-4687"><a href="#L-4687"><span class="linenos">4687</span></a> <span class="k">if</span> <span class="n">copy</span><span class="p">:</span>
+</span><span id="L-4688"><a href="#L-4688"><span class="linenos">4688</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+</span><span id="L-4689"><a href="#L-4689"><span class="linenos">4689</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span>
</span><span id="L-4690"><a href="#L-4690"><span class="linenos">4690</span></a>
-</span><span id="L-4691"><a href="#L-4691"><span class="linenos">4691</span></a><span class="k">def</span> <span class="nf">_apply_builder</span><span class="p">(</span>
-</span><span id="L-4692"><a href="#L-4692"><span class="linenos">4692</span></a> <span class="n">expression</span><span class="p">,</span>
-</span><span id="L-4693"><a href="#L-4693"><span class="linenos">4693</span></a> <span class="n">instance</span><span class="p">,</span>
-</span><span id="L-4694"><a href="#L-4694"><span class="linenos">4694</span></a> <span class="n">arg</span><span class="p">,</span>
-</span><span id="L-4695"><a href="#L-4695"><span class="linenos">4695</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4696"><a href="#L-4696"><span class="linenos">4696</span></a> <span class="n">prefix</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4697"><a href="#L-4697"><span class="linenos">4697</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4698"><a href="#L-4698"><span class="linenos">4698</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4699"><a href="#L-4699"><span class="linenos">4699</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4700"><a href="#L-4700"><span class="linenos">4700</span></a><span class="p">):</span>
-</span><span id="L-4701"><a href="#L-4701"><span class="linenos">4701</span></a> <span class="k">if</span> <span class="n">_is_wrong_expression</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">):</span>
-</span><span id="L-4702"><a href="#L-4702"><span class="linenos">4702</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">into</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="L-4703"><a href="#L-4703"><span class="linenos">4703</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-4704"><a href="#L-4704"><span class="linenos">4704</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="L-4705"><a href="#L-4705"><span class="linenos">4705</span></a> <span class="n">sql_or_expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="L-4706"><a href="#L-4706"><span class="linenos">4706</span></a> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
-</span><span id="L-4707"><a href="#L-4707"><span class="linenos">4707</span></a> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span>
-</span><span id="L-4708"><a href="#L-4708"><span class="linenos">4708</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-4709"><a href="#L-4709"><span class="linenos">4709</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4710"><a href="#L-4710"><span class="linenos">4710</span></a> <span class="p">)</span>
-</span><span id="L-4711"><a href="#L-4711"><span class="linenos">4711</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">expression</span><span class="p">)</span>
-</span><span id="L-4712"><a href="#L-4712"><span class="linenos">4712</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span><span id="L-4713"><a href="#L-4713"><span class="linenos">4713</span></a>
-</span><span id="L-4714"><a href="#L-4714"><span class="linenos">4714</span></a>
-</span><span id="L-4715"><a href="#L-4715"><span class="linenos">4715</span></a><span class="k">def</span> <span class="nf">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="L-4716"><a href="#L-4716"><span class="linenos">4716</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-4717"><a href="#L-4717"><span class="linenos">4717</span></a> <span class="n">instance</span><span class="p">,</span>
-</span><span id="L-4718"><a href="#L-4718"><span class="linenos">4718</span></a> <span class="n">arg</span><span class="p">,</span>
-</span><span id="L-4719"><a href="#L-4719"><span class="linenos">4719</span></a> <span class="n">append</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4720"><a href="#L-4720"><span class="linenos">4720</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4721"><a href="#L-4721"><span class="linenos">4721</span></a> <span class="n">prefix</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4722"><a href="#L-4722"><span class="linenos">4722</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4723"><a href="#L-4723"><span class="linenos">4723</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4724"><a href="#L-4724"><span class="linenos">4724</span></a> <span class="n">properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4725"><a href="#L-4725"><span class="linenos">4725</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4726"><a href="#L-4726"><span class="linenos">4726</span></a><span class="p">):</span>
-</span><span id="L-4727"><a href="#L-4727"><span class="linenos">4727</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-4728"><a href="#L-4728"><span class="linenos">4728</span></a> <span class="n">parsed</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-4729"><a href="#L-4729"><span class="linenos">4729</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="L-4730"><a href="#L-4730"><span class="linenos">4730</span></a> <span class="k">if</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-4731"><a href="#L-4731"><span class="linenos">4731</span></a> <span class="k">if</span> <span class="n">_is_wrong_expression</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">):</span>
-</span><span id="L-4732"><a href="#L-4732"><span class="linenos">4732</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">into</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">expression</span><span class="p">])</span>
+</span><span id="L-4691"><a href="#L-4691"><span class="linenos">4691</span></a> <span class="k">if</span> <span class="n">sql_or_expression</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-4692"><a href="#L-4692"><span class="linenos">4692</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;SQL cannot be None&quot;</span><span class="p">)</span>
+</span><span id="L-4693"><a href="#L-4693"><span class="linenos">4693</span></a>
+</span><span id="L-4694"><a href="#L-4694"><span class="linenos">4694</span></a> <span class="kn">import</span> <span class="nn">sqlglot</span>
+</span><span id="L-4695"><a href="#L-4695"><span class="linenos">4695</span></a>
+</span><span id="L-4696"><a href="#L-4696"><span class="linenos">4696</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">)</span>
+</span><span id="L-4697"><a href="#L-4697"><span class="linenos">4697</span></a> <span class="k">if</span> <span class="n">prefix</span><span class="p">:</span>
+</span><span id="L-4698"><a href="#L-4698"><span class="linenos">4698</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span id="L-4699"><a href="#L-4699"><span class="linenos">4699</span></a>
+</span><span id="L-4700"><a href="#L-4700"><span class="linenos">4700</span></a> <span class="k">return</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">parse_one</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4701"><a href="#L-4701"><span class="linenos">4701</span></a>
+</span><span id="L-4702"><a href="#L-4702"><span class="linenos">4702</span></a>
+</span><span id="L-4703"><a href="#L-4703"><span class="linenos">4703</span></a><span class="k">def</span> <span class="nf">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
+</span><span id="L-4704"><a href="#L-4704"><span class="linenos">4704</span></a> <span class="k">return</span> <span class="n">instance</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="n">instance</span>
+</span><span id="L-4705"><a href="#L-4705"><span class="linenos">4705</span></a>
+</span><span id="L-4706"><a href="#L-4706"><span class="linenos">4706</span></a>
+</span><span id="L-4707"><a href="#L-4707"><span class="linenos">4707</span></a><span class="k">def</span> <span class="nf">_is_wrong_expression</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">):</span>
+</span><span id="L-4708"><a href="#L-4708"><span class="linenos">4708</span></a> <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Expression</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">)</span>
+</span><span id="L-4709"><a href="#L-4709"><span class="linenos">4709</span></a>
+</span><span id="L-4710"><a href="#L-4710"><span class="linenos">4710</span></a>
+</span><span id="L-4711"><a href="#L-4711"><span class="linenos">4711</span></a><span class="k">def</span> <span class="nf">_apply_builder</span><span class="p">(</span>
+</span><span id="L-4712"><a href="#L-4712"><span class="linenos">4712</span></a> <span class="n">expression</span><span class="p">,</span>
+</span><span id="L-4713"><a href="#L-4713"><span class="linenos">4713</span></a> <span class="n">instance</span><span class="p">,</span>
+</span><span id="L-4714"><a href="#L-4714"><span class="linenos">4714</span></a> <span class="n">arg</span><span class="p">,</span>
+</span><span id="L-4715"><a href="#L-4715"><span class="linenos">4715</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4716"><a href="#L-4716"><span class="linenos">4716</span></a> <span class="n">prefix</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4717"><a href="#L-4717"><span class="linenos">4717</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4718"><a href="#L-4718"><span class="linenos">4718</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4719"><a href="#L-4719"><span class="linenos">4719</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4720"><a href="#L-4720"><span class="linenos">4720</span></a><span class="p">):</span>
+</span><span id="L-4721"><a href="#L-4721"><span class="linenos">4721</span></a> <span class="k">if</span> <span class="n">_is_wrong_expression</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">):</span>
+</span><span id="L-4722"><a href="#L-4722"><span class="linenos">4722</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">into</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="L-4723"><a href="#L-4723"><span class="linenos">4723</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-4724"><a href="#L-4724"><span class="linenos">4724</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="L-4725"><a href="#L-4725"><span class="linenos">4725</span></a> <span class="n">sql_or_expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="L-4726"><a href="#L-4726"><span class="linenos">4726</span></a> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
+</span><span id="L-4727"><a href="#L-4727"><span class="linenos">4727</span></a> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span>
+</span><span id="L-4728"><a href="#L-4728"><span class="linenos">4728</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-4729"><a href="#L-4729"><span class="linenos">4729</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4730"><a href="#L-4730"><span class="linenos">4730</span></a> <span class="p">)</span>
+</span><span id="L-4731"><a href="#L-4731"><span class="linenos">4731</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">expression</span><span class="p">)</span>
+</span><span id="L-4732"><a href="#L-4732"><span class="linenos">4732</span></a> <span class="k">return</span> <span class="n">instance</span>
</span><span id="L-4733"><a href="#L-4733"><span class="linenos">4733</span></a>
-</span><span id="L-4734"><a href="#L-4734"><span class="linenos">4734</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="L-4735"><a href="#L-4735"><span class="linenos">4735</span></a> <span class="n">expression</span><span class="p">,</span>
-</span><span id="L-4736"><a href="#L-4736"><span class="linenos">4736</span></a> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span>
-</span><span id="L-4737"><a href="#L-4737"><span class="linenos">4737</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-4738"><a href="#L-4738"><span class="linenos">4738</span></a> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
-</span><span id="L-4739"><a href="#L-4739"><span class="linenos">4739</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4740"><a href="#L-4740"><span class="linenos">4740</span></a> <span class="p">)</span>
-</span><span id="L-4741"><a href="#L-4741"><span class="linenos">4741</span></a> <span class="n">parsed</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">expressions</span><span class="p">)</span>
-</span><span id="L-4742"><a href="#L-4742"><span class="linenos">4742</span></a>
-</span><span id="L-4743"><a href="#L-4743"><span class="linenos">4743</span></a> <span class="n">existing</span> <span class="o">=</span> <span class="n">instance</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="n">arg</span><span class="p">)</span>
-</span><span id="L-4744"><a href="#L-4744"><span class="linenos">4744</span></a> <span class="k">if</span> <span class="n">append</span> <span class="ow">and</span> <span class="n">existing</span><span class="p">:</span>
-</span><span id="L-4745"><a href="#L-4745"><span class="linenos">4745</span></a> <span class="n">parsed</span> <span class="o">=</span> <span class="n">existing</span><span class="o">.</span><span class="n">expressions</span> <span class="o">+</span> <span class="n">parsed</span>
-</span><span id="L-4746"><a href="#L-4746"><span class="linenos">4746</span></a>
-</span><span id="L-4747"><a href="#L-4747"><span class="linenos">4747</span></a> <span class="n">child</span> <span class="o">=</span> <span class="n">into</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">parsed</span><span class="p">)</span>
-</span><span id="L-4748"><a href="#L-4748"><span class="linenos">4748</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="p">(</span><span class="n">properties</span> <span class="ow">or</span> <span class="p">{})</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="L-4749"><a href="#L-4749"><span class="linenos">4749</span></a> <span class="n">child</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
-</span><span id="L-4750"><a href="#L-4750"><span class="linenos">4750</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">child</span><span class="p">)</span>
-</span><span id="L-4751"><a href="#L-4751"><span class="linenos">4751</span></a>
-</span><span id="L-4752"><a href="#L-4752"><span class="linenos">4752</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="L-4734"><a href="#L-4734"><span class="linenos">4734</span></a>
+</span><span id="L-4735"><a href="#L-4735"><span class="linenos">4735</span></a><span class="k">def</span> <span class="nf">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="L-4736"><a href="#L-4736"><span class="linenos">4736</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-4737"><a href="#L-4737"><span class="linenos">4737</span></a> <span class="n">instance</span><span class="p">,</span>
+</span><span id="L-4738"><a href="#L-4738"><span class="linenos">4738</span></a> <span class="n">arg</span><span class="p">,</span>
+</span><span id="L-4739"><a href="#L-4739"><span class="linenos">4739</span></a> <span class="n">append</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4740"><a href="#L-4740"><span class="linenos">4740</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4741"><a href="#L-4741"><span class="linenos">4741</span></a> <span class="n">prefix</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4742"><a href="#L-4742"><span class="linenos">4742</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4743"><a href="#L-4743"><span class="linenos">4743</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4744"><a href="#L-4744"><span class="linenos">4744</span></a> <span class="n">properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4745"><a href="#L-4745"><span class="linenos">4745</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4746"><a href="#L-4746"><span class="linenos">4746</span></a><span class="p">):</span>
+</span><span id="L-4747"><a href="#L-4747"><span class="linenos">4747</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-4748"><a href="#L-4748"><span class="linenos">4748</span></a> <span class="n">parsed</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-4749"><a href="#L-4749"><span class="linenos">4749</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="L-4750"><a href="#L-4750"><span class="linenos">4750</span></a> <span class="k">if</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-4751"><a href="#L-4751"><span class="linenos">4751</span></a> <span class="k">if</span> <span class="n">_is_wrong_expression</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="p">):</span>
+</span><span id="L-4752"><a href="#L-4752"><span class="linenos">4752</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">into</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">expression</span><span class="p">])</span>
</span><span id="L-4753"><a href="#L-4753"><span class="linenos">4753</span></a>
-</span><span id="L-4754"><a href="#L-4754"><span class="linenos">4754</span></a>
-</span><span id="L-4755"><a href="#L-4755"><span class="linenos">4755</span></a><span class="k">def</span> <span class="nf">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-4756"><a href="#L-4756"><span class="linenos">4756</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-4757"><a href="#L-4757"><span class="linenos">4757</span></a> <span class="n">instance</span><span class="p">,</span>
-</span><span id="L-4758"><a href="#L-4758"><span class="linenos">4758</span></a> <span class="n">arg</span><span class="p">,</span>
-</span><span id="L-4759"><a href="#L-4759"><span class="linenos">4759</span></a> <span class="n">append</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4760"><a href="#L-4760"><span class="linenos">4760</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4761"><a href="#L-4761"><span class="linenos">4761</span></a> <span class="n">prefix</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4762"><a href="#L-4762"><span class="linenos">4762</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4763"><a href="#L-4763"><span class="linenos">4763</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4764"><a href="#L-4764"><span class="linenos">4764</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4765"><a href="#L-4765"><span class="linenos">4765</span></a><span class="p">):</span>
-</span><span id="L-4766"><a href="#L-4766"><span class="linenos">4766</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-4767"><a href="#L-4767"><span class="linenos">4767</span></a>
-</span><span id="L-4768"><a href="#L-4768"><span class="linenos">4768</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[</span>
-</span><span id="L-4769"><a href="#L-4769"><span class="linenos">4769</span></a> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="L-4770"><a href="#L-4770"><span class="linenos">4770</span></a> <span class="n">sql_or_expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="L-4771"><a href="#L-4771"><span class="linenos">4771</span></a> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span>
-</span><span id="L-4772"><a href="#L-4772"><span class="linenos">4772</span></a> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
-</span><span id="L-4773"><a href="#L-4773"><span class="linenos">4773</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-4774"><a href="#L-4774"><span class="linenos">4774</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4775"><a href="#L-4775"><span class="linenos">4775</span></a> <span class="p">)</span>
-</span><span id="L-4776"><a href="#L-4776"><span class="linenos">4776</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span>
-</span><span id="L-4777"><a href="#L-4777"><span class="linenos">4777</span></a> <span class="k">if</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
-</span><span id="L-4778"><a href="#L-4778"><span class="linenos">4778</span></a> <span class="p">]</span>
-</span><span id="L-4779"><a href="#L-4779"><span class="linenos">4779</span></a>
-</span><span id="L-4780"><a href="#L-4780"><span class="linenos">4780</span></a> <span class="n">existing_expressions</span> <span class="o">=</span> <span class="n">inst</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="n">arg</span><span class="p">)</span>
-</span><span id="L-4781"><a href="#L-4781"><span class="linenos">4781</span></a> <span class="k">if</span> <span class="n">append</span> <span class="ow">and</span> <span class="n">existing_expressions</span><span class="p">:</span>
-</span><span id="L-4782"><a href="#L-4782"><span class="linenos">4782</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="n">existing_expressions</span> <span class="o">+</span> <span class="n">expressions</span>
-</span><span id="L-4783"><a href="#L-4783"><span class="linenos">4783</span></a>
-</span><span id="L-4784"><a href="#L-4784"><span class="linenos">4784</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">expressions</span><span class="p">)</span>
-</span><span id="L-4785"><a href="#L-4785"><span class="linenos">4785</span></a> <span class="k">return</span> <span class="n">inst</span>
-</span><span id="L-4786"><a href="#L-4786"><span class="linenos">4786</span></a>
+</span><span id="L-4754"><a href="#L-4754"><span class="linenos">4754</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="L-4755"><a href="#L-4755"><span class="linenos">4755</span></a> <span class="n">expression</span><span class="p">,</span>
+</span><span id="L-4756"><a href="#L-4756"><span class="linenos">4756</span></a> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span>
+</span><span id="L-4757"><a href="#L-4757"><span class="linenos">4757</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-4758"><a href="#L-4758"><span class="linenos">4758</span></a> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
+</span><span id="L-4759"><a href="#L-4759"><span class="linenos">4759</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4760"><a href="#L-4760"><span class="linenos">4760</span></a> <span class="p">)</span>
+</span><span id="L-4761"><a href="#L-4761"><span class="linenos">4761</span></a> <span class="n">parsed</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">expressions</span><span class="p">)</span>
+</span><span id="L-4762"><a href="#L-4762"><span class="linenos">4762</span></a>
+</span><span id="L-4763"><a href="#L-4763"><span class="linenos">4763</span></a> <span class="n">existing</span> <span class="o">=</span> <span class="n">instance</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="n">arg</span><span class="p">)</span>
+</span><span id="L-4764"><a href="#L-4764"><span class="linenos">4764</span></a> <span class="k">if</span> <span class="n">append</span> <span class="ow">and</span> <span class="n">existing</span><span class="p">:</span>
+</span><span id="L-4765"><a href="#L-4765"><span class="linenos">4765</span></a> <span class="n">parsed</span> <span class="o">=</span> <span class="n">existing</span><span class="o">.</span><span class="n">expressions</span> <span class="o">+</span> <span class="n">parsed</span>
+</span><span id="L-4766"><a href="#L-4766"><span class="linenos">4766</span></a>
+</span><span id="L-4767"><a href="#L-4767"><span class="linenos">4767</span></a> <span class="n">child</span> <span class="o">=</span> <span class="n">into</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">parsed</span><span class="p">)</span>
+</span><span id="L-4768"><a href="#L-4768"><span class="linenos">4768</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="p">(</span><span class="n">properties</span> <span class="ow">or</span> <span class="p">{})</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="L-4769"><a href="#L-4769"><span class="linenos">4769</span></a> <span class="n">child</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
+</span><span id="L-4770"><a href="#L-4770"><span class="linenos">4770</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">child</span><span class="p">)</span>
+</span><span id="L-4771"><a href="#L-4771"><span class="linenos">4771</span></a>
+</span><span id="L-4772"><a href="#L-4772"><span class="linenos">4772</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="L-4773"><a href="#L-4773"><span class="linenos">4773</span></a>
+</span><span id="L-4774"><a href="#L-4774"><span class="linenos">4774</span></a>
+</span><span id="L-4775"><a href="#L-4775"><span class="linenos">4775</span></a><span class="k">def</span> <span class="nf">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-4776"><a href="#L-4776"><span class="linenos">4776</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-4777"><a href="#L-4777"><span class="linenos">4777</span></a> <span class="n">instance</span><span class="p">,</span>
+</span><span id="L-4778"><a href="#L-4778"><span class="linenos">4778</span></a> <span class="n">arg</span><span class="p">,</span>
+</span><span id="L-4779"><a href="#L-4779"><span class="linenos">4779</span></a> <span class="n">append</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4780"><a href="#L-4780"><span class="linenos">4780</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4781"><a href="#L-4781"><span class="linenos">4781</span></a> <span class="n">prefix</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4782"><a href="#L-4782"><span class="linenos">4782</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4783"><a href="#L-4783"><span class="linenos">4783</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4784"><a href="#L-4784"><span class="linenos">4784</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4785"><a href="#L-4785"><span class="linenos">4785</span></a><span class="p">):</span>
+</span><span id="L-4786"><a href="#L-4786"><span class="linenos">4786</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
</span><span id="L-4787"><a href="#L-4787"><span class="linenos">4787</span></a>
-</span><span id="L-4788"><a href="#L-4788"><span class="linenos">4788</span></a><span class="k">def</span> <span class="nf">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="L-4789"><a href="#L-4789"><span class="linenos">4789</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="L-4790"><a href="#L-4790"><span class="linenos">4790</span></a> <span class="n">instance</span><span class="p">,</span>
-</span><span id="L-4791"><a href="#L-4791"><span class="linenos">4791</span></a> <span class="n">arg</span><span class="p">,</span>
-</span><span id="L-4792"><a href="#L-4792"><span class="linenos">4792</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4793"><a href="#L-4793"><span class="linenos">4793</span></a> <span class="n">append</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4794"><a href="#L-4794"><span class="linenos">4794</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-</span><span id="L-4795"><a href="#L-4795"><span class="linenos">4795</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4796"><a href="#L-4796"><span class="linenos">4796</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4797"><a href="#L-4797"><span class="linenos">4797</span></a><span class="p">):</span>
-</span><span id="L-4798"><a href="#L-4798"><span class="linenos">4798</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[</span><span class="n">exp</span> <span class="k">for</span> <span class="n">exp</span> <span class="ow">in</span> <span class="n">expressions</span> <span class="k">if</span> <span class="n">exp</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">exp</span> <span class="o">!=</span> <span class="s2">&quot;&quot;</span><span class="p">]</span>
-</span><span id="L-4799"><a href="#L-4799"><span class="linenos">4799</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="L-4800"><a href="#L-4800"><span class="linenos">4800</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span><span id="L-4801"><a href="#L-4801"><span class="linenos">4801</span></a>
-</span><span id="L-4802"><a href="#L-4802"><span class="linenos">4802</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-4788"><a href="#L-4788"><span class="linenos">4788</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[</span>
+</span><span id="L-4789"><a href="#L-4789"><span class="linenos">4789</span></a> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="L-4790"><a href="#L-4790"><span class="linenos">4790</span></a> <span class="n">sql_or_expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="L-4791"><a href="#L-4791"><span class="linenos">4791</span></a> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span>
+</span><span id="L-4792"><a href="#L-4792"><span class="linenos">4792</span></a> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
+</span><span id="L-4793"><a href="#L-4793"><span class="linenos">4793</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-4794"><a href="#L-4794"><span class="linenos">4794</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4795"><a href="#L-4795"><span class="linenos">4795</span></a> <span class="p">)</span>
+</span><span id="L-4796"><a href="#L-4796"><span class="linenos">4796</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span>
+</span><span id="L-4797"><a href="#L-4797"><span class="linenos">4797</span></a> <span class="k">if</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
+</span><span id="L-4798"><a href="#L-4798"><span class="linenos">4798</span></a> <span class="p">]</span>
+</span><span id="L-4799"><a href="#L-4799"><span class="linenos">4799</span></a>
+</span><span id="L-4800"><a href="#L-4800"><span class="linenos">4800</span></a> <span class="n">existing_expressions</span> <span class="o">=</span> <span class="n">inst</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="n">arg</span><span class="p">)</span>
+</span><span id="L-4801"><a href="#L-4801"><span class="linenos">4801</span></a> <span class="k">if</span> <span class="n">append</span> <span class="ow">and</span> <span class="n">existing_expressions</span><span class="p">:</span>
+</span><span id="L-4802"><a href="#L-4802"><span class="linenos">4802</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="n">existing_expressions</span> <span class="o">+</span> <span class="n">expressions</span>
</span><span id="L-4803"><a href="#L-4803"><span class="linenos">4803</span></a>
-</span><span id="L-4804"><a href="#L-4804"><span class="linenos">4804</span></a> <span class="n">existing</span> <span class="o">=</span> <span class="n">inst</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="n">arg</span><span class="p">)</span>
-</span><span id="L-4805"><a href="#L-4805"><span class="linenos">4805</span></a> <span class="k">if</span> <span class="n">append</span> <span class="ow">and</span> <span class="n">existing</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-4806"><a href="#L-4806"><span class="linenos">4806</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[</span><span class="n">existing</span><span class="o">.</span><span class="n">this</span> <span class="k">if</span> <span class="n">into</span> <span class="k">else</span> <span class="n">existing</span><span class="p">]</span> <span class="o">+</span> <span class="nb">list</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span>
+</span><span id="L-4804"><a href="#L-4804"><span class="linenos">4804</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">expressions</span><span class="p">)</span>
+</span><span id="L-4805"><a href="#L-4805"><span class="linenos">4805</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="L-4806"><a href="#L-4806"><span class="linenos">4806</span></a>
</span><span id="L-4807"><a href="#L-4807"><span class="linenos">4807</span></a>
-</span><span id="L-4808"><a href="#L-4808"><span class="linenos">4808</span></a> <span class="n">node</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4809"><a href="#L-4809"><span class="linenos">4809</span></a>
-</span><span id="L-4810"><a href="#L-4810"><span class="linenos">4810</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">into</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">node</span><span class="p">)</span> <span class="k">if</span> <span class="n">into</span> <span class="k">else</span> <span class="n">node</span><span class="p">)</span>
-</span><span id="L-4811"><a href="#L-4811"><span class="linenos">4811</span></a> <span class="k">return</span> <span class="n">inst</span>
-</span><span id="L-4812"><a href="#L-4812"><span class="linenos">4812</span></a>
-</span><span id="L-4813"><a href="#L-4813"><span class="linenos">4813</span></a>
-</span><span id="L-4814"><a href="#L-4814"><span class="linenos">4814</span></a><span class="k">def</span> <span class="nf">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="L-4815"><a href="#L-4815"><span class="linenos">4815</span></a> <span class="n">instance</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span>
-</span><span id="L-4816"><a href="#L-4816"><span class="linenos">4816</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-4817"><a href="#L-4817"><span class="linenos">4817</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-4818"><a href="#L-4818"><span class="linenos">4818</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4819"><a href="#L-4819"><span class="linenos">4819</span></a> <span class="n">append</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-4820"><a href="#L-4820"><span class="linenos">4820</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4821"><a href="#L-4821"><span class="linenos">4821</span></a> <span class="n">copy</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-4822"><a href="#L-4822"><span class="linenos">4822</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4823"><a href="#L-4823"><span class="linenos">4823</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
-</span><span id="L-4824"><a href="#L-4824"><span class="linenos">4824</span></a> <span class="n">alias_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">TableAlias</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4825"><a href="#L-4825"><span class="linenos">4825</span></a> <span class="n">as_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">as_</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4826"><a href="#L-4826"><span class="linenos">4826</span></a> <span class="n">cte</span> <span class="o">=</span> <span class="n">CTE</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">as_expression</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias_expression</span><span class="p">)</span>
-</span><span id="L-4827"><a href="#L-4827"><span class="linenos">4827</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="L-4828"><a href="#L-4828"><span class="linenos">4828</span></a> <span class="n">cte</span><span class="p">,</span>
-</span><span id="L-4829"><a href="#L-4829"><span class="linenos">4829</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
-</span><span id="L-4830"><a href="#L-4830"><span class="linenos">4830</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;with&quot;</span><span class="p">,</span>
-</span><span id="L-4831"><a href="#L-4831"><span class="linenos">4831</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="L-4832"><a href="#L-4832"><span class="linenos">4832</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-4833"><a href="#L-4833"><span class="linenos">4833</span></a> <span class="n">into</span><span class="o">=</span><span class="n">With</span><span class="p">,</span>
-</span><span id="L-4834"><a href="#L-4834"><span class="linenos">4834</span></a> <span class="n">properties</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;recursive&quot;</span><span class="p">:</span> <span class="n">recursive</span> <span class="ow">or</span> <span class="kc">False</span><span class="p">},</span>
-</span><span id="L-4835"><a href="#L-4835"><span class="linenos">4835</span></a> <span class="p">)</span>
-</span><span id="L-4836"><a href="#L-4836"><span class="linenos">4836</span></a>
-</span><span id="L-4837"><a href="#L-4837"><span class="linenos">4837</span></a>
-</span><span id="L-4838"><a href="#L-4838"><span class="linenos">4838</span></a><span class="k">def</span> <span class="nf">_combine</span><span class="p">(</span>
-</span><span id="L-4839"><a href="#L-4839"><span class="linenos">4839</span></a> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]],</span>
-</span><span id="L-4840"><a href="#L-4840"><span class="linenos">4840</span></a> <span class="n">operator</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">Connector</span><span class="p">],</span>
-</span><span id="L-4841"><a href="#L-4841"><span class="linenos">4841</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4842"><a href="#L-4842"><span class="linenos">4842</span></a> <span class="n">copy</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-4843"><a href="#L-4843"><span class="linenos">4843</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4844"><a href="#L-4844"><span class="linenos">4844</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-4845"><a href="#L-4845"><span class="linenos">4845</span></a> <span class="n">conditions</span> <span class="o">=</span> <span class="p">[</span>
-</span><span id="L-4846"><a href="#L-4846"><span class="linenos">4846</span></a> <span class="n">condition</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4847"><a href="#L-4847"><span class="linenos">4847</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span>
-</span><span id="L-4848"><a href="#L-4848"><span class="linenos">4848</span></a> <span class="k">if</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
-</span><span id="L-4849"><a href="#L-4849"><span class="linenos">4849</span></a> <span class="p">]</span>
-</span><span id="L-4850"><a href="#L-4850"><span class="linenos">4850</span></a>
-</span><span id="L-4851"><a href="#L-4851"><span class="linenos">4851</span></a> <span class="n">this</span><span class="p">,</span> <span class="o">*</span><span class="n">rest</span> <span class="o">=</span> <span class="n">conditions</span>
-</span><span id="L-4852"><a href="#L-4852"><span class="linenos">4852</span></a> <span class="k">if</span> <span class="n">rest</span><span class="p">:</span>
-</span><span id="L-4853"><a href="#L-4853"><span class="linenos">4853</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">_wrap</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connector</span><span class="p">)</span>
-</span><span id="L-4854"><a href="#L-4854"><span class="linenos">4854</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">rest</span><span class="p">:</span>
-</span><span id="L-4855"><a href="#L-4855"><span class="linenos">4855</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">operator</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">_wrap</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Connector</span><span class="p">))</span>
+</span><span id="L-4808"><a href="#L-4808"><span class="linenos">4808</span></a><span class="k">def</span> <span class="nf">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="L-4809"><a href="#L-4809"><span class="linenos">4809</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="L-4810"><a href="#L-4810"><span class="linenos">4810</span></a> <span class="n">instance</span><span class="p">,</span>
+</span><span id="L-4811"><a href="#L-4811"><span class="linenos">4811</span></a> <span class="n">arg</span><span class="p">,</span>
+</span><span id="L-4812"><a href="#L-4812"><span class="linenos">4812</span></a> <span class="n">into</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4813"><a href="#L-4813"><span class="linenos">4813</span></a> <span class="n">append</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4814"><a href="#L-4814"><span class="linenos">4814</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+</span><span id="L-4815"><a href="#L-4815"><span class="linenos">4815</span></a> <span class="n">dialect</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4816"><a href="#L-4816"><span class="linenos">4816</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4817"><a href="#L-4817"><span class="linenos">4817</span></a><span class="p">):</span>
+</span><span id="L-4818"><a href="#L-4818"><span class="linenos">4818</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[</span><span class="n">exp</span> <span class="k">for</span> <span class="n">exp</span> <span class="ow">in</span> <span class="n">expressions</span> <span class="k">if</span> <span class="n">exp</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">exp</span> <span class="o">!=</span> <span class="s2">&quot;&quot;</span><span class="p">]</span>
+</span><span id="L-4819"><a href="#L-4819"><span class="linenos">4819</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="L-4820"><a href="#L-4820"><span class="linenos">4820</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="L-4821"><a href="#L-4821"><span class="linenos">4821</span></a>
+</span><span id="L-4822"><a href="#L-4822"><span class="linenos">4822</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">instance</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-4823"><a href="#L-4823"><span class="linenos">4823</span></a>
+</span><span id="L-4824"><a href="#L-4824"><span class="linenos">4824</span></a> <span class="n">existing</span> <span class="o">=</span> <span class="n">inst</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="n">arg</span><span class="p">)</span>
+</span><span id="L-4825"><a href="#L-4825"><span class="linenos">4825</span></a> <span class="k">if</span> <span class="n">append</span> <span class="ow">and</span> <span class="n">existing</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-4826"><a href="#L-4826"><span class="linenos">4826</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[</span><span class="n">existing</span><span class="o">.</span><span class="n">this</span> <span class="k">if</span> <span class="n">into</span> <span class="k">else</span> <span class="n">existing</span><span class="p">]</span> <span class="o">+</span> <span class="nb">list</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span>
+</span><span id="L-4827"><a href="#L-4827"><span class="linenos">4827</span></a>
+</span><span id="L-4828"><a href="#L-4828"><span class="linenos">4828</span></a> <span class="n">node</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4829"><a href="#L-4829"><span class="linenos">4829</span></a>
+</span><span id="L-4830"><a href="#L-4830"><span class="linenos">4830</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">into</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">node</span><span class="p">)</span> <span class="k">if</span> <span class="n">into</span> <span class="k">else</span> <span class="n">node</span><span class="p">)</span>
+</span><span id="L-4831"><a href="#L-4831"><span class="linenos">4831</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="L-4832"><a href="#L-4832"><span class="linenos">4832</span></a>
+</span><span id="L-4833"><a href="#L-4833"><span class="linenos">4833</span></a>
+</span><span id="L-4834"><a href="#L-4834"><span class="linenos">4834</span></a><span class="k">def</span> <span class="nf">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="L-4835"><a href="#L-4835"><span class="linenos">4835</span></a> <span class="n">instance</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span>
+</span><span id="L-4836"><a href="#L-4836"><span class="linenos">4836</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-4837"><a href="#L-4837"><span class="linenos">4837</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-4838"><a href="#L-4838"><span class="linenos">4838</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4839"><a href="#L-4839"><span class="linenos">4839</span></a> <span class="n">append</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-4840"><a href="#L-4840"><span class="linenos">4840</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4841"><a href="#L-4841"><span class="linenos">4841</span></a> <span class="n">copy</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-4842"><a href="#L-4842"><span class="linenos">4842</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4843"><a href="#L-4843"><span class="linenos">4843</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
+</span><span id="L-4844"><a href="#L-4844"><span class="linenos">4844</span></a> <span class="n">alias_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">TableAlias</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4845"><a href="#L-4845"><span class="linenos">4845</span></a> <span class="n">as_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">as_</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4846"><a href="#L-4846"><span class="linenos">4846</span></a> <span class="n">cte</span> <span class="o">=</span> <span class="n">CTE</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">as_expression</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias_expression</span><span class="p">)</span>
+</span><span id="L-4847"><a href="#L-4847"><span class="linenos">4847</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="L-4848"><a href="#L-4848"><span class="linenos">4848</span></a> <span class="n">cte</span><span class="p">,</span>
+</span><span id="L-4849"><a href="#L-4849"><span class="linenos">4849</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+</span><span id="L-4850"><a href="#L-4850"><span class="linenos">4850</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;with&quot;</span><span class="p">,</span>
+</span><span id="L-4851"><a href="#L-4851"><span class="linenos">4851</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="L-4852"><a href="#L-4852"><span class="linenos">4852</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-4853"><a href="#L-4853"><span class="linenos">4853</span></a> <span class="n">into</span><span class="o">=</span><span class="n">With</span><span class="p">,</span>
+</span><span id="L-4854"><a href="#L-4854"><span class="linenos">4854</span></a> <span class="n">properties</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;recursive&quot;</span><span class="p">:</span> <span class="n">recursive</span> <span class="ow">or</span> <span class="kc">False</span><span class="p">},</span>
+</span><span id="L-4855"><a href="#L-4855"><span class="linenos">4855</span></a> <span class="p">)</span>
</span><span id="L-4856"><a href="#L-4856"><span class="linenos">4856</span></a>
-</span><span id="L-4857"><a href="#L-4857"><span class="linenos">4857</span></a> <span class="k">return</span> <span class="n">this</span>
-</span><span id="L-4858"><a href="#L-4858"><span class="linenos">4858</span></a>
-</span><span id="L-4859"><a href="#L-4859"><span class="linenos">4859</span></a>
-</span><span id="L-4860"><a href="#L-4860"><span class="linenos">4860</span></a><span class="k">def</span> <span class="nf">_wrap</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">kind</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">-&gt;</span> <span class="n">E</span> <span class="o">|</span> <span class="n">Paren</span><span class="p">:</span>
-</span><span id="L-4861"><a href="#L-4861"><span class="linenos">4861</span></a> <span class="k">return</span> <span class="n">Paren</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span> <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">kind</span><span class="p">)</span> <span class="k">else</span> <span class="n">expression</span>
-</span><span id="L-4862"><a href="#L-4862"><span class="linenos">4862</span></a>
-</span><span id="L-4863"><a href="#L-4863"><span class="linenos">4863</span></a>
-</span><span id="L-4864"><a href="#L-4864"><span class="linenos">4864</span></a><span class="k">def</span> <span class="nf">union</span><span class="p">(</span>
-</span><span id="L-4865"><a href="#L-4865"><span class="linenos">4865</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
-</span><span id="L-4866"><a href="#L-4866"><span class="linenos">4866</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
-</span><span id="L-4867"><a href="#L-4867"><span class="linenos">4867</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-4868"><a href="#L-4868"><span class="linenos">4868</span></a><span class="sd"> Initializes a syntax tree from one UNION expression.</span>
-</span><span id="L-4869"><a href="#L-4869"><span class="linenos">4869</span></a>
-</span><span id="L-4870"><a href="#L-4870"><span class="linenos">4870</span></a><span class="sd"> Example:</span>
-</span><span id="L-4871"><a href="#L-4871"><span class="linenos">4871</span></a><span class="sd"> &gt;&gt;&gt; union(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
-</span><span id="L-4872"><a href="#L-4872"><span class="linenos">4872</span></a><span class="sd"> &#39;SELECT * FROM foo UNION SELECT * FROM bla&#39;</span>
-</span><span id="L-4873"><a href="#L-4873"><span class="linenos">4873</span></a>
-</span><span id="L-4874"><a href="#L-4874"><span class="linenos">4874</span></a><span class="sd"> Args:</span>
-</span><span id="L-4875"><a href="#L-4875"><span class="linenos">4875</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
-</span><span id="L-4876"><a href="#L-4876"><span class="linenos">4876</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-4877"><a href="#L-4877"><span class="linenos">4877</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
-</span><span id="L-4878"><a href="#L-4878"><span class="linenos">4878</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-4879"><a href="#L-4879"><span class="linenos">4879</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
-</span><span id="L-4880"><a href="#L-4880"><span class="linenos">4880</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-4881"><a href="#L-4881"><span class="linenos">4881</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4857"><a href="#L-4857"><span class="linenos">4857</span></a>
+</span><span id="L-4858"><a href="#L-4858"><span class="linenos">4858</span></a><span class="k">def</span> <span class="nf">_combine</span><span class="p">(</span>
+</span><span id="L-4859"><a href="#L-4859"><span class="linenos">4859</span></a> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]],</span>
+</span><span id="L-4860"><a href="#L-4860"><span class="linenos">4860</span></a> <span class="n">operator</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">Connector</span><span class="p">],</span>
+</span><span id="L-4861"><a href="#L-4861"><span class="linenos">4861</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-4862"><a href="#L-4862"><span class="linenos">4862</span></a> <span class="n">copy</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-4863"><a href="#L-4863"><span class="linenos">4863</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-4864"><a href="#L-4864"><span class="linenos">4864</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-4865"><a href="#L-4865"><span class="linenos">4865</span></a> <span class="n">conditions</span> <span class="o">=</span> <span class="p">[</span>
+</span><span id="L-4866"><a href="#L-4866"><span class="linenos">4866</span></a> <span class="n">condition</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4867"><a href="#L-4867"><span class="linenos">4867</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span>
+</span><span id="L-4868"><a href="#L-4868"><span class="linenos">4868</span></a> <span class="k">if</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
+</span><span id="L-4869"><a href="#L-4869"><span class="linenos">4869</span></a> <span class="p">]</span>
+</span><span id="L-4870"><a href="#L-4870"><span class="linenos">4870</span></a>
+</span><span id="L-4871"><a href="#L-4871"><span class="linenos">4871</span></a> <span class="n">this</span><span class="p">,</span> <span class="o">*</span><span class="n">rest</span> <span class="o">=</span> <span class="n">conditions</span>
+</span><span id="L-4872"><a href="#L-4872"><span class="linenos">4872</span></a> <span class="k">if</span> <span class="n">rest</span><span class="p">:</span>
+</span><span id="L-4873"><a href="#L-4873"><span class="linenos">4873</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">_wrap</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connector</span><span class="p">)</span>
+</span><span id="L-4874"><a href="#L-4874"><span class="linenos">4874</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">rest</span><span class="p">:</span>
+</span><span id="L-4875"><a href="#L-4875"><span class="linenos">4875</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">operator</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">_wrap</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Connector</span><span class="p">))</span>
+</span><span id="L-4876"><a href="#L-4876"><span class="linenos">4876</span></a>
+</span><span id="L-4877"><a href="#L-4877"><span class="linenos">4877</span></a> <span class="k">return</span> <span class="n">this</span>
+</span><span id="L-4878"><a href="#L-4878"><span class="linenos">4878</span></a>
+</span><span id="L-4879"><a href="#L-4879"><span class="linenos">4879</span></a>
+</span><span id="L-4880"><a href="#L-4880"><span class="linenos">4880</span></a><span class="k">def</span> <span class="nf">_wrap</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">kind</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">-&gt;</span> <span class="n">E</span> <span class="o">|</span> <span class="n">Paren</span><span class="p">:</span>
+</span><span id="L-4881"><a href="#L-4881"><span class="linenos">4881</span></a> <span class="k">return</span> <span class="n">Paren</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span> <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">kind</span><span class="p">)</span> <span class="k">else</span> <span class="n">expression</span>
</span><span id="L-4882"><a href="#L-4882"><span class="linenos">4882</span></a>
-</span><span id="L-4883"><a href="#L-4883"><span class="linenos">4883</span></a><span class="sd"> Returns:</span>
-</span><span id="L-4884"><a href="#L-4884"><span class="linenos">4884</span></a><span class="sd"> The new Union instance.</span>
-</span><span id="L-4885"><a href="#L-4885"><span class="linenos">4885</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-4886"><a href="#L-4886"><span class="linenos">4886</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4887"><a href="#L-4887"><span class="linenos">4887</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4888"><a href="#L-4888"><span class="linenos">4888</span></a>
-</span><span id="L-4889"><a href="#L-4889"><span class="linenos">4889</span></a> <span class="k">return</span> <span class="n">Union</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
-</span><span id="L-4890"><a href="#L-4890"><span class="linenos">4890</span></a>
-</span><span id="L-4891"><a href="#L-4891"><span class="linenos">4891</span></a>
-</span><span id="L-4892"><a href="#L-4892"><span class="linenos">4892</span></a><span class="k">def</span> <span class="nf">intersect</span><span class="p">(</span>
-</span><span id="L-4893"><a href="#L-4893"><span class="linenos">4893</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
-</span><span id="L-4894"><a href="#L-4894"><span class="linenos">4894</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Intersect</span><span class="p">:</span>
-</span><span id="L-4895"><a href="#L-4895"><span class="linenos">4895</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-4896"><a href="#L-4896"><span class="linenos">4896</span></a><span class="sd"> Initializes a syntax tree from one INTERSECT expression.</span>
-</span><span id="L-4897"><a href="#L-4897"><span class="linenos">4897</span></a>
-</span><span id="L-4898"><a href="#L-4898"><span class="linenos">4898</span></a><span class="sd"> Example:</span>
-</span><span id="L-4899"><a href="#L-4899"><span class="linenos">4899</span></a><span class="sd"> &gt;&gt;&gt; intersect(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
-</span><span id="L-4900"><a href="#L-4900"><span class="linenos">4900</span></a><span class="sd"> &#39;SELECT * FROM foo INTERSECT SELECT * FROM bla&#39;</span>
-</span><span id="L-4901"><a href="#L-4901"><span class="linenos">4901</span></a>
-</span><span id="L-4902"><a href="#L-4902"><span class="linenos">4902</span></a><span class="sd"> Args:</span>
-</span><span id="L-4903"><a href="#L-4903"><span class="linenos">4903</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
-</span><span id="L-4904"><a href="#L-4904"><span class="linenos">4904</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-4905"><a href="#L-4905"><span class="linenos">4905</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
-</span><span id="L-4906"><a href="#L-4906"><span class="linenos">4906</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-4907"><a href="#L-4907"><span class="linenos">4907</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
-</span><span id="L-4908"><a href="#L-4908"><span class="linenos">4908</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-4909"><a href="#L-4909"><span class="linenos">4909</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4883"><a href="#L-4883"><span class="linenos">4883</span></a>
+</span><span id="L-4884"><a href="#L-4884"><span class="linenos">4884</span></a><span class="k">def</span> <span class="nf">union</span><span class="p">(</span>
+</span><span id="L-4885"><a href="#L-4885"><span class="linenos">4885</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
+</span><span id="L-4886"><a href="#L-4886"><span class="linenos">4886</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
+</span><span id="L-4887"><a href="#L-4887"><span class="linenos">4887</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-4888"><a href="#L-4888"><span class="linenos">4888</span></a><span class="sd"> Initializes a syntax tree from one UNION expression.</span>
+</span><span id="L-4889"><a href="#L-4889"><span class="linenos">4889</span></a>
+</span><span id="L-4890"><a href="#L-4890"><span class="linenos">4890</span></a><span class="sd"> Example:</span>
+</span><span id="L-4891"><a href="#L-4891"><span class="linenos">4891</span></a><span class="sd"> &gt;&gt;&gt; union(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
+</span><span id="L-4892"><a href="#L-4892"><span class="linenos">4892</span></a><span class="sd"> &#39;SELECT * FROM foo UNION SELECT * FROM bla&#39;</span>
+</span><span id="L-4893"><a href="#L-4893"><span class="linenos">4893</span></a>
+</span><span id="L-4894"><a href="#L-4894"><span class="linenos">4894</span></a><span class="sd"> Args:</span>
+</span><span id="L-4895"><a href="#L-4895"><span class="linenos">4895</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
+</span><span id="L-4896"><a href="#L-4896"><span class="linenos">4896</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-4897"><a href="#L-4897"><span class="linenos">4897</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
+</span><span id="L-4898"><a href="#L-4898"><span class="linenos">4898</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-4899"><a href="#L-4899"><span class="linenos">4899</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
+</span><span id="L-4900"><a href="#L-4900"><span class="linenos">4900</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-4901"><a href="#L-4901"><span class="linenos">4901</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4902"><a href="#L-4902"><span class="linenos">4902</span></a>
+</span><span id="L-4903"><a href="#L-4903"><span class="linenos">4903</span></a><span class="sd"> Returns:</span>
+</span><span id="L-4904"><a href="#L-4904"><span class="linenos">4904</span></a><span class="sd"> The new Union instance.</span>
+</span><span id="L-4905"><a href="#L-4905"><span class="linenos">4905</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-4906"><a href="#L-4906"><span class="linenos">4906</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4907"><a href="#L-4907"><span class="linenos">4907</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4908"><a href="#L-4908"><span class="linenos">4908</span></a>
+</span><span id="L-4909"><a href="#L-4909"><span class="linenos">4909</span></a> <span class="k">return</span> <span class="n">Union</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
</span><span id="L-4910"><a href="#L-4910"><span class="linenos">4910</span></a>
-</span><span id="L-4911"><a href="#L-4911"><span class="linenos">4911</span></a><span class="sd"> Returns:</span>
-</span><span id="L-4912"><a href="#L-4912"><span class="linenos">4912</span></a><span class="sd"> The new Intersect instance.</span>
-</span><span id="L-4913"><a href="#L-4913"><span class="linenos">4913</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-4914"><a href="#L-4914"><span class="linenos">4914</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4915"><a href="#L-4915"><span class="linenos">4915</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4916"><a href="#L-4916"><span class="linenos">4916</span></a>
-</span><span id="L-4917"><a href="#L-4917"><span class="linenos">4917</span></a> <span class="k">return</span> <span class="n">Intersect</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
-</span><span id="L-4918"><a href="#L-4918"><span class="linenos">4918</span></a>
-</span><span id="L-4919"><a href="#L-4919"><span class="linenos">4919</span></a>
-</span><span id="L-4920"><a href="#L-4920"><span class="linenos">4920</span></a><span class="k">def</span> <span class="nf">except_</span><span class="p">(</span>
-</span><span id="L-4921"><a href="#L-4921"><span class="linenos">4921</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
-</span><span id="L-4922"><a href="#L-4922"><span class="linenos">4922</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Except</span><span class="p">:</span>
-</span><span id="L-4923"><a href="#L-4923"><span class="linenos">4923</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-4924"><a href="#L-4924"><span class="linenos">4924</span></a><span class="sd"> Initializes a syntax tree from one EXCEPT expression.</span>
-</span><span id="L-4925"><a href="#L-4925"><span class="linenos">4925</span></a>
-</span><span id="L-4926"><a href="#L-4926"><span class="linenos">4926</span></a><span class="sd"> Example:</span>
-</span><span id="L-4927"><a href="#L-4927"><span class="linenos">4927</span></a><span class="sd"> &gt;&gt;&gt; except_(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
-</span><span id="L-4928"><a href="#L-4928"><span class="linenos">4928</span></a><span class="sd"> &#39;SELECT * FROM foo EXCEPT SELECT * FROM bla&#39;</span>
-</span><span id="L-4929"><a href="#L-4929"><span class="linenos">4929</span></a>
-</span><span id="L-4930"><a href="#L-4930"><span class="linenos">4930</span></a><span class="sd"> Args:</span>
-</span><span id="L-4931"><a href="#L-4931"><span class="linenos">4931</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
-</span><span id="L-4932"><a href="#L-4932"><span class="linenos">4932</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-4933"><a href="#L-4933"><span class="linenos">4933</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
-</span><span id="L-4934"><a href="#L-4934"><span class="linenos">4934</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="L-4935"><a href="#L-4935"><span class="linenos">4935</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
-</span><span id="L-4936"><a href="#L-4936"><span class="linenos">4936</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-4937"><a href="#L-4937"><span class="linenos">4937</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4911"><a href="#L-4911"><span class="linenos">4911</span></a>
+</span><span id="L-4912"><a href="#L-4912"><span class="linenos">4912</span></a><span class="k">def</span> <span class="nf">intersect</span><span class="p">(</span>
+</span><span id="L-4913"><a href="#L-4913"><span class="linenos">4913</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
+</span><span id="L-4914"><a href="#L-4914"><span class="linenos">4914</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Intersect</span><span class="p">:</span>
+</span><span id="L-4915"><a href="#L-4915"><span class="linenos">4915</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-4916"><a href="#L-4916"><span class="linenos">4916</span></a><span class="sd"> Initializes a syntax tree from one INTERSECT expression.</span>
+</span><span id="L-4917"><a href="#L-4917"><span class="linenos">4917</span></a>
+</span><span id="L-4918"><a href="#L-4918"><span class="linenos">4918</span></a><span class="sd"> Example:</span>
+</span><span id="L-4919"><a href="#L-4919"><span class="linenos">4919</span></a><span class="sd"> &gt;&gt;&gt; intersect(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
+</span><span id="L-4920"><a href="#L-4920"><span class="linenos">4920</span></a><span class="sd"> &#39;SELECT * FROM foo INTERSECT SELECT * FROM bla&#39;</span>
+</span><span id="L-4921"><a href="#L-4921"><span class="linenos">4921</span></a>
+</span><span id="L-4922"><a href="#L-4922"><span class="linenos">4922</span></a><span class="sd"> Args:</span>
+</span><span id="L-4923"><a href="#L-4923"><span class="linenos">4923</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
+</span><span id="L-4924"><a href="#L-4924"><span class="linenos">4924</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-4925"><a href="#L-4925"><span class="linenos">4925</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
+</span><span id="L-4926"><a href="#L-4926"><span class="linenos">4926</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-4927"><a href="#L-4927"><span class="linenos">4927</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
+</span><span id="L-4928"><a href="#L-4928"><span class="linenos">4928</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-4929"><a href="#L-4929"><span class="linenos">4929</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4930"><a href="#L-4930"><span class="linenos">4930</span></a>
+</span><span id="L-4931"><a href="#L-4931"><span class="linenos">4931</span></a><span class="sd"> Returns:</span>
+</span><span id="L-4932"><a href="#L-4932"><span class="linenos">4932</span></a><span class="sd"> The new Intersect instance.</span>
+</span><span id="L-4933"><a href="#L-4933"><span class="linenos">4933</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-4934"><a href="#L-4934"><span class="linenos">4934</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4935"><a href="#L-4935"><span class="linenos">4935</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4936"><a href="#L-4936"><span class="linenos">4936</span></a>
+</span><span id="L-4937"><a href="#L-4937"><span class="linenos">4937</span></a> <span class="k">return</span> <span class="n">Intersect</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
</span><span id="L-4938"><a href="#L-4938"><span class="linenos">4938</span></a>
-</span><span id="L-4939"><a href="#L-4939"><span class="linenos">4939</span></a><span class="sd"> Returns:</span>
-</span><span id="L-4940"><a href="#L-4940"><span class="linenos">4940</span></a><span class="sd"> The new Except instance.</span>
-</span><span id="L-4941"><a href="#L-4941"><span class="linenos">4941</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-4942"><a href="#L-4942"><span class="linenos">4942</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4943"><a href="#L-4943"><span class="linenos">4943</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4944"><a href="#L-4944"><span class="linenos">4944</span></a>
-</span><span id="L-4945"><a href="#L-4945"><span class="linenos">4945</span></a> <span class="k">return</span> <span class="n">Except</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
-</span><span id="L-4946"><a href="#L-4946"><span class="linenos">4946</span></a>
-</span><span id="L-4947"><a href="#L-4947"><span class="linenos">4947</span></a>
-</span><span id="L-4948"><a href="#L-4948"><span class="linenos">4948</span></a><span class="k">def</span> <span class="nf">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-4949"><a href="#L-4949"><span class="linenos">4949</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-4950"><a href="#L-4950"><span class="linenos">4950</span></a><span class="sd"> Initializes a syntax tree from one or multiple SELECT expressions.</span>
-</span><span id="L-4951"><a href="#L-4951"><span class="linenos">4951</span></a>
-</span><span id="L-4952"><a href="#L-4952"><span class="linenos">4952</span></a><span class="sd"> Example:</span>
-</span><span id="L-4953"><a href="#L-4953"><span class="linenos">4953</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;col1&quot;, &quot;col2&quot;).from_(&quot;tbl&quot;).sql()</span>
-</span><span id="L-4954"><a href="#L-4954"><span class="linenos">4954</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
-</span><span id="L-4955"><a href="#L-4955"><span class="linenos">4955</span></a>
-</span><span id="L-4956"><a href="#L-4956"><span class="linenos">4956</span></a><span class="sd"> Args:</span>
-</span><span id="L-4957"><a href="#L-4957"><span class="linenos">4957</span></a><span class="sd"> *expressions: the SQL code string to parse as the expressions of a</span>
-</span><span id="L-4958"><a href="#L-4958"><span class="linenos">4958</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-4959"><a href="#L-4959"><span class="linenos">4959</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
-</span><span id="L-4960"><a href="#L-4960"><span class="linenos">4960</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="L-4961"><a href="#L-4961"><span class="linenos">4961</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="L-4962"><a href="#L-4962"><span class="linenos">4962</span></a><span class="sd"> that an input expression is a SQL string).</span>
-</span><span id="L-4963"><a href="#L-4963"><span class="linenos">4963</span></a>
-</span><span id="L-4964"><a href="#L-4964"><span class="linenos">4964</span></a><span class="sd"> Returns:</span>
-</span><span id="L-4965"><a href="#L-4965"><span class="linenos">4965</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
-</span><span id="L-4966"><a href="#L-4966"><span class="linenos">4966</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-4967"><a href="#L-4967"><span class="linenos">4967</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4968"><a href="#L-4968"><span class="linenos">4968</span></a>
-</span><span id="L-4969"><a href="#L-4969"><span class="linenos">4969</span></a>
-</span><span id="L-4970"><a href="#L-4970"><span class="linenos">4970</span></a><span class="k">def</span> <span class="nf">from_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-4971"><a href="#L-4971"><span class="linenos">4971</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-4972"><a href="#L-4972"><span class="linenos">4972</span></a><span class="sd"> Initializes a syntax tree from a FROM expression.</span>
-</span><span id="L-4973"><a href="#L-4973"><span class="linenos">4973</span></a>
-</span><span id="L-4974"><a href="#L-4974"><span class="linenos">4974</span></a><span class="sd"> Example:</span>
-</span><span id="L-4975"><a href="#L-4975"><span class="linenos">4975</span></a><span class="sd"> &gt;&gt;&gt; from_(&quot;tbl&quot;).select(&quot;col1&quot;, &quot;col2&quot;).sql()</span>
-</span><span id="L-4976"><a href="#L-4976"><span class="linenos">4976</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
-</span><span id="L-4977"><a href="#L-4977"><span class="linenos">4977</span></a>
-</span><span id="L-4978"><a href="#L-4978"><span class="linenos">4978</span></a><span class="sd"> Args:</span>
-</span><span id="L-4979"><a href="#L-4979"><span class="linenos">4979</span></a><span class="sd"> *expression: the SQL code string to parse as the FROM expressions of a</span>
-</span><span id="L-4980"><a href="#L-4980"><span class="linenos">4980</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-4981"><a href="#L-4981"><span class="linenos">4981</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
-</span><span id="L-4982"><a href="#L-4982"><span class="linenos">4982</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="L-4983"><a href="#L-4983"><span class="linenos">4983</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="L-4984"><a href="#L-4984"><span class="linenos">4984</span></a><span class="sd"> that the input expression is a SQL string).</span>
-</span><span id="L-4985"><a href="#L-4985"><span class="linenos">4985</span></a>
-</span><span id="L-4986"><a href="#L-4986"><span class="linenos">4986</span></a><span class="sd"> Returns:</span>
-</span><span id="L-4987"><a href="#L-4987"><span class="linenos">4987</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
-</span><span id="L-4988"><a href="#L-4988"><span class="linenos">4988</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-4989"><a href="#L-4989"><span class="linenos">4989</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-4990"><a href="#L-4990"><span class="linenos">4990</span></a>
-</span><span id="L-4991"><a href="#L-4991"><span class="linenos">4991</span></a>
-</span><span id="L-4992"><a href="#L-4992"><span class="linenos">4992</span></a><span class="k">def</span> <span class="nf">update</span><span class="p">(</span>
-</span><span id="L-4993"><a href="#L-4993"><span class="linenos">4993</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span>
-</span><span id="L-4994"><a href="#L-4994"><span class="linenos">4994</span></a> <span class="n">properties</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span>
-</span><span id="L-4995"><a href="#L-4995"><span class="linenos">4995</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4996"><a href="#L-4996"><span class="linenos">4996</span></a> <span class="n">from_</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4997"><a href="#L-4997"><span class="linenos">4997</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-4998"><a href="#L-4998"><span class="linenos">4998</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-4999"><a href="#L-4999"><span class="linenos">4999</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Update</span><span class="p">:</span>
-</span><span id="L-5000"><a href="#L-5000"><span class="linenos">5000</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5001"><a href="#L-5001"><span class="linenos">5001</span></a><span class="sd"> Creates an update statement.</span>
-</span><span id="L-5002"><a href="#L-5002"><span class="linenos">5002</span></a>
-</span><span id="L-5003"><a href="#L-5003"><span class="linenos">5003</span></a><span class="sd"> Example:</span>
-</span><span id="L-5004"><a href="#L-5004"><span class="linenos">5004</span></a><span class="sd"> &gt;&gt;&gt; update(&quot;my_table&quot;, {&quot;x&quot;: 1, &quot;y&quot;: &quot;2&quot;, &quot;z&quot;: None}, from_=&quot;baz&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
-</span><span id="L-5005"><a href="#L-5005"><span class="linenos">5005</span></a><span class="sd"> &quot;UPDATE my_table SET x = 1, y = &#39;2&#39;, z = NULL FROM baz WHERE id &gt; 1&quot;</span>
-</span><span id="L-5006"><a href="#L-5006"><span class="linenos">5006</span></a>
-</span><span id="L-5007"><a href="#L-5007"><span class="linenos">5007</span></a><span class="sd"> Args:</span>
-</span><span id="L-5008"><a href="#L-5008"><span class="linenos">5008</span></a><span class="sd"> *properties: dictionary of properties to set which are</span>
-</span><span id="L-5009"><a href="#L-5009"><span class="linenos">5009</span></a><span class="sd"> auto converted to sql objects eg None -&gt; NULL</span>
-</span><span id="L-5010"><a href="#L-5010"><span class="linenos">5010</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
-</span><span id="L-5011"><a href="#L-5011"><span class="linenos">5011</span></a><span class="sd"> from_: sql statement parsed into a FROM statement</span>
-</span><span id="L-5012"><a href="#L-5012"><span class="linenos">5012</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-5013"><a href="#L-5013"><span class="linenos">5013</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="L-5014"><a href="#L-5014"><span class="linenos">5014</span></a>
-</span><span id="L-5015"><a href="#L-5015"><span class="linenos">5015</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5016"><a href="#L-5016"><span class="linenos">5016</span></a><span class="sd"> Update: the syntax tree for the UPDATE statement.</span>
-</span><span id="L-5017"><a href="#L-5017"><span class="linenos">5017</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5018"><a href="#L-5018"><span class="linenos">5018</span></a> <span class="n">update_expr</span> <span class="o">=</span> <span class="n">Update</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="L-5019"><a href="#L-5019"><span class="linenos">5019</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="L-5020"><a href="#L-5020"><span class="linenos">5020</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="L-5021"><a href="#L-5021"><span class="linenos">5021</span></a> <span class="p">[</span>
-</span><span id="L-5022"><a href="#L-5022"><span class="linenos">5022</span></a> <span class="n">EQ</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">k</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="o">**</span><span class="n">opts</span><span class="p">),</span> <span class="n">expression</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">))</span>
-</span><span id="L-5023"><a href="#L-5023"><span class="linenos">5023</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">properties</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
-</span><span id="L-5024"><a href="#L-5024"><span class="linenos">5024</span></a> <span class="p">],</span>
-</span><span id="L-5025"><a href="#L-5025"><span class="linenos">5025</span></a> <span class="p">)</span>
-</span><span id="L-5026"><a href="#L-5026"><span class="linenos">5026</span></a> <span class="k">if</span> <span class="n">from_</span><span class="p">:</span>
-</span><span id="L-5027"><a href="#L-5027"><span class="linenos">5027</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="L-5028"><a href="#L-5028"><span class="linenos">5028</span></a> <span class="s2">&quot;from&quot;</span><span class="p">,</span>
-</span><span id="L-5029"><a href="#L-5029"><span class="linenos">5029</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">from_</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">From</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">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="L-5030"><a href="#L-5030"><span class="linenos">5030</span></a> <span class="p">)</span>
-</span><span id="L-5031"><a href="#L-5031"><span class="linenos">5031</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">Condition</span><span class="p">):</span>
-</span><span id="L-5032"><a href="#L-5032"><span class="linenos">5032</span></a> <span class="n">where</span> <span class="o">=</span> <span class="n">Where</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">where</span><span class="p">)</span>
-</span><span id="L-5033"><a href="#L-5033"><span class="linenos">5033</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
-</span><span id="L-5034"><a href="#L-5034"><span class="linenos">5034</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="L-5035"><a href="#L-5035"><span class="linenos">5035</span></a> <span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="L-5036"><a href="#L-5036"><span class="linenos">5036</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Where</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">prefix</span><span class="o">=</span><span class="s2">&quot;WHERE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="L-5037"><a href="#L-5037"><span class="linenos">5037</span></a> <span class="p">)</span>
-</span><span id="L-5038"><a href="#L-5038"><span class="linenos">5038</span></a> <span class="k">return</span> <span class="n">update_expr</span>
-</span><span id="L-5039"><a href="#L-5039"><span class="linenos">5039</span></a>
-</span><span id="L-5040"><a href="#L-5040"><span class="linenos">5040</span></a>
-</span><span id="L-5041"><a href="#L-5041"><span class="linenos">5041</span></a><span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
-</span><span id="L-5042"><a href="#L-5042"><span class="linenos">5042</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-5043"><a href="#L-5043"><span class="linenos">5043</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5044"><a href="#L-5044"><span class="linenos">5044</span></a> <span class="n">returning</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5045"><a href="#L-5045"><span class="linenos">5045</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5046"><a href="#L-5046"><span class="linenos">5046</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5047"><a href="#L-5047"><span class="linenos">5047</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="L-5048"><a href="#L-5048"><span class="linenos">5048</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5049"><a href="#L-5049"><span class="linenos">5049</span></a><span class="sd"> Builds a delete statement.</span>
-</span><span id="L-5050"><a href="#L-5050"><span class="linenos">5050</span></a>
-</span><span id="L-5051"><a href="#L-5051"><span class="linenos">5051</span></a><span class="sd"> Example:</span>
-</span><span id="L-5052"><a href="#L-5052"><span class="linenos">5052</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;my_table&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
-</span><span id="L-5053"><a href="#L-5053"><span class="linenos">5053</span></a><span class="sd"> &#39;DELETE FROM my_table WHERE id &gt; 1&#39;</span>
-</span><span id="L-5054"><a href="#L-5054"><span class="linenos">5054</span></a>
-</span><span id="L-5055"><a href="#L-5055"><span class="linenos">5055</span></a><span class="sd"> Args:</span>
-</span><span id="L-5056"><a href="#L-5056"><span class="linenos">5056</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
-</span><span id="L-5057"><a href="#L-5057"><span class="linenos">5057</span></a><span class="sd"> returning: sql conditional parsed into a RETURNING statement</span>
-</span><span id="L-5058"><a href="#L-5058"><span class="linenos">5058</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-5059"><a href="#L-5059"><span class="linenos">5059</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4939"><a href="#L-4939"><span class="linenos">4939</span></a>
+</span><span id="L-4940"><a href="#L-4940"><span class="linenos">4940</span></a><span class="k">def</span> <span class="nf">except_</span><span class="p">(</span>
+</span><span id="L-4941"><a href="#L-4941"><span class="linenos">4941</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
+</span><span id="L-4942"><a href="#L-4942"><span class="linenos">4942</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Except</span><span class="p">:</span>
+</span><span id="L-4943"><a href="#L-4943"><span class="linenos">4943</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-4944"><a href="#L-4944"><span class="linenos">4944</span></a><span class="sd"> Initializes a syntax tree from one EXCEPT expression.</span>
+</span><span id="L-4945"><a href="#L-4945"><span class="linenos">4945</span></a>
+</span><span id="L-4946"><a href="#L-4946"><span class="linenos">4946</span></a><span class="sd"> Example:</span>
+</span><span id="L-4947"><a href="#L-4947"><span class="linenos">4947</span></a><span class="sd"> &gt;&gt;&gt; except_(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
+</span><span id="L-4948"><a href="#L-4948"><span class="linenos">4948</span></a><span class="sd"> &#39;SELECT * FROM foo EXCEPT SELECT * FROM bla&#39;</span>
+</span><span id="L-4949"><a href="#L-4949"><span class="linenos">4949</span></a>
+</span><span id="L-4950"><a href="#L-4950"><span class="linenos">4950</span></a><span class="sd"> Args:</span>
+</span><span id="L-4951"><a href="#L-4951"><span class="linenos">4951</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
+</span><span id="L-4952"><a href="#L-4952"><span class="linenos">4952</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-4953"><a href="#L-4953"><span class="linenos">4953</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
+</span><span id="L-4954"><a href="#L-4954"><span class="linenos">4954</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="L-4955"><a href="#L-4955"><span class="linenos">4955</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
+</span><span id="L-4956"><a href="#L-4956"><span class="linenos">4956</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-4957"><a href="#L-4957"><span class="linenos">4957</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="L-4958"><a href="#L-4958"><span class="linenos">4958</span></a>
+</span><span id="L-4959"><a href="#L-4959"><span class="linenos">4959</span></a><span class="sd"> Returns:</span>
+</span><span id="L-4960"><a href="#L-4960"><span class="linenos">4960</span></a><span class="sd"> The new Except instance.</span>
+</span><span id="L-4961"><a href="#L-4961"><span class="linenos">4961</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-4962"><a href="#L-4962"><span class="linenos">4962</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4963"><a href="#L-4963"><span class="linenos">4963</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4964"><a href="#L-4964"><span class="linenos">4964</span></a>
+</span><span id="L-4965"><a href="#L-4965"><span class="linenos">4965</span></a> <span class="k">return</span> <span class="n">Except</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
+</span><span id="L-4966"><a href="#L-4966"><span class="linenos">4966</span></a>
+</span><span id="L-4967"><a href="#L-4967"><span class="linenos">4967</span></a>
+</span><span id="L-4968"><a href="#L-4968"><span class="linenos">4968</span></a><span class="k">def</span> <span class="nf">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-4969"><a href="#L-4969"><span class="linenos">4969</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-4970"><a href="#L-4970"><span class="linenos">4970</span></a><span class="sd"> Initializes a syntax tree from one or multiple SELECT expressions.</span>
+</span><span id="L-4971"><a href="#L-4971"><span class="linenos">4971</span></a>
+</span><span id="L-4972"><a href="#L-4972"><span class="linenos">4972</span></a><span class="sd"> Example:</span>
+</span><span id="L-4973"><a href="#L-4973"><span class="linenos">4973</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;col1&quot;, &quot;col2&quot;).from_(&quot;tbl&quot;).sql()</span>
+</span><span id="L-4974"><a href="#L-4974"><span class="linenos">4974</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
+</span><span id="L-4975"><a href="#L-4975"><span class="linenos">4975</span></a>
+</span><span id="L-4976"><a href="#L-4976"><span class="linenos">4976</span></a><span class="sd"> Args:</span>
+</span><span id="L-4977"><a href="#L-4977"><span class="linenos">4977</span></a><span class="sd"> *expressions: the SQL code string to parse as the expressions of a</span>
+</span><span id="L-4978"><a href="#L-4978"><span class="linenos">4978</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-4979"><a href="#L-4979"><span class="linenos">4979</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
+</span><span id="L-4980"><a href="#L-4980"><span class="linenos">4980</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="L-4981"><a href="#L-4981"><span class="linenos">4981</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="L-4982"><a href="#L-4982"><span class="linenos">4982</span></a><span class="sd"> that an input expression is a SQL string).</span>
+</span><span id="L-4983"><a href="#L-4983"><span class="linenos">4983</span></a>
+</span><span id="L-4984"><a href="#L-4984"><span class="linenos">4984</span></a><span class="sd"> Returns:</span>
+</span><span id="L-4985"><a href="#L-4985"><span class="linenos">4985</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
+</span><span id="L-4986"><a href="#L-4986"><span class="linenos">4986</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-4987"><a href="#L-4987"><span class="linenos">4987</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-4988"><a href="#L-4988"><span class="linenos">4988</span></a>
+</span><span id="L-4989"><a href="#L-4989"><span class="linenos">4989</span></a>
+</span><span id="L-4990"><a href="#L-4990"><span class="linenos">4990</span></a><span class="k">def</span> <span class="nf">from_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-4991"><a href="#L-4991"><span class="linenos">4991</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-4992"><a href="#L-4992"><span class="linenos">4992</span></a><span class="sd"> Initializes a syntax tree from a FROM expression.</span>
+</span><span id="L-4993"><a href="#L-4993"><span class="linenos">4993</span></a>
+</span><span id="L-4994"><a href="#L-4994"><span class="linenos">4994</span></a><span class="sd"> Example:</span>
+</span><span id="L-4995"><a href="#L-4995"><span class="linenos">4995</span></a><span class="sd"> &gt;&gt;&gt; from_(&quot;tbl&quot;).select(&quot;col1&quot;, &quot;col2&quot;).sql()</span>
+</span><span id="L-4996"><a href="#L-4996"><span class="linenos">4996</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
+</span><span id="L-4997"><a href="#L-4997"><span class="linenos">4997</span></a>
+</span><span id="L-4998"><a href="#L-4998"><span class="linenos">4998</span></a><span class="sd"> Args:</span>
+</span><span id="L-4999"><a href="#L-4999"><span class="linenos">4999</span></a><span class="sd"> *expression: the SQL code string to parse as the FROM expressions of a</span>
+</span><span id="L-5000"><a href="#L-5000"><span class="linenos">5000</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5001"><a href="#L-5001"><span class="linenos">5001</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
+</span><span id="L-5002"><a href="#L-5002"><span class="linenos">5002</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="L-5003"><a href="#L-5003"><span class="linenos">5003</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="L-5004"><a href="#L-5004"><span class="linenos">5004</span></a><span class="sd"> that the input expression is a SQL string).</span>
+</span><span id="L-5005"><a href="#L-5005"><span class="linenos">5005</span></a>
+</span><span id="L-5006"><a href="#L-5006"><span class="linenos">5006</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5007"><a href="#L-5007"><span class="linenos">5007</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
+</span><span id="L-5008"><a href="#L-5008"><span class="linenos">5008</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5009"><a href="#L-5009"><span class="linenos">5009</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5010"><a href="#L-5010"><span class="linenos">5010</span></a>
+</span><span id="L-5011"><a href="#L-5011"><span class="linenos">5011</span></a>
+</span><span id="L-5012"><a href="#L-5012"><span class="linenos">5012</span></a><span class="k">def</span> <span class="nf">update</span><span class="p">(</span>
+</span><span id="L-5013"><a href="#L-5013"><span class="linenos">5013</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span>
+</span><span id="L-5014"><a href="#L-5014"><span class="linenos">5014</span></a> <span class="n">properties</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span>
+</span><span id="L-5015"><a href="#L-5015"><span class="linenos">5015</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5016"><a href="#L-5016"><span class="linenos">5016</span></a> <span class="n">from_</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5017"><a href="#L-5017"><span class="linenos">5017</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5018"><a href="#L-5018"><span class="linenos">5018</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5019"><a href="#L-5019"><span class="linenos">5019</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Update</span><span class="p">:</span>
+</span><span id="L-5020"><a href="#L-5020"><span class="linenos">5020</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5021"><a href="#L-5021"><span class="linenos">5021</span></a><span class="sd"> Creates an update statement.</span>
+</span><span id="L-5022"><a href="#L-5022"><span class="linenos">5022</span></a>
+</span><span id="L-5023"><a href="#L-5023"><span class="linenos">5023</span></a><span class="sd"> Example:</span>
+</span><span id="L-5024"><a href="#L-5024"><span class="linenos">5024</span></a><span class="sd"> &gt;&gt;&gt; update(&quot;my_table&quot;, {&quot;x&quot;: 1, &quot;y&quot;: &quot;2&quot;, &quot;z&quot;: None}, from_=&quot;baz&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
+</span><span id="L-5025"><a href="#L-5025"><span class="linenos">5025</span></a><span class="sd"> &quot;UPDATE my_table SET x = 1, y = &#39;2&#39;, z = NULL FROM baz WHERE id &gt; 1&quot;</span>
+</span><span id="L-5026"><a href="#L-5026"><span class="linenos">5026</span></a>
+</span><span id="L-5027"><a href="#L-5027"><span class="linenos">5027</span></a><span class="sd"> Args:</span>
+</span><span id="L-5028"><a href="#L-5028"><span class="linenos">5028</span></a><span class="sd"> *properties: dictionary of properties to set which are</span>
+</span><span id="L-5029"><a href="#L-5029"><span class="linenos">5029</span></a><span class="sd"> auto converted to sql objects eg None -&gt; NULL</span>
+</span><span id="L-5030"><a href="#L-5030"><span class="linenos">5030</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
+</span><span id="L-5031"><a href="#L-5031"><span class="linenos">5031</span></a><span class="sd"> from_: sql statement parsed into a FROM statement</span>
+</span><span id="L-5032"><a href="#L-5032"><span class="linenos">5032</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-5033"><a href="#L-5033"><span class="linenos">5033</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5034"><a href="#L-5034"><span class="linenos">5034</span></a>
+</span><span id="L-5035"><a href="#L-5035"><span class="linenos">5035</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5036"><a href="#L-5036"><span class="linenos">5036</span></a><span class="sd"> Update: the syntax tree for the UPDATE statement.</span>
+</span><span id="L-5037"><a href="#L-5037"><span class="linenos">5037</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5038"><a href="#L-5038"><span class="linenos">5038</span></a> <span class="n">update_expr</span> <span class="o">=</span> <span class="n">Update</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="L-5039"><a href="#L-5039"><span class="linenos">5039</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="L-5040"><a href="#L-5040"><span class="linenos">5040</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="L-5041"><a href="#L-5041"><span class="linenos">5041</span></a> <span class="p">[</span>
+</span><span id="L-5042"><a href="#L-5042"><span class="linenos">5042</span></a> <span class="n">EQ</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">k</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="o">**</span><span class="n">opts</span><span class="p">),</span> <span class="n">expression</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">))</span>
+</span><span id="L-5043"><a href="#L-5043"><span class="linenos">5043</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">properties</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
+</span><span id="L-5044"><a href="#L-5044"><span class="linenos">5044</span></a> <span class="p">],</span>
+</span><span id="L-5045"><a href="#L-5045"><span class="linenos">5045</span></a> <span class="p">)</span>
+</span><span id="L-5046"><a href="#L-5046"><span class="linenos">5046</span></a> <span class="k">if</span> <span class="n">from_</span><span class="p">:</span>
+</span><span id="L-5047"><a href="#L-5047"><span class="linenos">5047</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="L-5048"><a href="#L-5048"><span class="linenos">5048</span></a> <span class="s2">&quot;from&quot;</span><span class="p">,</span>
+</span><span id="L-5049"><a href="#L-5049"><span class="linenos">5049</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">from_</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">From</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">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="L-5050"><a href="#L-5050"><span class="linenos">5050</span></a> <span class="p">)</span>
+</span><span id="L-5051"><a href="#L-5051"><span class="linenos">5051</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">Condition</span><span class="p">):</span>
+</span><span id="L-5052"><a href="#L-5052"><span class="linenos">5052</span></a> <span class="n">where</span> <span class="o">=</span> <span class="n">Where</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">where</span><span class="p">)</span>
+</span><span id="L-5053"><a href="#L-5053"><span class="linenos">5053</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
+</span><span id="L-5054"><a href="#L-5054"><span class="linenos">5054</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="L-5055"><a href="#L-5055"><span class="linenos">5055</span></a> <span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="L-5056"><a href="#L-5056"><span class="linenos">5056</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Where</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">prefix</span><span class="o">=</span><span class="s2">&quot;WHERE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="L-5057"><a href="#L-5057"><span class="linenos">5057</span></a> <span class="p">)</span>
+</span><span id="L-5058"><a href="#L-5058"><span class="linenos">5058</span></a> <span class="k">return</span> <span class="n">update_expr</span>
+</span><span id="L-5059"><a href="#L-5059"><span class="linenos">5059</span></a>
</span><span id="L-5060"><a href="#L-5060"><span class="linenos">5060</span></a>
-</span><span id="L-5061"><a href="#L-5061"><span class="linenos">5061</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5062"><a href="#L-5062"><span class="linenos">5062</span></a><span class="sd"> Delete: the syntax tree for the DELETE statement.</span>
-</span><span id="L-5063"><a href="#L-5063"><span class="linenos">5063</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5064"><a href="#L-5064"><span class="linenos">5064</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">Delete</span><span class="p">()</span><span class="o">.</span><span class="n">delete</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5065"><a href="#L-5065"><span class="linenos">5065</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
-</span><span id="L-5066"><a href="#L-5066"><span class="linenos">5066</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">where</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5067"><a href="#L-5067"><span class="linenos">5067</span></a> <span class="k">if</span> <span class="n">returning</span><span class="p">:</span>
-</span><span id="L-5068"><a href="#L-5068"><span class="linenos">5068</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">returning</span><span class="p">(</span><span class="n">returning</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5069"><a href="#L-5069"><span class="linenos">5069</span></a> <span class="k">return</span> <span class="n">delete_expr</span>
+</span><span id="L-5061"><a href="#L-5061"><span class="linenos">5061</span></a><span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
+</span><span id="L-5062"><a href="#L-5062"><span class="linenos">5062</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-5063"><a href="#L-5063"><span class="linenos">5063</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5064"><a href="#L-5064"><span class="linenos">5064</span></a> <span class="n">returning</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5065"><a href="#L-5065"><span class="linenos">5065</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5066"><a href="#L-5066"><span class="linenos">5066</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5067"><a href="#L-5067"><span class="linenos">5067</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="L-5068"><a href="#L-5068"><span class="linenos">5068</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5069"><a href="#L-5069"><span class="linenos">5069</span></a><span class="sd"> Builds a delete statement.</span>
</span><span id="L-5070"><a href="#L-5070"><span class="linenos">5070</span></a>
-</span><span id="L-5071"><a href="#L-5071"><span class="linenos">5071</span></a>
-</span><span id="L-5072"><a href="#L-5072"><span class="linenos">5072</span></a><span class="k">def</span> <span class="nf">insert</span><span class="p">(</span>
-</span><span id="L-5073"><a href="#L-5073"><span class="linenos">5073</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-5074"><a href="#L-5074"><span class="linenos">5074</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-5075"><a href="#L-5075"><span class="linenos">5075</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5076"><a href="#L-5076"><span class="linenos">5076</span></a> <span class="n">overwrite</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5077"><a href="#L-5077"><span class="linenos">5077</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5078"><a href="#L-5078"><span class="linenos">5078</span></a> <span class="n">copy</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-5079"><a href="#L-5079"><span class="linenos">5079</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5080"><a href="#L-5080"><span class="linenos">5080</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
-</span><span id="L-5081"><a href="#L-5081"><span class="linenos">5081</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5082"><a href="#L-5082"><span class="linenos">5082</span></a><span class="sd"> Builds an INSERT statement.</span>
-</span><span id="L-5083"><a href="#L-5083"><span class="linenos">5083</span></a>
-</span><span id="L-5084"><a href="#L-5084"><span class="linenos">5084</span></a><span class="sd"> Example:</span>
-</span><span id="L-5085"><a href="#L-5085"><span class="linenos">5085</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;VALUES (1, 2, 3)&quot;, &quot;tbl&quot;).sql()</span>
-</span><span id="L-5086"><a href="#L-5086"><span class="linenos">5086</span></a><span class="sd"> &#39;INSERT INTO tbl VALUES (1, 2, 3)&#39;</span>
-</span><span id="L-5087"><a href="#L-5087"><span class="linenos">5087</span></a>
-</span><span id="L-5088"><a href="#L-5088"><span class="linenos">5088</span></a><span class="sd"> Args:</span>
-</span><span id="L-5089"><a href="#L-5089"><span class="linenos">5089</span></a><span class="sd"> expression: the sql string or expression of the INSERT statement</span>
-</span><span id="L-5090"><a href="#L-5090"><span class="linenos">5090</span></a><span class="sd"> into: the tbl to insert data to.</span>
-</span><span id="L-5091"><a href="#L-5091"><span class="linenos">5091</span></a><span class="sd"> columns: optionally the table&#39;s column names.</span>
-</span><span id="L-5092"><a href="#L-5092"><span class="linenos">5092</span></a><span class="sd"> overwrite: whether to INSERT OVERWRITE or not.</span>
-</span><span id="L-5093"><a href="#L-5093"><span class="linenos">5093</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="L-5094"><a href="#L-5094"><span class="linenos">5094</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
-</span><span id="L-5095"><a href="#L-5095"><span class="linenos">5095</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="L-5096"><a href="#L-5096"><span class="linenos">5096</span></a>
-</span><span id="L-5097"><a href="#L-5097"><span class="linenos">5097</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5098"><a href="#L-5098"><span class="linenos">5098</span></a><span class="sd"> Insert: the syntax tree for the INSERT statement.</span>
-</span><span id="L-5099"><a href="#L-5099"><span class="linenos">5099</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5100"><a href="#L-5100"><span class="linenos">5100</span></a> <span class="n">expr</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5101"><a href="#L-5101"><span class="linenos">5101</span></a> <span class="n">this</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="n">Schema</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5102"><a href="#L-5102"><span class="linenos">5102</span></a>
-</span><span id="L-5103"><a href="#L-5103"><span class="linenos">5103</span></a> <span class="k">if</span> <span class="n">columns</span><span class="p">:</span>
-</span><span id="L-5104"><a href="#L-5104"><span class="linenos">5104</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="L-5105"><a href="#L-5105"><span class="linenos">5105</span></a> <span class="o">*</span><span class="n">columns</span><span class="p">,</span>
-</span><span id="L-5106"><a href="#L-5106"><span class="linenos">5106</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">Schema</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">),</span>
-</span><span id="L-5107"><a href="#L-5107"><span class="linenos">5107</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="L-5108"><a href="#L-5108"><span class="linenos">5108</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Identifier</span><span class="p">,</span>
-</span><span id="L-5109"><a href="#L-5109"><span class="linenos">5109</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-</span><span id="L-5110"><a href="#L-5110"><span class="linenos">5110</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-5111"><a href="#L-5111"><span class="linenos">5111</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5112"><a href="#L-5112"><span class="linenos">5112</span></a> <span class="p">)</span>
-</span><span id="L-5113"><a href="#L-5113"><span class="linenos">5113</span></a>
-</span><span id="L-5114"><a href="#L-5114"><span class="linenos">5114</span></a> <span class="k">return</span> <span class="n">Insert</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expr</span><span class="p">,</span> <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">)</span>
-</span><span id="L-5115"><a href="#L-5115"><span class="linenos">5115</span></a>
+</span><span id="L-5071"><a href="#L-5071"><span class="linenos">5071</span></a><span class="sd"> Example:</span>
+</span><span id="L-5072"><a href="#L-5072"><span class="linenos">5072</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;my_table&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
+</span><span id="L-5073"><a href="#L-5073"><span class="linenos">5073</span></a><span class="sd"> &#39;DELETE FROM my_table WHERE id &gt; 1&#39;</span>
+</span><span id="L-5074"><a href="#L-5074"><span class="linenos">5074</span></a>
+</span><span id="L-5075"><a href="#L-5075"><span class="linenos">5075</span></a><span class="sd"> Args:</span>
+</span><span id="L-5076"><a href="#L-5076"><span class="linenos">5076</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
+</span><span id="L-5077"><a href="#L-5077"><span class="linenos">5077</span></a><span class="sd"> returning: sql conditional parsed into a RETURNING statement</span>
+</span><span id="L-5078"><a href="#L-5078"><span class="linenos">5078</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-5079"><a href="#L-5079"><span class="linenos">5079</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5080"><a href="#L-5080"><span class="linenos">5080</span></a>
+</span><span id="L-5081"><a href="#L-5081"><span class="linenos">5081</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5082"><a href="#L-5082"><span class="linenos">5082</span></a><span class="sd"> Delete: the syntax tree for the DELETE statement.</span>
+</span><span id="L-5083"><a href="#L-5083"><span class="linenos">5083</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5084"><a href="#L-5084"><span class="linenos">5084</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">Delete</span><span class="p">()</span><span class="o">.</span><span class="n">delete</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5085"><a href="#L-5085"><span class="linenos">5085</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
+</span><span id="L-5086"><a href="#L-5086"><span class="linenos">5086</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">where</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5087"><a href="#L-5087"><span class="linenos">5087</span></a> <span class="k">if</span> <span class="n">returning</span><span class="p">:</span>
+</span><span id="L-5088"><a href="#L-5088"><span class="linenos">5088</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">returning</span><span class="p">(</span><span class="n">returning</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5089"><a href="#L-5089"><span class="linenos">5089</span></a> <span class="k">return</span> <span class="n">delete_expr</span>
+</span><span id="L-5090"><a href="#L-5090"><span class="linenos">5090</span></a>
+</span><span id="L-5091"><a href="#L-5091"><span class="linenos">5091</span></a>
+</span><span id="L-5092"><a href="#L-5092"><span class="linenos">5092</span></a><span class="k">def</span> <span class="nf">insert</span><span class="p">(</span>
+</span><span id="L-5093"><a href="#L-5093"><span class="linenos">5093</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-5094"><a href="#L-5094"><span class="linenos">5094</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-5095"><a href="#L-5095"><span class="linenos">5095</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5096"><a href="#L-5096"><span class="linenos">5096</span></a> <span class="n">overwrite</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5097"><a href="#L-5097"><span class="linenos">5097</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5098"><a href="#L-5098"><span class="linenos">5098</span></a> <span class="n">copy</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-5099"><a href="#L-5099"><span class="linenos">5099</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5100"><a href="#L-5100"><span class="linenos">5100</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
+</span><span id="L-5101"><a href="#L-5101"><span class="linenos">5101</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5102"><a href="#L-5102"><span class="linenos">5102</span></a><span class="sd"> Builds an INSERT statement.</span>
+</span><span id="L-5103"><a href="#L-5103"><span class="linenos">5103</span></a>
+</span><span id="L-5104"><a href="#L-5104"><span class="linenos">5104</span></a><span class="sd"> Example:</span>
+</span><span id="L-5105"><a href="#L-5105"><span class="linenos">5105</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;VALUES (1, 2, 3)&quot;, &quot;tbl&quot;).sql()</span>
+</span><span id="L-5106"><a href="#L-5106"><span class="linenos">5106</span></a><span class="sd"> &#39;INSERT INTO tbl VALUES (1, 2, 3)&#39;</span>
+</span><span id="L-5107"><a href="#L-5107"><span class="linenos">5107</span></a>
+</span><span id="L-5108"><a href="#L-5108"><span class="linenos">5108</span></a><span class="sd"> Args:</span>
+</span><span id="L-5109"><a href="#L-5109"><span class="linenos">5109</span></a><span class="sd"> expression: the sql string or expression of the INSERT statement</span>
+</span><span id="L-5110"><a href="#L-5110"><span class="linenos">5110</span></a><span class="sd"> into: the tbl to insert data to.</span>
+</span><span id="L-5111"><a href="#L-5111"><span class="linenos">5111</span></a><span class="sd"> columns: optionally the table&#39;s column names.</span>
+</span><span id="L-5112"><a href="#L-5112"><span class="linenos">5112</span></a><span class="sd"> overwrite: whether to INSERT OVERWRITE or not.</span>
+</span><span id="L-5113"><a href="#L-5113"><span class="linenos">5113</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="L-5114"><a href="#L-5114"><span class="linenos">5114</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="L-5115"><a href="#L-5115"><span class="linenos">5115</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
</span><span id="L-5116"><a href="#L-5116"><span class="linenos">5116</span></a>
-</span><span id="L-5117"><a href="#L-5117"><span class="linenos">5117</span></a><span class="k">def</span> <span class="nf">condition</span><span class="p">(</span>
-</span><span id="L-5118"><a href="#L-5118"><span class="linenos">5118</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-5119"><a href="#L-5119"><span class="linenos">5119</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
-</span><span id="L-5120"><a href="#L-5120"><span class="linenos">5120</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5121"><a href="#L-5121"><span class="linenos">5121</span></a><span class="sd"> Initialize a logical condition expression.</span>
+</span><span id="L-5117"><a href="#L-5117"><span class="linenos">5117</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5118"><a href="#L-5118"><span class="linenos">5118</span></a><span class="sd"> Insert: the syntax tree for the INSERT statement.</span>
+</span><span id="L-5119"><a href="#L-5119"><span class="linenos">5119</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5120"><a href="#L-5120"><span class="linenos">5120</span></a> <span class="n">expr</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5121"><a href="#L-5121"><span class="linenos">5121</span></a> <span class="n">this</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="n">Schema</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
</span><span id="L-5122"><a href="#L-5122"><span class="linenos">5122</span></a>
-</span><span id="L-5123"><a href="#L-5123"><span class="linenos">5123</span></a><span class="sd"> Example:</span>
-</span><span id="L-5124"><a href="#L-5124"><span class="linenos">5124</span></a><span class="sd"> &gt;&gt;&gt; condition(&quot;x=1&quot;).sql()</span>
-</span><span id="L-5125"><a href="#L-5125"><span class="linenos">5125</span></a><span class="sd"> &#39;x = 1&#39;</span>
-</span><span id="L-5126"><a href="#L-5126"><span class="linenos">5126</span></a>
-</span><span id="L-5127"><a href="#L-5127"><span class="linenos">5127</span></a><span class="sd"> This is helpful for composing larger logical syntax trees:</span>
-</span><span id="L-5128"><a href="#L-5128"><span class="linenos">5128</span></a><span class="sd"> &gt;&gt;&gt; where = condition(&quot;x=1&quot;)</span>
-</span><span id="L-5129"><a href="#L-5129"><span class="linenos">5129</span></a><span class="sd"> &gt;&gt;&gt; where = where.and_(&quot;y=1&quot;)</span>
-</span><span id="L-5130"><a href="#L-5130"><span class="linenos">5130</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;*&quot;).where(where).sql()</span>
-</span><span id="L-5131"><a href="#L-5131"><span class="linenos">5131</span></a><span class="sd"> &#39;SELECT * FROM tbl WHERE x = 1 AND y = 1&#39;</span>
-</span><span id="L-5132"><a href="#L-5132"><span class="linenos">5132</span></a>
-</span><span id="L-5133"><a href="#L-5133"><span class="linenos">5133</span></a><span class="sd"> Args:</span>
-</span><span id="L-5134"><a href="#L-5134"><span class="linenos">5134</span></a><span class="sd"> *expression: the SQL code string to parse.</span>
-</span><span id="L-5135"><a href="#L-5135"><span class="linenos">5135</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5136"><a href="#L-5136"><span class="linenos">5136</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
-</span><span id="L-5137"><a href="#L-5137"><span class="linenos">5137</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="L-5138"><a href="#L-5138"><span class="linenos">5138</span></a><span class="sd"> copy: Whether or not to copy `expression` (only applies to expressions).</span>
-</span><span id="L-5139"><a href="#L-5139"><span class="linenos">5139</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="L-5140"><a href="#L-5140"><span class="linenos">5140</span></a><span class="sd"> that the input expression is a SQL string).</span>
-</span><span id="L-5141"><a href="#L-5141"><span class="linenos">5141</span></a>
-</span><span id="L-5142"><a href="#L-5142"><span class="linenos">5142</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5143"><a href="#L-5143"><span class="linenos">5143</span></a><span class="sd"> The new Condition instance</span>
-</span><span id="L-5144"><a href="#L-5144"><span class="linenos">5144</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5145"><a href="#L-5145"><span class="linenos">5145</span></a> <span class="k">return</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="L-5146"><a href="#L-5146"><span class="linenos">5146</span></a> <span class="n">expression</span><span class="p">,</span>
-</span><span id="L-5147"><a href="#L-5147"><span class="linenos">5147</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Condition</span><span class="p">,</span>
-</span><span id="L-5148"><a href="#L-5148"><span class="linenos">5148</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-5149"><a href="#L-5149"><span class="linenos">5149</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-5150"><a href="#L-5150"><span class="linenos">5150</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5151"><a href="#L-5151"><span class="linenos">5151</span></a> <span class="p">)</span>
+</span><span id="L-5123"><a href="#L-5123"><span class="linenos">5123</span></a> <span class="k">if</span> <span class="n">columns</span><span class="p">:</span>
+</span><span id="L-5124"><a href="#L-5124"><span class="linenos">5124</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="L-5125"><a href="#L-5125"><span class="linenos">5125</span></a> <span class="o">*</span><span class="n">columns</span><span class="p">,</span>
+</span><span id="L-5126"><a href="#L-5126"><span class="linenos">5126</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">Schema</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">),</span>
+</span><span id="L-5127"><a href="#L-5127"><span class="linenos">5127</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="L-5128"><a href="#L-5128"><span class="linenos">5128</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Identifier</span><span class="p">,</span>
+</span><span id="L-5129"><a href="#L-5129"><span class="linenos">5129</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+</span><span id="L-5130"><a href="#L-5130"><span class="linenos">5130</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-5131"><a href="#L-5131"><span class="linenos">5131</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5132"><a href="#L-5132"><span class="linenos">5132</span></a> <span class="p">)</span>
+</span><span id="L-5133"><a href="#L-5133"><span class="linenos">5133</span></a>
+</span><span id="L-5134"><a href="#L-5134"><span class="linenos">5134</span></a> <span class="k">return</span> <span class="n">Insert</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expr</span><span class="p">,</span> <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">)</span>
+</span><span id="L-5135"><a href="#L-5135"><span class="linenos">5135</span></a>
+</span><span id="L-5136"><a href="#L-5136"><span class="linenos">5136</span></a>
+</span><span id="L-5137"><a href="#L-5137"><span class="linenos">5137</span></a><span class="k">def</span> <span class="nf">condition</span><span class="p">(</span>
+</span><span id="L-5138"><a href="#L-5138"><span class="linenos">5138</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-5139"><a href="#L-5139"><span class="linenos">5139</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
+</span><span id="L-5140"><a href="#L-5140"><span class="linenos">5140</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5141"><a href="#L-5141"><span class="linenos">5141</span></a><span class="sd"> Initialize a logical condition expression.</span>
+</span><span id="L-5142"><a href="#L-5142"><span class="linenos">5142</span></a>
+</span><span id="L-5143"><a href="#L-5143"><span class="linenos">5143</span></a><span class="sd"> Example:</span>
+</span><span id="L-5144"><a href="#L-5144"><span class="linenos">5144</span></a><span class="sd"> &gt;&gt;&gt; condition(&quot;x=1&quot;).sql()</span>
+</span><span id="L-5145"><a href="#L-5145"><span class="linenos">5145</span></a><span class="sd"> &#39;x = 1&#39;</span>
+</span><span id="L-5146"><a href="#L-5146"><span class="linenos">5146</span></a>
+</span><span id="L-5147"><a href="#L-5147"><span class="linenos">5147</span></a><span class="sd"> This is helpful for composing larger logical syntax trees:</span>
+</span><span id="L-5148"><a href="#L-5148"><span class="linenos">5148</span></a><span class="sd"> &gt;&gt;&gt; where = condition(&quot;x=1&quot;)</span>
+</span><span id="L-5149"><a href="#L-5149"><span class="linenos">5149</span></a><span class="sd"> &gt;&gt;&gt; where = where.and_(&quot;y=1&quot;)</span>
+</span><span id="L-5150"><a href="#L-5150"><span class="linenos">5150</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;*&quot;).where(where).sql()</span>
+</span><span id="L-5151"><a href="#L-5151"><span class="linenos">5151</span></a><span class="sd"> &#39;SELECT * FROM tbl WHERE x = 1 AND y = 1&#39;</span>
</span><span id="L-5152"><a href="#L-5152"><span class="linenos">5152</span></a>
-</span><span id="L-5153"><a href="#L-5153"><span class="linenos">5153</span></a>
-</span><span id="L-5154"><a href="#L-5154"><span class="linenos">5154</span></a><span class="k">def</span> <span class="nf">and_</span><span class="p">(</span>
-</span><span id="L-5155"><a href="#L-5155"><span class="linenos">5155</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-5156"><a href="#L-5156"><span class="linenos">5156</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
-</span><span id="L-5157"><a href="#L-5157"><span class="linenos">5157</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5158"><a href="#L-5158"><span class="linenos">5158</span></a><span class="sd"> Combine multiple conditions with an AND logical operator.</span>
-</span><span id="L-5159"><a href="#L-5159"><span class="linenos">5159</span></a>
-</span><span id="L-5160"><a href="#L-5160"><span class="linenos">5160</span></a><span class="sd"> Example:</span>
-</span><span id="L-5161"><a href="#L-5161"><span class="linenos">5161</span></a><span class="sd"> &gt;&gt;&gt; and_(&quot;x=1&quot;, and_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
-</span><span id="L-5162"><a href="#L-5162"><span class="linenos">5162</span></a><span class="sd"> &#39;x = 1 AND (y = 1 AND z = 1)&#39;</span>
-</span><span id="L-5163"><a href="#L-5163"><span class="linenos">5163</span></a>
-</span><span id="L-5164"><a href="#L-5164"><span class="linenos">5164</span></a><span class="sd"> Args:</span>
-</span><span id="L-5165"><a href="#L-5165"><span class="linenos">5165</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-5166"><a href="#L-5166"><span class="linenos">5166</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5167"><a href="#L-5167"><span class="linenos">5167</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-5168"><a href="#L-5168"><span class="linenos">5168</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
-</span><span id="L-5169"><a href="#L-5169"><span class="linenos">5169</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="L-5170"><a href="#L-5170"><span class="linenos">5170</span></a>
-</span><span id="L-5171"><a href="#L-5171"><span class="linenos">5171</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5172"><a href="#L-5172"><span class="linenos">5172</span></a><span class="sd"> And: the new condition</span>
-</span><span id="L-5173"><a href="#L-5173"><span class="linenos">5173</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5174"><a href="#L-5174"><span class="linenos">5174</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">And</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
-</span><span id="L-5175"><a href="#L-5175"><span class="linenos">5175</span></a>
-</span><span id="L-5176"><a href="#L-5176"><span class="linenos">5176</span></a>
-</span><span id="L-5177"><a href="#L-5177"><span class="linenos">5177</span></a><span class="k">def</span> <span class="nf">or_</span><span class="p">(</span>
-</span><span id="L-5178"><a href="#L-5178"><span class="linenos">5178</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="L-5179"><a href="#L-5179"><span class="linenos">5179</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
-</span><span id="L-5180"><a href="#L-5180"><span class="linenos">5180</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5181"><a href="#L-5181"><span class="linenos">5181</span></a><span class="sd"> Combine multiple conditions with an OR logical operator.</span>
-</span><span id="L-5182"><a href="#L-5182"><span class="linenos">5182</span></a>
-</span><span id="L-5183"><a href="#L-5183"><span class="linenos">5183</span></a><span class="sd"> Example:</span>
-</span><span id="L-5184"><a href="#L-5184"><span class="linenos">5184</span></a><span class="sd"> &gt;&gt;&gt; or_(&quot;x=1&quot;, or_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
-</span><span id="L-5185"><a href="#L-5185"><span class="linenos">5185</span></a><span class="sd"> &#39;x = 1 OR (y = 1 OR z = 1)&#39;</span>
-</span><span id="L-5186"><a href="#L-5186"><span class="linenos">5186</span></a>
-</span><span id="L-5187"><a href="#L-5187"><span class="linenos">5187</span></a><span class="sd"> Args:</span>
-</span><span id="L-5188"><a href="#L-5188"><span class="linenos">5188</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="L-5189"><a href="#L-5189"><span class="linenos">5189</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5190"><a href="#L-5190"><span class="linenos">5190</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-5191"><a href="#L-5191"><span class="linenos">5191</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
-</span><span id="L-5192"><a href="#L-5192"><span class="linenos">5192</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="L-5193"><a href="#L-5193"><span class="linenos">5193</span></a>
-</span><span id="L-5194"><a href="#L-5194"><span class="linenos">5194</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5195"><a href="#L-5195"><span class="linenos">5195</span></a><span class="sd"> Or: the new condition</span>
-</span><span id="L-5196"><a href="#L-5196"><span class="linenos">5196</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5197"><a href="#L-5197"><span class="linenos">5197</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">Or</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
-</span><span id="L-5198"><a href="#L-5198"><span class="linenos">5198</span></a>
-</span><span id="L-5199"><a href="#L-5199"><span class="linenos">5199</span></a>
-</span><span id="L-5200"><a href="#L-5200"><span class="linenos">5200</span></a><span class="k">def</span> <span class="nf">not_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Not</span><span class="p">:</span>
-</span><span id="L-5201"><a href="#L-5201"><span class="linenos">5201</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5202"><a href="#L-5202"><span class="linenos">5202</span></a><span class="sd"> Wrap a condition with a NOT operator.</span>
-</span><span id="L-5203"><a href="#L-5203"><span class="linenos">5203</span></a>
-</span><span id="L-5204"><a href="#L-5204"><span class="linenos">5204</span></a><span class="sd"> Example:</span>
-</span><span id="L-5205"><a href="#L-5205"><span class="linenos">5205</span></a><span class="sd"> &gt;&gt;&gt; not_(&quot;this_suit=&#39;black&#39;&quot;).sql()</span>
-</span><span id="L-5206"><a href="#L-5206"><span class="linenos">5206</span></a><span class="sd"> &quot;NOT this_suit = &#39;black&#39;&quot;</span>
-</span><span id="L-5207"><a href="#L-5207"><span class="linenos">5207</span></a>
-</span><span id="L-5208"><a href="#L-5208"><span class="linenos">5208</span></a><span class="sd"> Args:</span>
-</span><span id="L-5209"><a href="#L-5209"><span class="linenos">5209</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="L-5210"><a href="#L-5210"><span class="linenos">5210</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5211"><a href="#L-5211"><span class="linenos">5211</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-5212"><a href="#L-5212"><span class="linenos">5212</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
-</span><span id="L-5213"><a href="#L-5213"><span class="linenos">5213</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="L-5214"><a href="#L-5214"><span class="linenos">5214</span></a>
-</span><span id="L-5215"><a href="#L-5215"><span class="linenos">5215</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5216"><a href="#L-5216"><span class="linenos">5216</span></a><span class="sd"> The new condition.</span>
-</span><span id="L-5217"><a href="#L-5217"><span class="linenos">5217</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5218"><a href="#L-5218"><span class="linenos">5218</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">condition</span><span class="p">(</span>
-</span><span id="L-5219"><a href="#L-5219"><span class="linenos">5219</span></a> <span class="n">expression</span><span class="p">,</span>
-</span><span id="L-5220"><a href="#L-5220"><span class="linenos">5220</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="L-5221"><a href="#L-5221"><span class="linenos">5221</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="L-5222"><a href="#L-5222"><span class="linenos">5222</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5223"><a href="#L-5223"><span class="linenos">5223</span></a> <span class="p">)</span>
-</span><span id="L-5224"><a href="#L-5224"><span class="linenos">5224</span></a> <span class="k">return</span> <span class="n">Not</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">_wrap</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connector</span><span class="p">))</span>
-</span><span id="L-5225"><a href="#L-5225"><span class="linenos">5225</span></a>
-</span><span id="L-5226"><a href="#L-5226"><span class="linenos">5226</span></a>
-</span><span id="L-5227"><a href="#L-5227"><span class="linenos">5227</span></a><span class="k">def</span> <span class="nf">paren</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Paren</span><span class="p">:</span>
-</span><span id="L-5228"><a href="#L-5228"><span class="linenos">5228</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5229"><a href="#L-5229"><span class="linenos">5229</span></a><span class="sd"> Wrap an expression in parentheses.</span>
-</span><span id="L-5230"><a href="#L-5230"><span class="linenos">5230</span></a>
-</span><span id="L-5231"><a href="#L-5231"><span class="linenos">5231</span></a><span class="sd"> Example:</span>
-</span><span id="L-5232"><a href="#L-5232"><span class="linenos">5232</span></a><span class="sd"> &gt;&gt;&gt; paren(&quot;5 + 3&quot;).sql()</span>
-</span><span id="L-5233"><a href="#L-5233"><span class="linenos">5233</span></a><span class="sd"> &#39;(5 + 3)&#39;</span>
+</span><span id="L-5153"><a href="#L-5153"><span class="linenos">5153</span></a><span class="sd"> Args:</span>
+</span><span id="L-5154"><a href="#L-5154"><span class="linenos">5154</span></a><span class="sd"> *expression: the SQL code string to parse.</span>
+</span><span id="L-5155"><a href="#L-5155"><span class="linenos">5155</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5156"><a href="#L-5156"><span class="linenos">5156</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
+</span><span id="L-5157"><a href="#L-5157"><span class="linenos">5157</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="L-5158"><a href="#L-5158"><span class="linenos">5158</span></a><span class="sd"> copy: Whether or not to copy `expression` (only applies to expressions).</span>
+</span><span id="L-5159"><a href="#L-5159"><span class="linenos">5159</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="L-5160"><a href="#L-5160"><span class="linenos">5160</span></a><span class="sd"> that the input expression is a SQL string).</span>
+</span><span id="L-5161"><a href="#L-5161"><span class="linenos">5161</span></a>
+</span><span id="L-5162"><a href="#L-5162"><span class="linenos">5162</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5163"><a href="#L-5163"><span class="linenos">5163</span></a><span class="sd"> The new Condition instance</span>
+</span><span id="L-5164"><a href="#L-5164"><span class="linenos">5164</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5165"><a href="#L-5165"><span class="linenos">5165</span></a> <span class="k">return</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="L-5166"><a href="#L-5166"><span class="linenos">5166</span></a> <span class="n">expression</span><span class="p">,</span>
+</span><span id="L-5167"><a href="#L-5167"><span class="linenos">5167</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Condition</span><span class="p">,</span>
+</span><span id="L-5168"><a href="#L-5168"><span class="linenos">5168</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-5169"><a href="#L-5169"><span class="linenos">5169</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-5170"><a href="#L-5170"><span class="linenos">5170</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5171"><a href="#L-5171"><span class="linenos">5171</span></a> <span class="p">)</span>
+</span><span id="L-5172"><a href="#L-5172"><span class="linenos">5172</span></a>
+</span><span id="L-5173"><a href="#L-5173"><span class="linenos">5173</span></a>
+</span><span id="L-5174"><a href="#L-5174"><span class="linenos">5174</span></a><span class="k">def</span> <span class="nf">and_</span><span class="p">(</span>
+</span><span id="L-5175"><a href="#L-5175"><span class="linenos">5175</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-5176"><a href="#L-5176"><span class="linenos">5176</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
+</span><span id="L-5177"><a href="#L-5177"><span class="linenos">5177</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5178"><a href="#L-5178"><span class="linenos">5178</span></a><span class="sd"> Combine multiple conditions with an AND logical operator.</span>
+</span><span id="L-5179"><a href="#L-5179"><span class="linenos">5179</span></a>
+</span><span id="L-5180"><a href="#L-5180"><span class="linenos">5180</span></a><span class="sd"> Example:</span>
+</span><span id="L-5181"><a href="#L-5181"><span class="linenos">5181</span></a><span class="sd"> &gt;&gt;&gt; and_(&quot;x=1&quot;, and_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
+</span><span id="L-5182"><a href="#L-5182"><span class="linenos">5182</span></a><span class="sd"> &#39;x = 1 AND (y = 1 AND z = 1)&#39;</span>
+</span><span id="L-5183"><a href="#L-5183"><span class="linenos">5183</span></a>
+</span><span id="L-5184"><a href="#L-5184"><span class="linenos">5184</span></a><span class="sd"> Args:</span>
+</span><span id="L-5185"><a href="#L-5185"><span class="linenos">5185</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-5186"><a href="#L-5186"><span class="linenos">5186</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5187"><a href="#L-5187"><span class="linenos">5187</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-5188"><a href="#L-5188"><span class="linenos">5188</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
+</span><span id="L-5189"><a href="#L-5189"><span class="linenos">5189</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5190"><a href="#L-5190"><span class="linenos">5190</span></a>
+</span><span id="L-5191"><a href="#L-5191"><span class="linenos">5191</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5192"><a href="#L-5192"><span class="linenos">5192</span></a><span class="sd"> And: the new condition</span>
+</span><span id="L-5193"><a href="#L-5193"><span class="linenos">5193</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5194"><a href="#L-5194"><span class="linenos">5194</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">And</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+</span><span id="L-5195"><a href="#L-5195"><span class="linenos">5195</span></a>
+</span><span id="L-5196"><a href="#L-5196"><span class="linenos">5196</span></a>
+</span><span id="L-5197"><a href="#L-5197"><span class="linenos">5197</span></a><span class="k">def</span> <span class="nf">or_</span><span class="p">(</span>
+</span><span id="L-5198"><a href="#L-5198"><span class="linenos">5198</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="L-5199"><a href="#L-5199"><span class="linenos">5199</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
+</span><span id="L-5200"><a href="#L-5200"><span class="linenos">5200</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5201"><a href="#L-5201"><span class="linenos">5201</span></a><span class="sd"> Combine multiple conditions with an OR logical operator.</span>
+</span><span id="L-5202"><a href="#L-5202"><span class="linenos">5202</span></a>
+</span><span id="L-5203"><a href="#L-5203"><span class="linenos">5203</span></a><span class="sd"> Example:</span>
+</span><span id="L-5204"><a href="#L-5204"><span class="linenos">5204</span></a><span class="sd"> &gt;&gt;&gt; or_(&quot;x=1&quot;, or_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
+</span><span id="L-5205"><a href="#L-5205"><span class="linenos">5205</span></a><span class="sd"> &#39;x = 1 OR (y = 1 OR z = 1)&#39;</span>
+</span><span id="L-5206"><a href="#L-5206"><span class="linenos">5206</span></a>
+</span><span id="L-5207"><a href="#L-5207"><span class="linenos">5207</span></a><span class="sd"> Args:</span>
+</span><span id="L-5208"><a href="#L-5208"><span class="linenos">5208</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="L-5209"><a href="#L-5209"><span class="linenos">5209</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5210"><a href="#L-5210"><span class="linenos">5210</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-5211"><a href="#L-5211"><span class="linenos">5211</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
+</span><span id="L-5212"><a href="#L-5212"><span class="linenos">5212</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5213"><a href="#L-5213"><span class="linenos">5213</span></a>
+</span><span id="L-5214"><a href="#L-5214"><span class="linenos">5214</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5215"><a href="#L-5215"><span class="linenos">5215</span></a><span class="sd"> Or: the new condition</span>
+</span><span id="L-5216"><a href="#L-5216"><span class="linenos">5216</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5217"><a href="#L-5217"><span class="linenos">5217</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">Or</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+</span><span id="L-5218"><a href="#L-5218"><span class="linenos">5218</span></a>
+</span><span id="L-5219"><a href="#L-5219"><span class="linenos">5219</span></a>
+</span><span id="L-5220"><a href="#L-5220"><span class="linenos">5220</span></a><span class="k">def</span> <span class="nf">not_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Not</span><span class="p">:</span>
+</span><span id="L-5221"><a href="#L-5221"><span class="linenos">5221</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5222"><a href="#L-5222"><span class="linenos">5222</span></a><span class="sd"> Wrap a condition with a NOT operator.</span>
+</span><span id="L-5223"><a href="#L-5223"><span class="linenos">5223</span></a>
+</span><span id="L-5224"><a href="#L-5224"><span class="linenos">5224</span></a><span class="sd"> Example:</span>
+</span><span id="L-5225"><a href="#L-5225"><span class="linenos">5225</span></a><span class="sd"> &gt;&gt;&gt; not_(&quot;this_suit=&#39;black&#39;&quot;).sql()</span>
+</span><span id="L-5226"><a href="#L-5226"><span class="linenos">5226</span></a><span class="sd"> &quot;NOT this_suit = &#39;black&#39;&quot;</span>
+</span><span id="L-5227"><a href="#L-5227"><span class="linenos">5227</span></a>
+</span><span id="L-5228"><a href="#L-5228"><span class="linenos">5228</span></a><span class="sd"> Args:</span>
+</span><span id="L-5229"><a href="#L-5229"><span class="linenos">5229</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="L-5230"><a href="#L-5230"><span class="linenos">5230</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5231"><a href="#L-5231"><span class="linenos">5231</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-5232"><a href="#L-5232"><span class="linenos">5232</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
+</span><span id="L-5233"><a href="#L-5233"><span class="linenos">5233</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
</span><span id="L-5234"><a href="#L-5234"><span class="linenos">5234</span></a>
-</span><span id="L-5235"><a href="#L-5235"><span class="linenos">5235</span></a><span class="sd"> Args:</span>
-</span><span id="L-5236"><a href="#L-5236"><span class="linenos">5236</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="L-5237"><a href="#L-5237"><span class="linenos">5237</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5238"><a href="#L-5238"><span class="linenos">5238</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
-</span><span id="L-5239"><a href="#L-5239"><span class="linenos">5239</span></a>
-</span><span id="L-5240"><a href="#L-5240"><span class="linenos">5240</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5241"><a href="#L-5241"><span class="linenos">5241</span></a><span class="sd"> The wrapped expression.</span>
-</span><span id="L-5242"><a href="#L-5242"><span class="linenos">5242</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5243"><a href="#L-5243"><span class="linenos">5243</span></a> <span class="k">return</span> <span class="n">Paren</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
-</span><span id="L-5244"><a href="#L-5244"><span class="linenos">5244</span></a>
+</span><span id="L-5235"><a href="#L-5235"><span class="linenos">5235</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5236"><a href="#L-5236"><span class="linenos">5236</span></a><span class="sd"> The new condition.</span>
+</span><span id="L-5237"><a href="#L-5237"><span class="linenos">5237</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5238"><a href="#L-5238"><span class="linenos">5238</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">condition</span><span class="p">(</span>
+</span><span id="L-5239"><a href="#L-5239"><span class="linenos">5239</span></a> <span class="n">expression</span><span class="p">,</span>
+</span><span id="L-5240"><a href="#L-5240"><span class="linenos">5240</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="L-5241"><a href="#L-5241"><span class="linenos">5241</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="L-5242"><a href="#L-5242"><span class="linenos">5242</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5243"><a href="#L-5243"><span class="linenos">5243</span></a> <span class="p">)</span>
+</span><span id="L-5244"><a href="#L-5244"><span class="linenos">5244</span></a> <span class="k">return</span> <span class="n">Not</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">_wrap</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connector</span><span class="p">))</span>
</span><span id="L-5245"><a href="#L-5245"><span class="linenos">5245</span></a>
-</span><span id="L-5246"><a href="#L-5246"><span class="linenos">5246</span></a><span class="n">SAFE_IDENTIFIER_RE</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;^[_a-zA-Z][\w]*$&quot;</span><span class="p">)</span>
-</span><span id="L-5247"><a href="#L-5247"><span class="linenos">5247</span></a>
-</span><span id="L-5248"><a href="#L-5248"><span class="linenos">5248</span></a>
-</span><span id="L-5249"><a href="#L-5249"><span class="linenos">5249</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
-</span><span id="L-5250"><a href="#L-5250"><span class="linenos">5250</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-5251"><a href="#L-5251"><span class="linenos">5251</span></a> <span class="o">...</span>
-</span><span id="L-5252"><a href="#L-5252"><span class="linenos">5252</span></a>
-</span><span id="L-5253"><a href="#L-5253"><span class="linenos">5253</span></a>
-</span><span id="L-5254"><a href="#L-5254"><span class="linenos">5254</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
-</span><span id="L-5255"><a href="#L-5255"><span class="linenos">5255</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span>
-</span><span id="L-5256"><a href="#L-5256"><span class="linenos">5256</span></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-5257"><a href="#L-5257"><span class="linenos">5257</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Identifier</span><span class="p">:</span>
-</span><span id="L-5258"><a href="#L-5258"><span class="linenos">5258</span></a> <span class="o">...</span>
+</span><span id="L-5246"><a href="#L-5246"><span class="linenos">5246</span></a>
+</span><span id="L-5247"><a href="#L-5247"><span class="linenos">5247</span></a><span class="k">def</span> <span class="nf">paren</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Paren</span><span class="p">:</span>
+</span><span id="L-5248"><a href="#L-5248"><span class="linenos">5248</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5249"><a href="#L-5249"><span class="linenos">5249</span></a><span class="sd"> Wrap an expression in parentheses.</span>
+</span><span id="L-5250"><a href="#L-5250"><span class="linenos">5250</span></a>
+</span><span id="L-5251"><a href="#L-5251"><span class="linenos">5251</span></a><span class="sd"> Example:</span>
+</span><span id="L-5252"><a href="#L-5252"><span class="linenos">5252</span></a><span class="sd"> &gt;&gt;&gt; paren(&quot;5 + 3&quot;).sql()</span>
+</span><span id="L-5253"><a href="#L-5253"><span class="linenos">5253</span></a><span class="sd"> &#39;(5 + 3)&#39;</span>
+</span><span id="L-5254"><a href="#L-5254"><span class="linenos">5254</span></a>
+</span><span id="L-5255"><a href="#L-5255"><span class="linenos">5255</span></a><span class="sd"> Args:</span>
+</span><span id="L-5256"><a href="#L-5256"><span class="linenos">5256</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="L-5257"><a href="#L-5257"><span class="linenos">5257</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5258"><a href="#L-5258"><span class="linenos">5258</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
</span><span id="L-5259"><a href="#L-5259"><span class="linenos">5259</span></a>
-</span><span id="L-5260"><a href="#L-5260"><span class="linenos">5260</span></a>
-</span><span id="L-5261"><a href="#L-5261"><span class="linenos">5261</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
-</span><span id="L-5262"><a href="#L-5262"><span class="linenos">5262</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an identifier.</span>
-</span><span id="L-5263"><a href="#L-5263"><span class="linenos">5263</span></a>
-</span><span id="L-5264"><a href="#L-5264"><span class="linenos">5264</span></a><span class="sd"> Args:</span>
-</span><span id="L-5265"><a href="#L-5265"><span class="linenos">5265</span></a><span class="sd"> name: The name to turn into an identifier.</span>
-</span><span id="L-5266"><a href="#L-5266"><span class="linenos">5266</span></a><span class="sd"> quoted: Whether or not force quote the identifier.</span>
-</span><span id="L-5267"><a href="#L-5267"><span class="linenos">5267</span></a><span class="sd"> copy: Whether or not to copy a passed in Identefier node.</span>
+</span><span id="L-5260"><a href="#L-5260"><span class="linenos">5260</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5261"><a href="#L-5261"><span class="linenos">5261</span></a><span class="sd"> The wrapped expression.</span>
+</span><span id="L-5262"><a href="#L-5262"><span class="linenos">5262</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5263"><a href="#L-5263"><span class="linenos">5263</span></a> <span class="k">return</span> <span class="n">Paren</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
+</span><span id="L-5264"><a href="#L-5264"><span class="linenos">5264</span></a>
+</span><span id="L-5265"><a href="#L-5265"><span class="linenos">5265</span></a>
+</span><span id="L-5266"><a href="#L-5266"><span class="linenos">5266</span></a><span class="n">SAFE_IDENTIFIER_RE</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;^[_a-zA-Z][\w]*$&quot;</span><span class="p">)</span>
+</span><span id="L-5267"><a href="#L-5267"><span class="linenos">5267</span></a>
</span><span id="L-5268"><a href="#L-5268"><span class="linenos">5268</span></a>
-</span><span id="L-5269"><a href="#L-5269"><span class="linenos">5269</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5270"><a href="#L-5270"><span class="linenos">5270</span></a><span class="sd"> The identifier ast node.</span>
-</span><span id="L-5271"><a href="#L-5271"><span class="linenos">5271</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5269"><a href="#L-5269"><span class="linenos">5269</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
+</span><span id="L-5270"><a href="#L-5270"><span class="linenos">5270</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-5271"><a href="#L-5271"><span class="linenos">5271</span></a> <span class="o">...</span>
</span><span id="L-5272"><a href="#L-5272"><span class="linenos">5272</span></a>
-</span><span id="L-5273"><a href="#L-5273"><span class="linenos">5273</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-5274"><a href="#L-5274"><span class="linenos">5274</span></a> <span class="k">return</span> <span class="kc">None</span>
-</span><span id="L-5275"><a href="#L-5275"><span class="linenos">5275</span></a>
-</span><span id="L-5276"><a href="#L-5276"><span class="linenos">5276</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Identifier</span><span class="p">):</span>
-</span><span id="L-5277"><a href="#L-5277"><span class="linenos">5277</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-5278"><a href="#L-5278"><span class="linenos">5278</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="L-5279"><a href="#L-5279"><span class="linenos">5279</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">Identifier</span><span class="p">(</span>
-</span><span id="L-5280"><a href="#L-5280"><span class="linenos">5280</span></a> <span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
-</span><span id="L-5281"><a href="#L-5281"><span class="linenos">5281</span></a> <span class="n">quoted</span><span class="o">=</span><span class="ow">not</span> <span class="n">SAFE_IDENTIFIER_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">quoted</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">quoted</span><span class="p">,</span>
-</span><span id="L-5282"><a href="#L-5282"><span class="linenos">5282</span></a> <span class="p">)</span>
-</span><span id="L-5283"><a href="#L-5283"><span class="linenos">5283</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-5284"><a href="#L-5284"><span class="linenos">5284</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Name needs to be a string or an Identifier, got: </span><span class="si">{</span><span class="n">name</span><span class="o">.</span><span class="vm">__class__</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="L-5285"><a href="#L-5285"><span class="linenos">5285</span></a> <span class="k">return</span> <span class="n">identifier</span>
-</span><span id="L-5286"><a href="#L-5286"><span class="linenos">5286</span></a>
-</span><span id="L-5287"><a href="#L-5287"><span class="linenos">5287</span></a>
-</span><span id="L-5288"><a href="#L-5288"><span class="linenos">5288</span></a><span class="n">INTERVAL_STRING_RE</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;\s*([0-9]+)\s*([a-zA-Z]+)\s*&quot;</span><span class="p">)</span>
-</span><span id="L-5289"><a href="#L-5289"><span class="linenos">5289</span></a>
-</span><span id="L-5290"><a href="#L-5290"><span class="linenos">5290</span></a>
-</span><span id="L-5291"><a href="#L-5291"><span class="linenos">5291</span></a><span class="k">def</span> <span class="nf">to_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Literal</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Interval</span><span class="p">:</span>
-</span><span id="L-5292"><a href="#L-5292"><span class="linenos">5292</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an interval expression from a string like &#39;1 day&#39; or &#39;5 months&#39;.&quot;&quot;&quot;</span>
-</span><span id="L-5293"><a href="#L-5293"><span class="linenos">5293</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">interval</span><span class="p">,</span> <span class="n">Literal</span><span class="p">):</span>
-</span><span id="L-5294"><a href="#L-5294"><span class="linenos">5294</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval</span><span class="o">.</span><span class="n">is_string</span><span class="p">:</span>
-</span><span id="L-5295"><a href="#L-5295"><span class="linenos">5295</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
-</span><span id="L-5296"><a href="#L-5296"><span class="linenos">5296</span></a>
-</span><span id="L-5297"><a href="#L-5297"><span class="linenos">5297</span></a> <span class="n">interval</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">this</span>
-</span><span id="L-5298"><a href="#L-5298"><span class="linenos">5298</span></a>
-</span><span id="L-5299"><a href="#L-5299"><span class="linenos">5299</span></a> <span class="n">interval_parts</span> <span class="o">=</span> <span class="n">INTERVAL_STRING_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">interval</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="L-5300"><a href="#L-5300"><span class="linenos">5300</span></a>
-</span><span id="L-5301"><a href="#L-5301"><span class="linenos">5301</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval_parts</span><span class="p">:</span>
-</span><span id="L-5302"><a href="#L-5302"><span class="linenos">5302</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
-</span><span id="L-5303"><a href="#L-5303"><span class="linenos">5303</span></a>
-</span><span id="L-5304"><a href="#L-5304"><span class="linenos">5304</span></a> <span class="k">return</span> <span class="n">Interval</span><span class="p">(</span>
-</span><span id="L-5305"><a href="#L-5305"><span class="linenos">5305</span></a> <span class="n">this</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">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span>
-</span><span id="L-5306"><a href="#L-5306"><span class="linenos">5306</span></a> <span class="n">unit</span><span class="o">=</span><span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)),</span>
-</span><span id="L-5307"><a href="#L-5307"><span class="linenos">5307</span></a> <span class="p">)</span>
-</span><span id="L-5308"><a href="#L-5308"><span class="linenos">5308</span></a>
+</span><span id="L-5273"><a href="#L-5273"><span class="linenos">5273</span></a>
+</span><span id="L-5274"><a href="#L-5274"><span class="linenos">5274</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
+</span><span id="L-5275"><a href="#L-5275"><span class="linenos">5275</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span>
+</span><span id="L-5276"><a href="#L-5276"><span class="linenos">5276</span></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-5277"><a href="#L-5277"><span class="linenos">5277</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Identifier</span><span class="p">:</span>
+</span><span id="L-5278"><a href="#L-5278"><span class="linenos">5278</span></a> <span class="o">...</span>
+</span><span id="L-5279"><a href="#L-5279"><span class="linenos">5279</span></a>
+</span><span id="L-5280"><a href="#L-5280"><span class="linenos">5280</span></a>
+</span><span id="L-5281"><a href="#L-5281"><span class="linenos">5281</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+</span><span id="L-5282"><a href="#L-5282"><span class="linenos">5282</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an identifier.</span>
+</span><span id="L-5283"><a href="#L-5283"><span class="linenos">5283</span></a>
+</span><span id="L-5284"><a href="#L-5284"><span class="linenos">5284</span></a><span class="sd"> Args:</span>
+</span><span id="L-5285"><a href="#L-5285"><span class="linenos">5285</span></a><span class="sd"> name: The name to turn into an identifier.</span>
+</span><span id="L-5286"><a href="#L-5286"><span class="linenos">5286</span></a><span class="sd"> quoted: Whether or not force quote the identifier.</span>
+</span><span id="L-5287"><a href="#L-5287"><span class="linenos">5287</span></a><span class="sd"> copy: Whether or not to copy a passed in Identefier node.</span>
+</span><span id="L-5288"><a href="#L-5288"><span class="linenos">5288</span></a>
+</span><span id="L-5289"><a href="#L-5289"><span class="linenos">5289</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5290"><a href="#L-5290"><span class="linenos">5290</span></a><span class="sd"> The identifier ast node.</span>
+</span><span id="L-5291"><a href="#L-5291"><span class="linenos">5291</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5292"><a href="#L-5292"><span class="linenos">5292</span></a>
+</span><span id="L-5293"><a href="#L-5293"><span class="linenos">5293</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-5294"><a href="#L-5294"><span class="linenos">5294</span></a> <span class="k">return</span> <span class="kc">None</span>
+</span><span id="L-5295"><a href="#L-5295"><span class="linenos">5295</span></a>
+</span><span id="L-5296"><a href="#L-5296"><span class="linenos">5296</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Identifier</span><span class="p">):</span>
+</span><span id="L-5297"><a href="#L-5297"><span class="linenos">5297</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-5298"><a href="#L-5298"><span class="linenos">5298</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="L-5299"><a href="#L-5299"><span class="linenos">5299</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">Identifier</span><span class="p">(</span>
+</span><span id="L-5300"><a href="#L-5300"><span class="linenos">5300</span></a> <span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
+</span><span id="L-5301"><a href="#L-5301"><span class="linenos">5301</span></a> <span class="n">quoted</span><span class="o">=</span><span class="ow">not</span> <span class="n">SAFE_IDENTIFIER_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">quoted</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">quoted</span><span class="p">,</span>
+</span><span id="L-5302"><a href="#L-5302"><span class="linenos">5302</span></a> <span class="p">)</span>
+</span><span id="L-5303"><a href="#L-5303"><span class="linenos">5303</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-5304"><a href="#L-5304"><span class="linenos">5304</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Name needs to be a string or an Identifier, got: </span><span class="si">{</span><span class="n">name</span><span class="o">.</span><span class="vm">__class__</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-5305"><a href="#L-5305"><span class="linenos">5305</span></a> <span class="k">return</span> <span class="n">identifier</span>
+</span><span id="L-5306"><a href="#L-5306"><span class="linenos">5306</span></a>
+</span><span id="L-5307"><a href="#L-5307"><span class="linenos">5307</span></a>
+</span><span id="L-5308"><a href="#L-5308"><span class="linenos">5308</span></a><span class="n">INTERVAL_STRING_RE</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;\s*([0-9]+)\s*([a-zA-Z]+)\s*&quot;</span><span class="p">)</span>
</span><span id="L-5309"><a href="#L-5309"><span class="linenos">5309</span></a>
-</span><span id="L-5310"><a href="#L-5310"><span class="linenos">5310</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
-</span><span id="L-5311"><a href="#L-5311"><span class="linenos">5311</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Table</span><span class="p">:</span>
-</span><span id="L-5312"><a href="#L-5312"><span class="linenos">5312</span></a> <span class="o">...</span>
-</span><span id="L-5313"><a href="#L-5313"><span class="linenos">5313</span></a>
-</span><span id="L-5314"><a href="#L-5314"><span class="linenos">5314</span></a>
-</span><span id="L-5315"><a href="#L-5315"><span class="linenos">5315</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
-</span><span id="L-5316"><a href="#L-5316"><span class="linenos">5316</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-5317"><a href="#L-5317"><span class="linenos">5317</span></a> <span class="o">...</span>
+</span><span id="L-5310"><a href="#L-5310"><span class="linenos">5310</span></a>
+</span><span id="L-5311"><a href="#L-5311"><span class="linenos">5311</span></a><span class="k">def</span> <span class="nf">to_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Literal</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Interval</span><span class="p">:</span>
+</span><span id="L-5312"><a href="#L-5312"><span class="linenos">5312</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an interval expression from a string like &#39;1 day&#39; or &#39;5 months&#39;.&quot;&quot;&quot;</span>
+</span><span id="L-5313"><a href="#L-5313"><span class="linenos">5313</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">interval</span><span class="p">,</span> <span class="n">Literal</span><span class="p">):</span>
+</span><span id="L-5314"><a href="#L-5314"><span class="linenos">5314</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval</span><span class="o">.</span><span class="n">is_string</span><span class="p">:</span>
+</span><span id="L-5315"><a href="#L-5315"><span class="linenos">5315</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
+</span><span id="L-5316"><a href="#L-5316"><span class="linenos">5316</span></a>
+</span><span id="L-5317"><a href="#L-5317"><span class="linenos">5317</span></a> <span class="n">interval</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">this</span>
</span><span id="L-5318"><a href="#L-5318"><span class="linenos">5318</span></a>
-</span><span id="L-5319"><a href="#L-5319"><span class="linenos">5319</span></a>
-</span><span id="L-5320"><a href="#L-5320"><span class="linenos">5320</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span>
-</span><span id="L-5321"><a href="#L-5321"><span class="linenos">5321</span></a> <span class="n">sql_path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">],</span> <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 class="o">**</span><span class="n">kwargs</span>
-</span><span id="L-5322"><a href="#L-5322"><span class="linenos">5322</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Table</span><span class="p">]:</span>
-</span><span id="L-5323"><a href="#L-5323"><span class="linenos">5323</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5324"><a href="#L-5324"><span class="linenos">5324</span></a><span class="sd"> Create a table expression from a `[catalog].[schema].[table]` sql path. Catalog and schema are optional.</span>
-</span><span id="L-5325"><a href="#L-5325"><span class="linenos">5325</span></a><span class="sd"> If a table is passed in then that table is returned.</span>
-</span><span id="L-5326"><a href="#L-5326"><span class="linenos">5326</span></a>
-</span><span id="L-5327"><a href="#L-5327"><span class="linenos">5327</span></a><span class="sd"> Args:</span>
-</span><span id="L-5328"><a href="#L-5328"><span class="linenos">5328</span></a><span class="sd"> sql_path: a `[catalog].[schema].[table]` string.</span>
-</span><span id="L-5329"><a href="#L-5329"><span class="linenos">5329</span></a><span class="sd"> dialect: the source dialect according to which the table name will be parsed.</span>
-</span><span id="L-5330"><a href="#L-5330"><span class="linenos">5330</span></a><span class="sd"> kwargs: the kwargs to instantiate the resulting `Table` expression with.</span>
-</span><span id="L-5331"><a href="#L-5331"><span class="linenos">5331</span></a>
-</span><span id="L-5332"><a href="#L-5332"><span class="linenos">5332</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5333"><a href="#L-5333"><span class="linenos">5333</span></a><span class="sd"> A table expression.</span>
-</span><span id="L-5334"><a href="#L-5334"><span class="linenos">5334</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5335"><a href="#L-5335"><span class="linenos">5335</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
-</span><span id="L-5336"><a href="#L-5336"><span class="linenos">5336</span></a> <span class="k">return</span> <span class="n">sql_path</span>
-</span><span id="L-5337"><a href="#L-5337"><span class="linenos">5337</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="L-5338"><a href="#L-5338"><span class="linenos">5338</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for a table: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-5319"><a href="#L-5319"><span class="linenos">5319</span></a> <span class="n">interval_parts</span> <span class="o">=</span> <span class="n">INTERVAL_STRING_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">interval</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="L-5320"><a href="#L-5320"><span class="linenos">5320</span></a>
+</span><span id="L-5321"><a href="#L-5321"><span class="linenos">5321</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval_parts</span><span class="p">:</span>
+</span><span id="L-5322"><a href="#L-5322"><span class="linenos">5322</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
+</span><span id="L-5323"><a href="#L-5323"><span class="linenos">5323</span></a>
+</span><span id="L-5324"><a href="#L-5324"><span class="linenos">5324</span></a> <span class="k">return</span> <span class="n">Interval</span><span class="p">(</span>
+</span><span id="L-5325"><a href="#L-5325"><span class="linenos">5325</span></a> <span class="n">this</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">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span>
+</span><span id="L-5326"><a href="#L-5326"><span class="linenos">5326</span></a> <span class="n">unit</span><span class="o">=</span><span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)),</span>
+</span><span id="L-5327"><a href="#L-5327"><span class="linenos">5327</span></a> <span class="p">)</span>
+</span><span id="L-5328"><a href="#L-5328"><span class="linenos">5328</span></a>
+</span><span id="L-5329"><a href="#L-5329"><span class="linenos">5329</span></a>
+</span><span id="L-5330"><a href="#L-5330"><span class="linenos">5330</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
+</span><span id="L-5331"><a href="#L-5331"><span class="linenos">5331</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Table</span><span class="p">:</span>
+</span><span id="L-5332"><a href="#L-5332"><span class="linenos">5332</span></a> <span class="o">...</span>
+</span><span id="L-5333"><a href="#L-5333"><span class="linenos">5333</span></a>
+</span><span id="L-5334"><a href="#L-5334"><span class="linenos">5334</span></a>
+</span><span id="L-5335"><a href="#L-5335"><span class="linenos">5335</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
+</span><span id="L-5336"><a href="#L-5336"><span class="linenos">5336</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-5337"><a href="#L-5337"><span class="linenos">5337</span></a> <span class="o">...</span>
+</span><span id="L-5338"><a href="#L-5338"><span class="linenos">5338</span></a>
</span><span id="L-5339"><a href="#L-5339"><span class="linenos">5339</span></a>
-</span><span id="L-5340"><a href="#L-5340"><span class="linenos">5340</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="L-5341"><a href="#L-5341"><span class="linenos">5341</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="L-5342"><a href="#L-5342"><span class="linenos">5342</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="L-5343"><a href="#L-5343"><span class="linenos">5343</span></a> <span class="n">table</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
-</span><span id="L-5344"><a href="#L-5344"><span class="linenos">5344</span></a>
-</span><span id="L-5345"><a href="#L-5345"><span class="linenos">5345</span></a> <span class="k">return</span> <span class="n">table</span>
+</span><span id="L-5340"><a href="#L-5340"><span class="linenos">5340</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span>
+</span><span id="L-5341"><a href="#L-5341"><span class="linenos">5341</span></a> <span class="n">sql_path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">],</span> <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 class="o">**</span><span class="n">kwargs</span>
+</span><span id="L-5342"><a href="#L-5342"><span class="linenos">5342</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Table</span><span class="p">]:</span>
+</span><span id="L-5343"><a href="#L-5343"><span class="linenos">5343</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5344"><a href="#L-5344"><span class="linenos">5344</span></a><span class="sd"> Create a table expression from a `[catalog].[schema].[table]` sql path. Catalog and schema are optional.</span>
+</span><span id="L-5345"><a href="#L-5345"><span class="linenos">5345</span></a><span class="sd"> If a table is passed in then that table is returned.</span>
</span><span id="L-5346"><a href="#L-5346"><span class="linenos">5346</span></a>
-</span><span id="L-5347"><a href="#L-5347"><span class="linenos">5347</span></a>
-</span><span id="L-5348"><a href="#L-5348"><span class="linenos">5348</span></a><span class="k">def</span> <span class="nf">to_column</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Column</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
-</span><span id="L-5349"><a href="#L-5349"><span class="linenos">5349</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5350"><a href="#L-5350"><span class="linenos">5350</span></a><span class="sd"> Create a column from a `[table].[column]` sql path. Schema is optional.</span>
+</span><span id="L-5347"><a href="#L-5347"><span class="linenos">5347</span></a><span class="sd"> Args:</span>
+</span><span id="L-5348"><a href="#L-5348"><span class="linenos">5348</span></a><span class="sd"> sql_path: a `[catalog].[schema].[table]` string.</span>
+</span><span id="L-5349"><a href="#L-5349"><span class="linenos">5349</span></a><span class="sd"> dialect: the source dialect according to which the table name will be parsed.</span>
+</span><span id="L-5350"><a href="#L-5350"><span class="linenos">5350</span></a><span class="sd"> kwargs: the kwargs to instantiate the resulting `Table` expression with.</span>
</span><span id="L-5351"><a href="#L-5351"><span class="linenos">5351</span></a>
-</span><span id="L-5352"><a href="#L-5352"><span class="linenos">5352</span></a><span class="sd"> If a column is passed in then that column is returned.</span>
-</span><span id="L-5353"><a href="#L-5353"><span class="linenos">5353</span></a>
-</span><span id="L-5354"><a href="#L-5354"><span class="linenos">5354</span></a><span class="sd"> Args:</span>
-</span><span id="L-5355"><a href="#L-5355"><span class="linenos">5355</span></a><span class="sd"> sql_path: `[table].[column]` string</span>
-</span><span id="L-5356"><a href="#L-5356"><span class="linenos">5356</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5357"><a href="#L-5357"><span class="linenos">5357</span></a><span class="sd"> Table: A column expression</span>
-</span><span id="L-5358"><a href="#L-5358"><span class="linenos">5358</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5359"><a href="#L-5359"><span class="linenos">5359</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Column</span><span class="p">):</span>
-</span><span id="L-5360"><a href="#L-5360"><span class="linenos">5360</span></a> <span class="k">return</span> <span class="n">sql_path</span>
-</span><span id="L-5361"><a href="#L-5361"><span class="linenos">5361</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="L-5362"><a href="#L-5362"><span class="linenos">5362</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for column: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="L-5363"><a href="#L-5363"><span class="linenos">5363</span></a> <span class="k">return</span> <span class="n">column</span><span class="p">(</span><span class="o">*</span><span class="nb">reversed</span><span class="p">(</span><span class="n">sql_path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="L-5352"><a href="#L-5352"><span class="linenos">5352</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5353"><a href="#L-5353"><span class="linenos">5353</span></a><span class="sd"> A table expression.</span>
+</span><span id="L-5354"><a href="#L-5354"><span class="linenos">5354</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5355"><a href="#L-5355"><span class="linenos">5355</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
+</span><span id="L-5356"><a href="#L-5356"><span class="linenos">5356</span></a> <span class="k">return</span> <span class="n">sql_path</span>
+</span><span id="L-5357"><a href="#L-5357"><span class="linenos">5357</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="L-5358"><a href="#L-5358"><span class="linenos">5358</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for a table: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-5359"><a href="#L-5359"><span class="linenos">5359</span></a>
+</span><span id="L-5360"><a href="#L-5360"><span class="linenos">5360</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="L-5361"><a href="#L-5361"><span class="linenos">5361</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="L-5362"><a href="#L-5362"><span class="linenos">5362</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="L-5363"><a href="#L-5363"><span class="linenos">5363</span></a> <span class="n">table</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
</span><span id="L-5364"><a href="#L-5364"><span class="linenos">5364</span></a>
-</span><span id="L-5365"><a href="#L-5365"><span class="linenos">5365</span></a>
-</span><span id="L-5366"><a href="#L-5366"><span class="linenos">5366</span></a><span class="k">def</span> <span class="nf">alias_</span><span class="p">(</span>
-</span><span id="L-5367"><a href="#L-5367"><span class="linenos">5367</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-5368"><a href="#L-5368"><span class="linenos">5368</span></a> <span class="n">alias</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
-</span><span id="L-5369"><a href="#L-5369"><span class="linenos">5369</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="L-5370"><a href="#L-5370"><span class="linenos">5370</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5371"><a href="#L-5371"><span class="linenos">5371</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5372"><a href="#L-5372"><span class="linenos">5372</span></a> <span class="n">copy</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-5373"><a href="#L-5373"><span class="linenos">5373</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5374"><a href="#L-5374"><span class="linenos">5374</span></a><span class="p">):</span>
-</span><span id="L-5375"><a href="#L-5375"><span class="linenos">5375</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Alias expression.</span>
-</span><span id="L-5376"><a href="#L-5376"><span class="linenos">5376</span></a>
-</span><span id="L-5377"><a href="#L-5377"><span class="linenos">5377</span></a><span class="sd"> Example:</span>
-</span><span id="L-5378"><a href="#L-5378"><span class="linenos">5378</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;foo&#39;, &#39;bar&#39;).sql()</span>
-</span><span id="L-5379"><a href="#L-5379"><span class="linenos">5379</span></a><span class="sd"> &#39;foo AS bar&#39;</span>
-</span><span id="L-5380"><a href="#L-5380"><span class="linenos">5380</span></a>
-</span><span id="L-5381"><a href="#L-5381"><span class="linenos">5381</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;(select 1, 2)&#39;, &#39;bar&#39;, table=[&#39;a&#39;, &#39;b&#39;]).sql()</span>
-</span><span id="L-5382"><a href="#L-5382"><span class="linenos">5382</span></a><span class="sd"> &#39;(SELECT 1, 2) AS bar(a, b)&#39;</span>
-</span><span id="L-5383"><a href="#L-5383"><span class="linenos">5383</span></a>
-</span><span id="L-5384"><a href="#L-5384"><span class="linenos">5384</span></a><span class="sd"> Args:</span>
-</span><span id="L-5385"><a href="#L-5385"><span class="linenos">5385</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="L-5386"><a href="#L-5386"><span class="linenos">5386</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5387"><a href="#L-5387"><span class="linenos">5387</span></a><span class="sd"> alias: the alias name to use. If the name has</span>
-</span><span id="L-5388"><a href="#L-5388"><span class="linenos">5388</span></a><span class="sd"> special characters it is quoted.</span>
-</span><span id="L-5389"><a href="#L-5389"><span class="linenos">5389</span></a><span class="sd"> table: Whether or not to create a table alias, can also be a list of columns.</span>
-</span><span id="L-5390"><a href="#L-5390"><span class="linenos">5390</span></a><span class="sd"> quoted: whether or not to quote the alias</span>
-</span><span id="L-5391"><a href="#L-5391"><span class="linenos">5391</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-5392"><a href="#L-5392"><span class="linenos">5392</span></a><span class="sd"> copy: Whether or not to copy the expression.</span>
-</span><span id="L-5393"><a href="#L-5393"><span class="linenos">5393</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="L-5394"><a href="#L-5394"><span class="linenos">5394</span></a>
-</span><span id="L-5395"><a href="#L-5395"><span class="linenos">5395</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5396"><a href="#L-5396"><span class="linenos">5396</span></a><span class="sd"> Alias: the aliased expression</span>
-</span><span id="L-5397"><a href="#L-5397"><span class="linenos">5397</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5398"><a href="#L-5398"><span class="linenos">5398</span></a> <span class="n">exp</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5399"><a href="#L-5399"><span class="linenos">5399</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">)</span>
+</span><span id="L-5365"><a href="#L-5365"><span class="linenos">5365</span></a> <span class="k">return</span> <span class="n">table</span>
+</span><span id="L-5366"><a href="#L-5366"><span class="linenos">5366</span></a>
+</span><span id="L-5367"><a href="#L-5367"><span class="linenos">5367</span></a>
+</span><span id="L-5368"><a href="#L-5368"><span class="linenos">5368</span></a><span class="k">def</span> <span class="nf">to_column</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Column</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
+</span><span id="L-5369"><a href="#L-5369"><span class="linenos">5369</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5370"><a href="#L-5370"><span class="linenos">5370</span></a><span class="sd"> Create a column from a `[table].[column]` sql path. Schema is optional.</span>
+</span><span id="L-5371"><a href="#L-5371"><span class="linenos">5371</span></a>
+</span><span id="L-5372"><a href="#L-5372"><span class="linenos">5372</span></a><span class="sd"> If a column is passed in then that column is returned.</span>
+</span><span id="L-5373"><a href="#L-5373"><span class="linenos">5373</span></a>
+</span><span id="L-5374"><a href="#L-5374"><span class="linenos">5374</span></a><span class="sd"> Args:</span>
+</span><span id="L-5375"><a href="#L-5375"><span class="linenos">5375</span></a><span class="sd"> sql_path: `[table].[column]` string</span>
+</span><span id="L-5376"><a href="#L-5376"><span class="linenos">5376</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5377"><a href="#L-5377"><span class="linenos">5377</span></a><span class="sd"> Table: A column expression</span>
+</span><span id="L-5378"><a href="#L-5378"><span class="linenos">5378</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5379"><a href="#L-5379"><span class="linenos">5379</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Column</span><span class="p">):</span>
+</span><span id="L-5380"><a href="#L-5380"><span class="linenos">5380</span></a> <span class="k">return</span> <span class="n">sql_path</span>
+</span><span id="L-5381"><a href="#L-5381"><span class="linenos">5381</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="L-5382"><a href="#L-5382"><span class="linenos">5382</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for column: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-5383"><a href="#L-5383"><span class="linenos">5383</span></a> <span class="k">return</span> <span class="n">column</span><span class="p">(</span><span class="o">*</span><span class="nb">reversed</span><span class="p">(</span><span class="n">sql_path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="L-5384"><a href="#L-5384"><span class="linenos">5384</span></a>
+</span><span id="L-5385"><a href="#L-5385"><span class="linenos">5385</span></a>
+</span><span id="L-5386"><a href="#L-5386"><span class="linenos">5386</span></a><span class="k">def</span> <span class="nf">alias_</span><span class="p">(</span>
+</span><span id="L-5387"><a href="#L-5387"><span class="linenos">5387</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-5388"><a href="#L-5388"><span class="linenos">5388</span></a> <span class="n">alias</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
+</span><span id="L-5389"><a href="#L-5389"><span class="linenos">5389</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="L-5390"><a href="#L-5390"><span class="linenos">5390</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5391"><a href="#L-5391"><span class="linenos">5391</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5392"><a href="#L-5392"><span class="linenos">5392</span></a> <span class="n">copy</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-5393"><a href="#L-5393"><span class="linenos">5393</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5394"><a href="#L-5394"><span class="linenos">5394</span></a><span class="p">):</span>
+</span><span id="L-5395"><a href="#L-5395"><span class="linenos">5395</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Alias expression.</span>
+</span><span id="L-5396"><a href="#L-5396"><span class="linenos">5396</span></a>
+</span><span id="L-5397"><a href="#L-5397"><span class="linenos">5397</span></a><span class="sd"> Example:</span>
+</span><span id="L-5398"><a href="#L-5398"><span class="linenos">5398</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;foo&#39;, &#39;bar&#39;).sql()</span>
+</span><span id="L-5399"><a href="#L-5399"><span class="linenos">5399</span></a><span class="sd"> &#39;foo AS bar&#39;</span>
</span><span id="L-5400"><a href="#L-5400"><span class="linenos">5400</span></a>
-</span><span id="L-5401"><a href="#L-5401"><span class="linenos">5401</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="L-5402"><a href="#L-5402"><span class="linenos">5402</span></a> <span class="n">table_alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="L-5403"><a href="#L-5403"><span class="linenos">5403</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">table_alias</span><span class="p">)</span>
-</span><span id="L-5404"><a href="#L-5404"><span class="linenos">5404</span></a>
-</span><span id="L-5405"><a href="#L-5405"><span class="linenos">5405</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
-</span><span id="L-5406"><a href="#L-5406"><span class="linenos">5406</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="L-5407"><a href="#L-5407"><span class="linenos">5407</span></a> <span class="n">table_alias</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;columns&quot;</span><span class="p">,</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">))</span>
-</span><span id="L-5408"><a href="#L-5408"><span class="linenos">5408</span></a>
-</span><span id="L-5409"><a href="#L-5409"><span class="linenos">5409</span></a> <span class="k">return</span> <span class="n">exp</span>
-</span><span id="L-5410"><a href="#L-5410"><span class="linenos">5410</span></a>
-</span><span id="L-5411"><a href="#L-5411"><span class="linenos">5411</span></a> <span class="c1"># We don&#39;t set the &quot;alias&quot; arg for Window expressions, because that would add an IDENTIFIER node in</span>
-</span><span id="L-5412"><a href="#L-5412"><span class="linenos">5412</span></a> <span class="c1"># the AST, representing a &quot;named_window&quot; [1] construct (eg. bigquery). What we want is an ALIAS node</span>
-</span><span id="L-5413"><a href="#L-5413"><span class="linenos">5413</span></a> <span class="c1"># for the complete Window expression.</span>
-</span><span id="L-5414"><a href="#L-5414"><span class="linenos">5414</span></a> <span class="c1">#</span>
-</span><span id="L-5415"><a href="#L-5415"><span class="linenos">5415</span></a> <span class="c1"># [1]: https://cloud.google.com/bigquery/docs/reference/standard-sql/window-function-calls</span>
-</span><span id="L-5416"><a href="#L-5416"><span class="linenos">5416</span></a>
-</span><span id="L-5417"><a href="#L-5417"><span class="linenos">5417</span></a> <span class="k">if</span> <span class="s2">&quot;alias&quot;</span> <span class="ow">in</span> <span class="n">exp</span><span class="o">.</span><span class="n">arg_types</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exp</span><span class="p">,</span> <span class="n">Window</span><span class="p">):</span>
-</span><span id="L-5418"><a href="#L-5418"><span class="linenos">5418</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">alias</span><span class="p">)</span>
-</span><span id="L-5419"><a href="#L-5419"><span class="linenos">5419</span></a> <span class="k">return</span> <span class="n">exp</span>
-</span><span id="L-5420"><a href="#L-5420"><span class="linenos">5420</span></a> <span class="k">return</span> <span class="n">Alias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">exp</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="L-5421"><a href="#L-5421"><span class="linenos">5421</span></a>
-</span><span id="L-5422"><a href="#L-5422"><span class="linenos">5422</span></a>
-</span><span id="L-5423"><a href="#L-5423"><span class="linenos">5423</span></a><span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span>
-</span><span id="L-5424"><a href="#L-5424"><span class="linenos">5424</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="L-5425"><a href="#L-5425"><span class="linenos">5425</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5426"><a href="#L-5426"><span class="linenos">5426</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5427"><a href="#L-5427"><span class="linenos">5427</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="L-5428"><a href="#L-5428"><span class="linenos">5428</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="L-5429"><a href="#L-5429"><span class="linenos">5429</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5430"><a href="#L-5430"><span class="linenos">5430</span></a><span class="sd"> Build a subquery expression.</span>
-</span><span id="L-5431"><a href="#L-5431"><span class="linenos">5431</span></a>
-</span><span id="L-5432"><a href="#L-5432"><span class="linenos">5432</span></a><span class="sd"> Example:</span>
-</span><span id="L-5433"><a href="#L-5433"><span class="linenos">5433</span></a><span class="sd"> &gt;&gt;&gt; subquery(&#39;select x from tbl&#39;, &#39;bar&#39;).select(&#39;x&#39;).sql()</span>
-</span><span id="L-5434"><a href="#L-5434"><span class="linenos">5434</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl) AS bar&#39;</span>
-</span><span id="L-5435"><a href="#L-5435"><span class="linenos">5435</span></a>
-</span><span id="L-5436"><a href="#L-5436"><span class="linenos">5436</span></a><span class="sd"> Args:</span>
-</span><span id="L-5437"><a href="#L-5437"><span class="linenos">5437</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="L-5438"><a href="#L-5438"><span class="linenos">5438</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="L-5439"><a href="#L-5439"><span class="linenos">5439</span></a><span class="sd"> alias: the alias name to use.</span>
-</span><span id="L-5440"><a href="#L-5440"><span class="linenos">5440</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="L-5441"><a href="#L-5441"><span class="linenos">5441</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5401"><a href="#L-5401"><span class="linenos">5401</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;(select 1, 2)&#39;, &#39;bar&#39;, table=[&#39;a&#39;, &#39;b&#39;]).sql()</span>
+</span><span id="L-5402"><a href="#L-5402"><span class="linenos">5402</span></a><span class="sd"> &#39;(SELECT 1, 2) AS bar(a, b)&#39;</span>
+</span><span id="L-5403"><a href="#L-5403"><span class="linenos">5403</span></a>
+</span><span id="L-5404"><a href="#L-5404"><span class="linenos">5404</span></a><span class="sd"> Args:</span>
+</span><span id="L-5405"><a href="#L-5405"><span class="linenos">5405</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="L-5406"><a href="#L-5406"><span class="linenos">5406</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5407"><a href="#L-5407"><span class="linenos">5407</span></a><span class="sd"> alias: the alias name to use. If the name has</span>
+</span><span id="L-5408"><a href="#L-5408"><span class="linenos">5408</span></a><span class="sd"> special characters it is quoted.</span>
+</span><span id="L-5409"><a href="#L-5409"><span class="linenos">5409</span></a><span class="sd"> table: Whether or not to create a table alias, can also be a list of columns.</span>
+</span><span id="L-5410"><a href="#L-5410"><span class="linenos">5410</span></a><span class="sd"> quoted: whether or not to quote the alias</span>
+</span><span id="L-5411"><a href="#L-5411"><span class="linenos">5411</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-5412"><a href="#L-5412"><span class="linenos">5412</span></a><span class="sd"> copy: Whether or not to copy the expression.</span>
+</span><span id="L-5413"><a href="#L-5413"><span class="linenos">5413</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5414"><a href="#L-5414"><span class="linenos">5414</span></a>
+</span><span id="L-5415"><a href="#L-5415"><span class="linenos">5415</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5416"><a href="#L-5416"><span class="linenos">5416</span></a><span class="sd"> Alias: the aliased expression</span>
+</span><span id="L-5417"><a href="#L-5417"><span class="linenos">5417</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5418"><a href="#L-5418"><span class="linenos">5418</span></a> <span class="n">exp</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5419"><a href="#L-5419"><span class="linenos">5419</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">)</span>
+</span><span id="L-5420"><a href="#L-5420"><span class="linenos">5420</span></a>
+</span><span id="L-5421"><a href="#L-5421"><span class="linenos">5421</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="L-5422"><a href="#L-5422"><span class="linenos">5422</span></a> <span class="n">table_alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="L-5423"><a href="#L-5423"><span class="linenos">5423</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">table_alias</span><span class="p">)</span>
+</span><span id="L-5424"><a href="#L-5424"><span class="linenos">5424</span></a>
+</span><span id="L-5425"><a href="#L-5425"><span class="linenos">5425</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
+</span><span id="L-5426"><a href="#L-5426"><span class="linenos">5426</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="L-5427"><a href="#L-5427"><span class="linenos">5427</span></a> <span class="n">table_alias</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;columns&quot;</span><span class="p">,</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">))</span>
+</span><span id="L-5428"><a href="#L-5428"><span class="linenos">5428</span></a>
+</span><span id="L-5429"><a href="#L-5429"><span class="linenos">5429</span></a> <span class="k">return</span> <span class="n">exp</span>
+</span><span id="L-5430"><a href="#L-5430"><span class="linenos">5430</span></a>
+</span><span id="L-5431"><a href="#L-5431"><span class="linenos">5431</span></a> <span class="c1"># We don&#39;t set the &quot;alias&quot; arg for Window expressions, because that would add an IDENTIFIER node in</span>
+</span><span id="L-5432"><a href="#L-5432"><span class="linenos">5432</span></a> <span class="c1"># the AST, representing a &quot;named_window&quot; [1] construct (eg. bigquery). What we want is an ALIAS node</span>
+</span><span id="L-5433"><a href="#L-5433"><span class="linenos">5433</span></a> <span class="c1"># for the complete Window expression.</span>
+</span><span id="L-5434"><a href="#L-5434"><span class="linenos">5434</span></a> <span class="c1">#</span>
+</span><span id="L-5435"><a href="#L-5435"><span class="linenos">5435</span></a> <span class="c1"># [1]: https://cloud.google.com/bigquery/docs/reference/standard-sql/window-function-calls</span>
+</span><span id="L-5436"><a href="#L-5436"><span class="linenos">5436</span></a>
+</span><span id="L-5437"><a href="#L-5437"><span class="linenos">5437</span></a> <span class="k">if</span> <span class="s2">&quot;alias&quot;</span> <span class="ow">in</span> <span class="n">exp</span><span class="o">.</span><span class="n">arg_types</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exp</span><span class="p">,</span> <span class="n">Window</span><span class="p">):</span>
+</span><span id="L-5438"><a href="#L-5438"><span class="linenos">5438</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">alias</span><span class="p">)</span>
+</span><span id="L-5439"><a href="#L-5439"><span class="linenos">5439</span></a> <span class="k">return</span> <span class="n">exp</span>
+</span><span id="L-5440"><a href="#L-5440"><span class="linenos">5440</span></a> <span class="k">return</span> <span class="n">Alias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">exp</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="L-5441"><a href="#L-5441"><span class="linenos">5441</span></a>
</span><span id="L-5442"><a href="#L-5442"><span class="linenos">5442</span></a>
-</span><span id="L-5443"><a href="#L-5443"><span class="linenos">5443</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5444"><a href="#L-5444"><span class="linenos">5444</span></a><span class="sd"> A new Select instance with the subquery expression included.</span>
-</span><span id="L-5445"><a href="#L-5445"><span class="linenos">5445</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5446"><a href="#L-5446"><span class="linenos">5446</span></a>
-</span><span id="L-5447"><a href="#L-5447"><span class="linenos">5447</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="L-5448"><a href="#L-5448"><span class="linenos">5448</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="L-5449"><a href="#L-5449"><span class="linenos">5449</span></a>
-</span><span id="L-5450"><a href="#L-5450"><span class="linenos">5450</span></a>
-</span><span id="L-5451"><a href="#L-5451"><span class="linenos">5451</span></a><span class="k">def</span> <span class="nf">column</span><span class="p">(</span>
-</span><span id="L-5452"><a href="#L-5452"><span class="linenos">5452</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
-</span><span id="L-5453"><a href="#L-5453"><span class="linenos">5453</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5454"><a href="#L-5454"><span class="linenos">5454</span></a> <span class="n">db</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5455"><a href="#L-5455"><span class="linenos">5455</span></a> <span class="n">catalog</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5456"><a href="#L-5456"><span class="linenos">5456</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5457"><a href="#L-5457"><span class="linenos">5457</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
-</span><span id="L-5458"><a href="#L-5458"><span class="linenos">5458</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5459"><a href="#L-5459"><span class="linenos">5459</span></a><span class="sd"> Build a Column.</span>
-</span><span id="L-5460"><a href="#L-5460"><span class="linenos">5460</span></a>
-</span><span id="L-5461"><a href="#L-5461"><span class="linenos">5461</span></a><span class="sd"> Args:</span>
-</span><span id="L-5462"><a href="#L-5462"><span class="linenos">5462</span></a><span class="sd"> col: Column name.</span>
-</span><span id="L-5463"><a href="#L-5463"><span class="linenos">5463</span></a><span class="sd"> table: Table name.</span>
-</span><span id="L-5464"><a href="#L-5464"><span class="linenos">5464</span></a><span class="sd"> db: Database name.</span>
-</span><span id="L-5465"><a href="#L-5465"><span class="linenos">5465</span></a><span class="sd"> catalog: Catalog name.</span>
-</span><span id="L-5466"><a href="#L-5466"><span class="linenos">5466</span></a><span class="sd"> quoted: Whether to force quotes on the column&#39;s identifiers.</span>
-</span><span id="L-5467"><a href="#L-5467"><span class="linenos">5467</span></a>
-</span><span id="L-5468"><a href="#L-5468"><span class="linenos">5468</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5469"><a href="#L-5469"><span class="linenos">5469</span></a><span class="sd"> The new Column instance.</span>
-</span><span id="L-5470"><a href="#L-5470"><span class="linenos">5470</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5471"><a href="#L-5471"><span class="linenos">5471</span></a> <span class="k">return</span> <span class="n">Column</span><span class="p">(</span>
-</span><span id="L-5472"><a href="#L-5472"><span class="linenos">5472</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">col</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5473"><a href="#L-5473"><span class="linenos">5473</span></a> <span class="n">table</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5474"><a href="#L-5474"><span class="linenos">5474</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5475"><a href="#L-5475"><span class="linenos">5475</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5476"><a href="#L-5476"><span class="linenos">5476</span></a> <span class="p">)</span>
-</span><span id="L-5477"><a href="#L-5477"><span class="linenos">5477</span></a>
-</span><span id="L-5478"><a href="#L-5478"><span class="linenos">5478</span></a>
-</span><span id="L-5479"><a href="#L-5479"><span class="linenos">5479</span></a><span class="k">def</span> <span class="nf">cast</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Cast</span><span class="p">:</span>
-</span><span id="L-5480"><a href="#L-5480"><span class="linenos">5480</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Cast an expression to a data type.</span>
-</span><span id="L-5481"><a href="#L-5481"><span class="linenos">5481</span></a>
-</span><span id="L-5482"><a href="#L-5482"><span class="linenos">5482</span></a><span class="sd"> Example:</span>
-</span><span id="L-5483"><a href="#L-5483"><span class="linenos">5483</span></a><span class="sd"> &gt;&gt;&gt; cast(&#39;x + 1&#39;, &#39;int&#39;).sql()</span>
-</span><span id="L-5484"><a href="#L-5484"><span class="linenos">5484</span></a><span class="sd"> &#39;CAST(x + 1 AS INT)&#39;</span>
-</span><span id="L-5485"><a href="#L-5485"><span class="linenos">5485</span></a>
-</span><span id="L-5486"><a href="#L-5486"><span class="linenos">5486</span></a><span class="sd"> Args:</span>
-</span><span id="L-5487"><a href="#L-5487"><span class="linenos">5487</span></a><span class="sd"> expression: The expression to cast.</span>
-</span><span id="L-5488"><a href="#L-5488"><span class="linenos">5488</span></a><span class="sd"> to: The datatype to cast to.</span>
-</span><span id="L-5489"><a href="#L-5489"><span class="linenos">5489</span></a>
-</span><span id="L-5490"><a href="#L-5490"><span class="linenos">5490</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5491"><a href="#L-5491"><span class="linenos">5491</span></a><span class="sd"> The new Cast instance.</span>
-</span><span id="L-5492"><a href="#L-5492"><span class="linenos">5492</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5493"><a href="#L-5493"><span class="linenos">5493</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</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-5494"><a href="#L-5494"><span class="linenos">5494</span></a> <span class="k">return</span> <span class="n">Cast</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">to</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
-</span><span id="L-5495"><a href="#L-5495"><span class="linenos">5495</span></a>
-</span><span id="L-5496"><a href="#L-5496"><span class="linenos">5496</span></a>
-</span><span id="L-5497"><a href="#L-5497"><span class="linenos">5497</span></a><span class="k">def</span> <span class="nf">table_</span><span class="p">(</span>
-</span><span id="L-5498"><a href="#L-5498"><span class="linenos">5498</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
-</span><span id="L-5499"><a href="#L-5499"><span class="linenos">5499</span></a> <span class="n">db</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5500"><a href="#L-5500"><span class="linenos">5500</span></a> <span class="n">catalog</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5501"><a href="#L-5501"><span class="linenos">5501</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5502"><a href="#L-5502"><span class="linenos">5502</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5503"><a href="#L-5503"><span class="linenos">5503</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Table</span><span class="p">:</span>
-</span><span id="L-5504"><a href="#L-5504"><span class="linenos">5504</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Table.</span>
+</span><span id="L-5443"><a href="#L-5443"><span class="linenos">5443</span></a><span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span>
+</span><span id="L-5444"><a href="#L-5444"><span class="linenos">5444</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="L-5445"><a href="#L-5445"><span class="linenos">5445</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5446"><a href="#L-5446"><span class="linenos">5446</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5447"><a href="#L-5447"><span class="linenos">5447</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="L-5448"><a href="#L-5448"><span class="linenos">5448</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="L-5449"><a href="#L-5449"><span class="linenos">5449</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5450"><a href="#L-5450"><span class="linenos">5450</span></a><span class="sd"> Build a subquery expression.</span>
+</span><span id="L-5451"><a href="#L-5451"><span class="linenos">5451</span></a>
+</span><span id="L-5452"><a href="#L-5452"><span class="linenos">5452</span></a><span class="sd"> Example:</span>
+</span><span id="L-5453"><a href="#L-5453"><span class="linenos">5453</span></a><span class="sd"> &gt;&gt;&gt; subquery(&#39;select x from tbl&#39;, &#39;bar&#39;).select(&#39;x&#39;).sql()</span>
+</span><span id="L-5454"><a href="#L-5454"><span class="linenos">5454</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl) AS bar&#39;</span>
+</span><span id="L-5455"><a href="#L-5455"><span class="linenos">5455</span></a>
+</span><span id="L-5456"><a href="#L-5456"><span class="linenos">5456</span></a><span class="sd"> Args:</span>
+</span><span id="L-5457"><a href="#L-5457"><span class="linenos">5457</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="L-5458"><a href="#L-5458"><span class="linenos">5458</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="L-5459"><a href="#L-5459"><span class="linenos">5459</span></a><span class="sd"> alias: the alias name to use.</span>
+</span><span id="L-5460"><a href="#L-5460"><span class="linenos">5460</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="L-5461"><a href="#L-5461"><span class="linenos">5461</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="L-5462"><a href="#L-5462"><span class="linenos">5462</span></a>
+</span><span id="L-5463"><a href="#L-5463"><span class="linenos">5463</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5464"><a href="#L-5464"><span class="linenos">5464</span></a><span class="sd"> A new Select instance with the subquery expression included.</span>
+</span><span id="L-5465"><a href="#L-5465"><span class="linenos">5465</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5466"><a href="#L-5466"><span class="linenos">5466</span></a>
+</span><span id="L-5467"><a href="#L-5467"><span class="linenos">5467</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="L-5468"><a href="#L-5468"><span class="linenos">5468</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="L-5469"><a href="#L-5469"><span class="linenos">5469</span></a>
+</span><span id="L-5470"><a href="#L-5470"><span class="linenos">5470</span></a>
+</span><span id="L-5471"><a href="#L-5471"><span class="linenos">5471</span></a><span class="k">def</span> <span class="nf">column</span><span class="p">(</span>
+</span><span id="L-5472"><a href="#L-5472"><span class="linenos">5472</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
+</span><span id="L-5473"><a href="#L-5473"><span class="linenos">5473</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5474"><a href="#L-5474"><span class="linenos">5474</span></a> <span class="n">db</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5475"><a href="#L-5475"><span class="linenos">5475</span></a> <span class="n">catalog</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5476"><a href="#L-5476"><span class="linenos">5476</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5477"><a href="#L-5477"><span class="linenos">5477</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
+</span><span id="L-5478"><a href="#L-5478"><span class="linenos">5478</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5479"><a href="#L-5479"><span class="linenos">5479</span></a><span class="sd"> Build a Column.</span>
+</span><span id="L-5480"><a href="#L-5480"><span class="linenos">5480</span></a>
+</span><span id="L-5481"><a href="#L-5481"><span class="linenos">5481</span></a><span class="sd"> Args:</span>
+</span><span id="L-5482"><a href="#L-5482"><span class="linenos">5482</span></a><span class="sd"> col: Column name.</span>
+</span><span id="L-5483"><a href="#L-5483"><span class="linenos">5483</span></a><span class="sd"> table: Table name.</span>
+</span><span id="L-5484"><a href="#L-5484"><span class="linenos">5484</span></a><span class="sd"> db: Database name.</span>
+</span><span id="L-5485"><a href="#L-5485"><span class="linenos">5485</span></a><span class="sd"> catalog: Catalog name.</span>
+</span><span id="L-5486"><a href="#L-5486"><span class="linenos">5486</span></a><span class="sd"> quoted: Whether to force quotes on the column&#39;s identifiers.</span>
+</span><span id="L-5487"><a href="#L-5487"><span class="linenos">5487</span></a>
+</span><span id="L-5488"><a href="#L-5488"><span class="linenos">5488</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5489"><a href="#L-5489"><span class="linenos">5489</span></a><span class="sd"> The new Column instance.</span>
+</span><span id="L-5490"><a href="#L-5490"><span class="linenos">5490</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5491"><a href="#L-5491"><span class="linenos">5491</span></a> <span class="k">return</span> <span class="n">Column</span><span class="p">(</span>
+</span><span id="L-5492"><a href="#L-5492"><span class="linenos">5492</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">col</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5493"><a href="#L-5493"><span class="linenos">5493</span></a> <span class="n">table</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5494"><a href="#L-5494"><span class="linenos">5494</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5495"><a href="#L-5495"><span class="linenos">5495</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5496"><a href="#L-5496"><span class="linenos">5496</span></a> <span class="p">)</span>
+</span><span id="L-5497"><a href="#L-5497"><span class="linenos">5497</span></a>
+</span><span id="L-5498"><a href="#L-5498"><span class="linenos">5498</span></a>
+</span><span id="L-5499"><a href="#L-5499"><span class="linenos">5499</span></a><span class="k">def</span> <span class="nf">cast</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Cast</span><span class="p">:</span>
+</span><span id="L-5500"><a href="#L-5500"><span class="linenos">5500</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Cast an expression to a data type.</span>
+</span><span id="L-5501"><a href="#L-5501"><span class="linenos">5501</span></a>
+</span><span id="L-5502"><a href="#L-5502"><span class="linenos">5502</span></a><span class="sd"> Example:</span>
+</span><span id="L-5503"><a href="#L-5503"><span class="linenos">5503</span></a><span class="sd"> &gt;&gt;&gt; cast(&#39;x + 1&#39;, &#39;int&#39;).sql()</span>
+</span><span id="L-5504"><a href="#L-5504"><span class="linenos">5504</span></a><span class="sd"> &#39;CAST(x + 1 AS INT)&#39;</span>
</span><span id="L-5505"><a href="#L-5505"><span class="linenos">5505</span></a>
</span><span id="L-5506"><a href="#L-5506"><span class="linenos">5506</span></a><span class="sd"> Args:</span>
-</span><span id="L-5507"><a href="#L-5507"><span class="linenos">5507</span></a><span class="sd"> table: Table name.</span>
-</span><span id="L-5508"><a href="#L-5508"><span class="linenos">5508</span></a><span class="sd"> db: Database name.</span>
-</span><span id="L-5509"><a href="#L-5509"><span class="linenos">5509</span></a><span class="sd"> catalog: Catalog name.</span>
-</span><span id="L-5510"><a href="#L-5510"><span class="linenos">5510</span></a><span class="sd"> quote: Whether to force quotes on the table&#39;s identifiers.</span>
-</span><span id="L-5511"><a href="#L-5511"><span class="linenos">5511</span></a><span class="sd"> alias: Table&#39;s alias.</span>
-</span><span id="L-5512"><a href="#L-5512"><span class="linenos">5512</span></a>
-</span><span id="L-5513"><a href="#L-5513"><span class="linenos">5513</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5514"><a href="#L-5514"><span class="linenos">5514</span></a><span class="sd"> The new Table instance.</span>
-</span><span id="L-5515"><a href="#L-5515"><span class="linenos">5515</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5516"><a href="#L-5516"><span class="linenos">5516</span></a> <span class="k">return</span> <span class="n">Table</span><span class="p">(</span>
-</span><span id="L-5517"><a href="#L-5517"><span class="linenos">5517</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5518"><a href="#L-5518"><span class="linenos">5518</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5519"><a href="#L-5519"><span class="linenos">5519</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="L-5520"><a href="#L-5520"><span class="linenos">5520</span></a> <span class="n">alias</span><span class="o">=</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5521"><a href="#L-5521"><span class="linenos">5521</span></a> <span class="p">)</span>
-</span><span id="L-5522"><a href="#L-5522"><span class="linenos">5522</span></a>
-</span><span id="L-5523"><a href="#L-5523"><span class="linenos">5523</span></a>
-</span><span id="L-5524"><a href="#L-5524"><span class="linenos">5524</span></a><span class="k">def</span> <span class="nf">values</span><span class="p">(</span>
-</span><span id="L-5525"><a href="#L-5525"><span class="linenos">5525</span></a> <span class="n">values</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">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="o">...</span><span class="p">]],</span>
-</span><span id="L-5526"><a href="#L-5526"><span class="linenos">5526</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5527"><a href="#L-5527"><span class="linenos">5527</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">DataType</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="L-5528"><a href="#L-5528"><span class="linenos">5528</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Values</span><span class="p">:</span>
-</span><span id="L-5529"><a href="#L-5529"><span class="linenos">5529</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build VALUES statement.</span>
-</span><span id="L-5530"><a href="#L-5530"><span class="linenos">5530</span></a>
-</span><span id="L-5531"><a href="#L-5531"><span class="linenos">5531</span></a><span class="sd"> Example:</span>
-</span><span id="L-5532"><a href="#L-5532"><span class="linenos">5532</span></a><span class="sd"> &gt;&gt;&gt; values([(1, &#39;2&#39;)]).sql()</span>
-</span><span id="L-5533"><a href="#L-5533"><span class="linenos">5533</span></a><span class="sd"> &quot;VALUES (1, &#39;2&#39;)&quot;</span>
-</span><span id="L-5534"><a href="#L-5534"><span class="linenos">5534</span></a>
-</span><span id="L-5535"><a href="#L-5535"><span class="linenos">5535</span></a><span class="sd"> Args:</span>
-</span><span id="L-5536"><a href="#L-5536"><span class="linenos">5536</span></a><span class="sd"> values: values statements that will be converted to SQL</span>
-</span><span id="L-5537"><a href="#L-5537"><span class="linenos">5537</span></a><span class="sd"> alias: optional alias</span>
-</span><span id="L-5538"><a href="#L-5538"><span class="linenos">5538</span></a><span class="sd"> columns: Optional list of ordered column names or ordered dictionary of column names to types.</span>
-</span><span id="L-5539"><a href="#L-5539"><span class="linenos">5539</span></a><span class="sd"> If either are provided then an alias is also required.</span>
-</span><span id="L-5540"><a href="#L-5540"><span class="linenos">5540</span></a>
-</span><span id="L-5541"><a href="#L-5541"><span class="linenos">5541</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5542"><a href="#L-5542"><span class="linenos">5542</span></a><span class="sd"> Values: the Values expression object</span>
-</span><span id="L-5543"><a href="#L-5543"><span class="linenos">5543</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5544"><a href="#L-5544"><span class="linenos">5544</span></a> <span class="k">if</span> <span class="n">columns</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">alias</span><span class="p">:</span>
-</span><span id="L-5545"><a href="#L-5545"><span class="linenos">5545</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Alias is required when providing columns&quot;</span><span class="p">)</span>
-</span><span id="L-5546"><a href="#L-5546"><span class="linenos">5546</span></a>
-</span><span id="L-5547"><a href="#L-5547"><span class="linenos">5547</span></a> <span class="k">return</span> <span class="n">Values</span><span class="p">(</span>
-</span><span id="L-5548"><a href="#L-5548"><span class="linenos">5548</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">tup</span><span class="p">)</span> <span class="k">for</span> <span class="n">tup</span> <span class="ow">in</span> <span class="n">values</span><span class="p">],</span>
-</span><span id="L-5549"><a href="#L-5549"><span class="linenos">5549</span></a> <span class="n">alias</span><span class="o">=</span><span class="p">(</span>
-</span><span id="L-5550"><a href="#L-5550"><span class="linenos">5550</span></a> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">),</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">columns</span><span class="p">])</span>
-</span><span id="L-5551"><a href="#L-5551"><span class="linenos">5551</span></a> <span class="k">if</span> <span class="n">columns</span>
-</span><span id="L-5552"><a href="#L-5552"><span class="linenos">5552</span></a> <span class="k">else</span> <span class="p">(</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="L-5553"><a href="#L-5553"><span class="linenos">5553</span></a> <span class="p">),</span>
-</span><span id="L-5554"><a href="#L-5554"><span class="linenos">5554</span></a> <span class="p">)</span>
-</span><span id="L-5555"><a href="#L-5555"><span class="linenos">5555</span></a>
-</span><span id="L-5556"><a href="#L-5556"><span class="linenos">5556</span></a>
-</span><span id="L-5557"><a href="#L-5557"><span class="linenos">5557</span></a><span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="n">name</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">ExpOrStr</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Var</span><span class="p">:</span>
-</span><span id="L-5558"><a href="#L-5558"><span class="linenos">5558</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a SQL variable.</span>
-</span><span id="L-5559"><a href="#L-5559"><span class="linenos">5559</span></a>
-</span><span id="L-5560"><a href="#L-5560"><span class="linenos">5560</span></a><span class="sd"> Example:</span>
-</span><span id="L-5561"><a href="#L-5561"><span class="linenos">5561</span></a><span class="sd"> &gt;&gt;&gt; repr(var(&#39;x&#39;))</span>
-</span><span id="L-5562"><a href="#L-5562"><span class="linenos">5562</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
-</span><span id="L-5563"><a href="#L-5563"><span class="linenos">5563</span></a>
-</span><span id="L-5564"><a href="#L-5564"><span class="linenos">5564</span></a><span class="sd"> &gt;&gt;&gt; repr(var(column(&#39;x&#39;, table=&#39;y&#39;)))</span>
-</span><span id="L-5565"><a href="#L-5565"><span class="linenos">5565</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
+</span><span id="L-5507"><a href="#L-5507"><span class="linenos">5507</span></a><span class="sd"> expression: The expression to cast.</span>
+</span><span id="L-5508"><a href="#L-5508"><span class="linenos">5508</span></a><span class="sd"> to: The datatype to cast to.</span>
+</span><span id="L-5509"><a href="#L-5509"><span class="linenos">5509</span></a>
+</span><span id="L-5510"><a href="#L-5510"><span class="linenos">5510</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5511"><a href="#L-5511"><span class="linenos">5511</span></a><span class="sd"> The new Cast instance.</span>
+</span><span id="L-5512"><a href="#L-5512"><span class="linenos">5512</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5513"><a href="#L-5513"><span class="linenos">5513</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</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-5514"><a href="#L-5514"><span class="linenos">5514</span></a> <span class="k">return</span> <span class="n">Cast</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">to</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+</span><span id="L-5515"><a href="#L-5515"><span class="linenos">5515</span></a>
+</span><span id="L-5516"><a href="#L-5516"><span class="linenos">5516</span></a>
+</span><span id="L-5517"><a href="#L-5517"><span class="linenos">5517</span></a><span class="k">def</span> <span class="nf">table_</span><span class="p">(</span>
+</span><span id="L-5518"><a href="#L-5518"><span class="linenos">5518</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
+</span><span id="L-5519"><a href="#L-5519"><span class="linenos">5519</span></a> <span class="n">db</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5520"><a href="#L-5520"><span class="linenos">5520</span></a> <span class="n">catalog</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5521"><a href="#L-5521"><span class="linenos">5521</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5522"><a href="#L-5522"><span class="linenos">5522</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5523"><a href="#L-5523"><span class="linenos">5523</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Table</span><span class="p">:</span>
+</span><span id="L-5524"><a href="#L-5524"><span class="linenos">5524</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Table.</span>
+</span><span id="L-5525"><a href="#L-5525"><span class="linenos">5525</span></a>
+</span><span id="L-5526"><a href="#L-5526"><span class="linenos">5526</span></a><span class="sd"> Args:</span>
+</span><span id="L-5527"><a href="#L-5527"><span class="linenos">5527</span></a><span class="sd"> table: Table name.</span>
+</span><span id="L-5528"><a href="#L-5528"><span class="linenos">5528</span></a><span class="sd"> db: Database name.</span>
+</span><span id="L-5529"><a href="#L-5529"><span class="linenos">5529</span></a><span class="sd"> catalog: Catalog name.</span>
+</span><span id="L-5530"><a href="#L-5530"><span class="linenos">5530</span></a><span class="sd"> quote: Whether to force quotes on the table&#39;s identifiers.</span>
+</span><span id="L-5531"><a href="#L-5531"><span class="linenos">5531</span></a><span class="sd"> alias: Table&#39;s alias.</span>
+</span><span id="L-5532"><a href="#L-5532"><span class="linenos">5532</span></a>
+</span><span id="L-5533"><a href="#L-5533"><span class="linenos">5533</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5534"><a href="#L-5534"><span class="linenos">5534</span></a><span class="sd"> The new Table instance.</span>
+</span><span id="L-5535"><a href="#L-5535"><span class="linenos">5535</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5536"><a href="#L-5536"><span class="linenos">5536</span></a> <span class="k">return</span> <span class="n">Table</span><span class="p">(</span>
+</span><span id="L-5537"><a href="#L-5537"><span class="linenos">5537</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5538"><a href="#L-5538"><span class="linenos">5538</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5539"><a href="#L-5539"><span class="linenos">5539</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="L-5540"><a href="#L-5540"><span class="linenos">5540</span></a> <span class="n">alias</span><span class="o">=</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5541"><a href="#L-5541"><span class="linenos">5541</span></a> <span class="p">)</span>
+</span><span id="L-5542"><a href="#L-5542"><span class="linenos">5542</span></a>
+</span><span id="L-5543"><a href="#L-5543"><span class="linenos">5543</span></a>
+</span><span id="L-5544"><a href="#L-5544"><span class="linenos">5544</span></a><span class="k">def</span> <span class="nf">values</span><span class="p">(</span>
+</span><span id="L-5545"><a href="#L-5545"><span class="linenos">5545</span></a> <span class="n">values</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">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="o">...</span><span class="p">]],</span>
+</span><span id="L-5546"><a href="#L-5546"><span class="linenos">5546</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5547"><a href="#L-5547"><span class="linenos">5547</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">DataType</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="L-5548"><a href="#L-5548"><span class="linenos">5548</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Values</span><span class="p">:</span>
+</span><span id="L-5549"><a href="#L-5549"><span class="linenos">5549</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build VALUES statement.</span>
+</span><span id="L-5550"><a href="#L-5550"><span class="linenos">5550</span></a>
+</span><span id="L-5551"><a href="#L-5551"><span class="linenos">5551</span></a><span class="sd"> Example:</span>
+</span><span id="L-5552"><a href="#L-5552"><span class="linenos">5552</span></a><span class="sd"> &gt;&gt;&gt; values([(1, &#39;2&#39;)]).sql()</span>
+</span><span id="L-5553"><a href="#L-5553"><span class="linenos">5553</span></a><span class="sd"> &quot;VALUES (1, &#39;2&#39;)&quot;</span>
+</span><span id="L-5554"><a href="#L-5554"><span class="linenos">5554</span></a>
+</span><span id="L-5555"><a href="#L-5555"><span class="linenos">5555</span></a><span class="sd"> Args:</span>
+</span><span id="L-5556"><a href="#L-5556"><span class="linenos">5556</span></a><span class="sd"> values: values statements that will be converted to SQL</span>
+</span><span id="L-5557"><a href="#L-5557"><span class="linenos">5557</span></a><span class="sd"> alias: optional alias</span>
+</span><span id="L-5558"><a href="#L-5558"><span class="linenos">5558</span></a><span class="sd"> columns: Optional list of ordered column names or ordered dictionary of column names to types.</span>
+</span><span id="L-5559"><a href="#L-5559"><span class="linenos">5559</span></a><span class="sd"> If either are provided then an alias is also required.</span>
+</span><span id="L-5560"><a href="#L-5560"><span class="linenos">5560</span></a>
+</span><span id="L-5561"><a href="#L-5561"><span class="linenos">5561</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5562"><a href="#L-5562"><span class="linenos">5562</span></a><span class="sd"> Values: the Values expression object</span>
+</span><span id="L-5563"><a href="#L-5563"><span class="linenos">5563</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5564"><a href="#L-5564"><span class="linenos">5564</span></a> <span class="k">if</span> <span class="n">columns</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">alias</span><span class="p">:</span>
+</span><span id="L-5565"><a href="#L-5565"><span class="linenos">5565</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Alias is required when providing columns&quot;</span><span class="p">)</span>
</span><span id="L-5566"><a href="#L-5566"><span class="linenos">5566</span></a>
-</span><span id="L-5567"><a href="#L-5567"><span class="linenos">5567</span></a><span class="sd"> Args:</span>
-</span><span id="L-5568"><a href="#L-5568"><span class="linenos">5568</span></a><span class="sd"> name: The name of the var or an expression who&#39;s name will become the var.</span>
-</span><span id="L-5569"><a href="#L-5569"><span class="linenos">5569</span></a>
-</span><span id="L-5570"><a href="#L-5570"><span class="linenos">5570</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5571"><a href="#L-5571"><span class="linenos">5571</span></a><span class="sd"> The new variable node.</span>
-</span><span id="L-5572"><a href="#L-5572"><span class="linenos">5572</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5573"><a href="#L-5573"><span class="linenos">5573</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">name</span><span class="p">:</span>
-</span><span id="L-5574"><a href="#L-5574"><span class="linenos">5574</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Cannot convert empty name into var.&quot;</span><span class="p">)</span>
+</span><span id="L-5567"><a href="#L-5567"><span class="linenos">5567</span></a> <span class="k">return</span> <span class="n">Values</span><span class="p">(</span>
+</span><span id="L-5568"><a href="#L-5568"><span class="linenos">5568</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">tup</span><span class="p">)</span> <span class="k">for</span> <span class="n">tup</span> <span class="ow">in</span> <span class="n">values</span><span class="p">],</span>
+</span><span id="L-5569"><a href="#L-5569"><span class="linenos">5569</span></a> <span class="n">alias</span><span class="o">=</span><span class="p">(</span>
+</span><span id="L-5570"><a href="#L-5570"><span class="linenos">5570</span></a> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">),</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">columns</span><span class="p">])</span>
+</span><span id="L-5571"><a href="#L-5571"><span class="linenos">5571</span></a> <span class="k">if</span> <span class="n">columns</span>
+</span><span id="L-5572"><a href="#L-5572"><span class="linenos">5572</span></a> <span class="k">else</span> <span class="p">(</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="L-5573"><a href="#L-5573"><span class="linenos">5573</span></a> <span class="p">),</span>
+</span><span id="L-5574"><a href="#L-5574"><span class="linenos">5574</span></a> <span class="p">)</span>
</span><span id="L-5575"><a href="#L-5575"><span class="linenos">5575</span></a>
-</span><span id="L-5576"><a href="#L-5576"><span class="linenos">5576</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-5577"><a href="#L-5577"><span class="linenos">5577</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
-</span><span id="L-5578"><a href="#L-5578"><span class="linenos">5578</span></a> <span class="k">return</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
+</span><span id="L-5576"><a href="#L-5576"><span class="linenos">5576</span></a>
+</span><span id="L-5577"><a href="#L-5577"><span class="linenos">5577</span></a><span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="n">name</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">ExpOrStr</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Var</span><span class="p">:</span>
+</span><span id="L-5578"><a href="#L-5578"><span class="linenos">5578</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a SQL variable.</span>
</span><span id="L-5579"><a href="#L-5579"><span class="linenos">5579</span></a>
-</span><span id="L-5580"><a href="#L-5580"><span class="linenos">5580</span></a>
-</span><span id="L-5581"><a href="#L-5581"><span class="linenos">5581</span></a><span class="k">def</span> <span class="nf">rename_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span> <span class="n">new_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AlterTable</span><span class="p">:</span>
-</span><span id="L-5582"><a href="#L-5582"><span class="linenos">5582</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build ALTER TABLE... RENAME... expression</span>
+</span><span id="L-5580"><a href="#L-5580"><span class="linenos">5580</span></a><span class="sd"> Example:</span>
+</span><span id="L-5581"><a href="#L-5581"><span class="linenos">5581</span></a><span class="sd"> &gt;&gt;&gt; repr(var(&#39;x&#39;))</span>
+</span><span id="L-5582"><a href="#L-5582"><span class="linenos">5582</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
</span><span id="L-5583"><a href="#L-5583"><span class="linenos">5583</span></a>
-</span><span id="L-5584"><a href="#L-5584"><span class="linenos">5584</span></a><span class="sd"> Args:</span>
-</span><span id="L-5585"><a href="#L-5585"><span class="linenos">5585</span></a><span class="sd"> old_name: The old name of the table</span>
-</span><span id="L-5586"><a href="#L-5586"><span class="linenos">5586</span></a><span class="sd"> new_name: The new name of the table</span>
-</span><span id="L-5587"><a href="#L-5587"><span class="linenos">5587</span></a>
-</span><span id="L-5588"><a href="#L-5588"><span class="linenos">5588</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5589"><a href="#L-5589"><span class="linenos">5589</span></a><span class="sd"> Alter table expression</span>
-</span><span id="L-5590"><a href="#L-5590"><span class="linenos">5590</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5591"><a href="#L-5591"><span class="linenos">5591</span></a> <span class="n">old_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">)</span>
-</span><span id="L-5592"><a href="#L-5592"><span class="linenos">5592</span></a> <span class="n">new_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
-</span><span id="L-5593"><a href="#L-5593"><span class="linenos">5593</span></a> <span class="k">return</span> <span class="n">AlterTable</span><span class="p">(</span>
-</span><span id="L-5594"><a href="#L-5594"><span class="linenos">5594</span></a> <span class="n">this</span><span class="o">=</span><span class="n">old_table</span><span class="p">,</span>
-</span><span id="L-5595"><a href="#L-5595"><span class="linenos">5595</span></a> <span class="n">actions</span><span class="o">=</span><span class="p">[</span>
-</span><span id="L-5596"><a href="#L-5596"><span class="linenos">5596</span></a> <span class="n">RenameTable</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">new_table</span><span class="p">),</span>
-</span><span id="L-5597"><a href="#L-5597"><span class="linenos">5597</span></a> <span class="p">],</span>
-</span><span id="L-5598"><a href="#L-5598"><span class="linenos">5598</span></a> <span class="p">)</span>
+</span><span id="L-5584"><a href="#L-5584"><span class="linenos">5584</span></a><span class="sd"> &gt;&gt;&gt; repr(var(column(&#39;x&#39;, table=&#39;y&#39;)))</span>
+</span><span id="L-5585"><a href="#L-5585"><span class="linenos">5585</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
+</span><span id="L-5586"><a href="#L-5586"><span class="linenos">5586</span></a>
+</span><span id="L-5587"><a href="#L-5587"><span class="linenos">5587</span></a><span class="sd"> Args:</span>
+</span><span id="L-5588"><a href="#L-5588"><span class="linenos">5588</span></a><span class="sd"> name: The name of the var or an expression who&#39;s name will become the var.</span>
+</span><span id="L-5589"><a href="#L-5589"><span class="linenos">5589</span></a>
+</span><span id="L-5590"><a href="#L-5590"><span class="linenos">5590</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5591"><a href="#L-5591"><span class="linenos">5591</span></a><span class="sd"> The new variable node.</span>
+</span><span id="L-5592"><a href="#L-5592"><span class="linenos">5592</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5593"><a href="#L-5593"><span class="linenos">5593</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">name</span><span class="p">:</span>
+</span><span id="L-5594"><a href="#L-5594"><span class="linenos">5594</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Cannot convert empty name into var.&quot;</span><span class="p">)</span>
+</span><span id="L-5595"><a href="#L-5595"><span class="linenos">5595</span></a>
+</span><span id="L-5596"><a href="#L-5596"><span class="linenos">5596</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-5597"><a href="#L-5597"><span class="linenos">5597</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
+</span><span id="L-5598"><a href="#L-5598"><span class="linenos">5598</span></a> <span class="k">return</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
</span><span id="L-5599"><a href="#L-5599"><span class="linenos">5599</span></a>
</span><span id="L-5600"><a href="#L-5600"><span class="linenos">5600</span></a>
-</span><span id="L-5601"><a href="#L-5601"><span class="linenos">5601</span></a><span class="k">def</span> <span class="nf">convert</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-5602"><a href="#L-5602"><span class="linenos">5602</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert a python value into an expression object.</span>
+</span><span id="L-5601"><a href="#L-5601"><span class="linenos">5601</span></a><span class="k">def</span> <span class="nf">rename_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span> <span class="n">new_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AlterTable</span><span class="p">:</span>
+</span><span id="L-5602"><a href="#L-5602"><span class="linenos">5602</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build ALTER TABLE... RENAME... expression</span>
</span><span id="L-5603"><a href="#L-5603"><span class="linenos">5603</span></a>
-</span><span id="L-5604"><a href="#L-5604"><span class="linenos">5604</span></a><span class="sd"> Raises an error if a conversion is not possible.</span>
-</span><span id="L-5605"><a href="#L-5605"><span class="linenos">5605</span></a>
-</span><span id="L-5606"><a href="#L-5606"><span class="linenos">5606</span></a><span class="sd"> Args:</span>
-</span><span id="L-5607"><a href="#L-5607"><span class="linenos">5607</span></a><span class="sd"> value: A python object.</span>
-</span><span id="L-5608"><a href="#L-5608"><span class="linenos">5608</span></a><span class="sd"> copy: Whether or not to copy `value` (only applies to Expressions and collections).</span>
-</span><span id="L-5609"><a href="#L-5609"><span class="linenos">5609</span></a>
-</span><span id="L-5610"><a href="#L-5610"><span class="linenos">5610</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5611"><a href="#L-5611"><span class="linenos">5611</span></a><span class="sd"> Expression: the equivalent expression object.</span>
-</span><span id="L-5612"><a href="#L-5612"><span class="linenos">5612</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5613"><a href="#L-5613"><span class="linenos">5613</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-5614"><a href="#L-5614"><span class="linenos">5614</span></a> <span class="k">return</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="L-5615"><a href="#L-5615"><span class="linenos">5615</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="L-5616"><a href="#L-5616"><span class="linenos">5616</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-</span><span id="L-5617"><a href="#L-5617"><span class="linenos">5617</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
-</span><span id="L-5618"><a href="#L-5618"><span class="linenos">5618</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
-</span><span id="L-5619"><a href="#L-5619"><span class="linenos">5619</span></a> <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">float</span><span class="p">)</span> <span class="ow">and</span> <span class="n">math</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">value</span><span class="p">)):</span>
-</span><span id="L-5620"><a href="#L-5620"><span class="linenos">5620</span></a> <span class="k">return</span> <span class="n">NULL</span>
-</span><span id="L-5621"><a href="#L-5621"><span class="linenos">5621</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numbers</span><span class="o">.</span><span class="n">Number</span><span class="p">):</span>
-</span><span id="L-5622"><a href="#L-5622"><span class="linenos">5622</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">number</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-</span><span id="L-5623"><a href="#L-5623"><span class="linenos">5623</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">):</span>
-</span><span id="L-5624"><a href="#L-5624"><span class="linenos">5624</span></a> <span class="n">datetime_literal</span> <span class="o">=</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span>
-</span><span id="L-5625"><a href="#L-5625"><span class="linenos">5625</span></a> <span class="p">(</span><span class="n">value</span> <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">tzinfo</span> <span class="k">else</span> <span class="n">value</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
-</span><span id="L-5626"><a href="#L-5626"><span class="linenos">5626</span></a> <span class="p">)</span>
-</span><span id="L-5627"><a href="#L-5627"><span class="linenos">5627</span></a> <span class="k">return</span> <span class="n">TimeStrToTime</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">datetime_literal</span><span class="p">)</span>
-</span><span id="L-5628"><a href="#L-5628"><span class="linenos">5628</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="p">):</span>
-</span><span id="L-5629"><a href="#L-5629"><span class="linenos">5629</span></a> <span class="n">date_literal</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">value</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
-</span><span id="L-5630"><a href="#L-5630"><span class="linenos">5630</span></a> <span class="k">return</span> <span class="n">DateStrToDate</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">date_literal</span><span class="p">)</span>
-</span><span id="L-5631"><a href="#L-5631"><span class="linenos">5631</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span>
-</span><span id="L-5632"><a href="#L-5632"><span class="linenos">5632</span></a> <span class="k">return</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
-</span><span id="L-5633"><a href="#L-5633"><span class="linenos">5633</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-</span><span id="L-5634"><a href="#L-5634"><span class="linenos">5634</span></a> <span class="k">return</span> <span class="n">Array</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
-</span><span id="L-5635"><a href="#L-5635"><span class="linenos">5635</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
-</span><span id="L-5636"><a href="#L-5636"><span class="linenos">5636</span></a> <span class="k">return</span> <span class="n">Map</span><span class="p">(</span>
-</span><span id="L-5637"><a href="#L-5637"><span class="linenos">5637</span></a> <span class="n">keys</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">value</span><span class="p">],</span>
-</span><span id="L-5638"><a href="#L-5638"><span class="linenos">5638</span></a> <span class="n">values</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="o">.</span><span class="n">values</span><span class="p">()],</span>
-</span><span id="L-5639"><a href="#L-5639"><span class="linenos">5639</span></a> <span class="p">)</span>
-</span><span id="L-5640"><a href="#L-5640"><span class="linenos">5640</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot convert </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="L-5641"><a href="#L-5641"><span class="linenos">5641</span></a>
-</span><span id="L-5642"><a href="#L-5642"><span class="linenos">5642</span></a>
-</span><span id="L-5643"><a href="#L-5643"><span class="linenos">5643</span></a><span class="k">def</span> <span class="nf">replace_children</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">fun</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="L-5644"><a href="#L-5644"><span class="linenos">5644</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5645"><a href="#L-5645"><span class="linenos">5645</span></a><span class="sd"> Replace children of an expression with the result of a lambda fun(child) -&gt; exp.</span>
-</span><span id="L-5646"><a href="#L-5646"><span class="linenos">5646</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5647"><a href="#L-5647"><span class="linenos">5647</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="L-5648"><a href="#L-5648"><span class="linenos">5648</span></a> <span class="n">is_list_arg</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">list</span>
-</span><span id="L-5649"><a href="#L-5649"><span class="linenos">5649</span></a>
-</span><span id="L-5650"><a href="#L-5650"><span class="linenos">5650</span></a> <span class="n">child_nodes</span> <span class="o">=</span> <span class="n">v</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="p">[</span><span class="n">v</span><span class="p">]</span>
-</span><span id="L-5651"><a href="#L-5651"><span class="linenos">5651</span></a> <span class="n">new_child_nodes</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="L-5652"><a href="#L-5652"><span class="linenos">5652</span></a>
-</span><span id="L-5653"><a href="#L-5653"><span class="linenos">5653</span></a> <span class="k">for</span> <span class="n">cn</span> <span class="ow">in</span> <span class="n">child_nodes</span><span class="p">:</span>
-</span><span id="L-5654"><a href="#L-5654"><span class="linenos">5654</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-5655"><a href="#L-5655"><span class="linenos">5655</span></a> <span class="k">for</span> <span class="n">child_node</span> <span class="ow">in</span> <span class="n">ensure_collection</span><span class="p">(</span><span class="n">fun</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)):</span>
-</span><span id="L-5656"><a href="#L-5656"><span class="linenos">5656</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">child_node</span><span class="p">)</span>
-</span><span id="L-5657"><a href="#L-5657"><span class="linenos">5657</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">expression</span>
-</span><span id="L-5658"><a href="#L-5658"><span class="linenos">5658</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">arg_key</span> <span class="o">=</span> <span class="n">k</span>
-</span><span id="L-5659"><a href="#L-5659"><span class="linenos">5659</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-5660"><a href="#L-5660"><span class="linenos">5660</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cn</span><span class="p">)</span>
+</span><span id="L-5604"><a href="#L-5604"><span class="linenos">5604</span></a><span class="sd"> Args:</span>
+</span><span id="L-5605"><a href="#L-5605"><span class="linenos">5605</span></a><span class="sd"> old_name: The old name of the table</span>
+</span><span id="L-5606"><a href="#L-5606"><span class="linenos">5606</span></a><span class="sd"> new_name: The new name of the table</span>
+</span><span id="L-5607"><a href="#L-5607"><span class="linenos">5607</span></a>
+</span><span id="L-5608"><a href="#L-5608"><span class="linenos">5608</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5609"><a href="#L-5609"><span class="linenos">5609</span></a><span class="sd"> Alter table expression</span>
+</span><span id="L-5610"><a href="#L-5610"><span class="linenos">5610</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5611"><a href="#L-5611"><span class="linenos">5611</span></a> <span class="n">old_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">)</span>
+</span><span id="L-5612"><a href="#L-5612"><span class="linenos">5612</span></a> <span class="n">new_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
+</span><span id="L-5613"><a href="#L-5613"><span class="linenos">5613</span></a> <span class="k">return</span> <span class="n">AlterTable</span><span class="p">(</span>
+</span><span id="L-5614"><a href="#L-5614"><span class="linenos">5614</span></a> <span class="n">this</span><span class="o">=</span><span class="n">old_table</span><span class="p">,</span>
+</span><span id="L-5615"><a href="#L-5615"><span class="linenos">5615</span></a> <span class="n">actions</span><span class="o">=</span><span class="p">[</span>
+</span><span id="L-5616"><a href="#L-5616"><span class="linenos">5616</span></a> <span class="n">RenameTable</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">new_table</span><span class="p">),</span>
+</span><span id="L-5617"><a href="#L-5617"><span class="linenos">5617</span></a> <span class="p">],</span>
+</span><span id="L-5618"><a href="#L-5618"><span class="linenos">5618</span></a> <span class="p">)</span>
+</span><span id="L-5619"><a href="#L-5619"><span class="linenos">5619</span></a>
+</span><span id="L-5620"><a href="#L-5620"><span class="linenos">5620</span></a>
+</span><span id="L-5621"><a href="#L-5621"><span class="linenos">5621</span></a><span class="k">def</span> <span class="nf">convert</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-5622"><a href="#L-5622"><span class="linenos">5622</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert a python value into an expression object.</span>
+</span><span id="L-5623"><a href="#L-5623"><span class="linenos">5623</span></a>
+</span><span id="L-5624"><a href="#L-5624"><span class="linenos">5624</span></a><span class="sd"> Raises an error if a conversion is not possible.</span>
+</span><span id="L-5625"><a href="#L-5625"><span class="linenos">5625</span></a>
+</span><span id="L-5626"><a href="#L-5626"><span class="linenos">5626</span></a><span class="sd"> Args:</span>
+</span><span id="L-5627"><a href="#L-5627"><span class="linenos">5627</span></a><span class="sd"> value: A python object.</span>
+</span><span id="L-5628"><a href="#L-5628"><span class="linenos">5628</span></a><span class="sd"> copy: Whether or not to copy `value` (only applies to Expressions and collections).</span>
+</span><span id="L-5629"><a href="#L-5629"><span class="linenos">5629</span></a>
+</span><span id="L-5630"><a href="#L-5630"><span class="linenos">5630</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5631"><a href="#L-5631"><span class="linenos">5631</span></a><span class="sd"> Expression: the equivalent expression object.</span>
+</span><span id="L-5632"><a href="#L-5632"><span class="linenos">5632</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5633"><a href="#L-5633"><span class="linenos">5633</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-5634"><a href="#L-5634"><span class="linenos">5634</span></a> <span class="k">return</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="L-5635"><a href="#L-5635"><span class="linenos">5635</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="L-5636"><a href="#L-5636"><span class="linenos">5636</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+</span><span id="L-5637"><a href="#L-5637"><span class="linenos">5637</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
+</span><span id="L-5638"><a href="#L-5638"><span class="linenos">5638</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
+</span><span id="L-5639"><a href="#L-5639"><span class="linenos">5639</span></a> <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">float</span><span class="p">)</span> <span class="ow">and</span> <span class="n">math</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">value</span><span class="p">)):</span>
+</span><span id="L-5640"><a href="#L-5640"><span class="linenos">5640</span></a> <span class="k">return</span> <span class="n">NULL</span>
+</span><span id="L-5641"><a href="#L-5641"><span class="linenos">5641</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numbers</span><span class="o">.</span><span class="n">Number</span><span class="p">):</span>
+</span><span id="L-5642"><a href="#L-5642"><span class="linenos">5642</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">number</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+</span><span id="L-5643"><a href="#L-5643"><span class="linenos">5643</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">):</span>
+</span><span id="L-5644"><a href="#L-5644"><span class="linenos">5644</span></a> <span class="n">datetime_literal</span> <span class="o">=</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span>
+</span><span id="L-5645"><a href="#L-5645"><span class="linenos">5645</span></a> <span class="p">(</span><span class="n">value</span> <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">tzinfo</span> <span class="k">else</span> <span class="n">value</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+</span><span id="L-5646"><a href="#L-5646"><span class="linenos">5646</span></a> <span class="p">)</span>
+</span><span id="L-5647"><a href="#L-5647"><span class="linenos">5647</span></a> <span class="k">return</span> <span class="n">TimeStrToTime</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">datetime_literal</span><span class="p">)</span>
+</span><span id="L-5648"><a href="#L-5648"><span class="linenos">5648</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="p">):</span>
+</span><span id="L-5649"><a href="#L-5649"><span class="linenos">5649</span></a> <span class="n">date_literal</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">value</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
+</span><span id="L-5650"><a href="#L-5650"><span class="linenos">5650</span></a> <span class="k">return</span> <span class="n">DateStrToDate</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">date_literal</span><span class="p">)</span>
+</span><span id="L-5651"><a href="#L-5651"><span class="linenos">5651</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span>
+</span><span id="L-5652"><a href="#L-5652"><span class="linenos">5652</span></a> <span class="k">return</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
+</span><span id="L-5653"><a href="#L-5653"><span class="linenos">5653</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
+</span><span id="L-5654"><a href="#L-5654"><span class="linenos">5654</span></a> <span class="k">return</span> <span class="n">Array</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
+</span><span id="L-5655"><a href="#L-5655"><span class="linenos">5655</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
+</span><span id="L-5656"><a href="#L-5656"><span class="linenos">5656</span></a> <span class="k">return</span> <span class="n">Map</span><span class="p">(</span>
+</span><span id="L-5657"><a href="#L-5657"><span class="linenos">5657</span></a> <span class="n">keys</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">value</span><span class="p">],</span>
+</span><span id="L-5658"><a href="#L-5658"><span class="linenos">5658</span></a> <span class="n">values</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="o">.</span><span class="n">values</span><span class="p">()],</span>
+</span><span id="L-5659"><a href="#L-5659"><span class="linenos">5659</span></a> <span class="p">)</span>
+</span><span id="L-5660"><a href="#L-5660"><span class="linenos">5660</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot convert </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span><span id="L-5661"><a href="#L-5661"><span class="linenos">5661</span></a>
-</span><span id="L-5662"><a href="#L-5662"><span class="linenos">5662</span></a> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_child_nodes</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="n">seq_get</span><span class="p">(</span><span class="n">new_child_nodes</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-</span><span id="L-5663"><a href="#L-5663"><span class="linenos">5663</span></a>
-</span><span id="L-5664"><a href="#L-5664"><span class="linenos">5664</span></a>
-</span><span id="L-5665"><a href="#L-5665"><span class="linenos">5665</span></a><span class="k">def</span> <span class="nf">column_table_names</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">exclude</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
-</span><span id="L-5666"><a href="#L-5666"><span class="linenos">5666</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5667"><a href="#L-5667"><span class="linenos">5667</span></a><span class="sd"> Return all table names referenced through columns in an expression.</span>
-</span><span id="L-5668"><a href="#L-5668"><span class="linenos">5668</span></a>
-</span><span id="L-5669"><a href="#L-5669"><span class="linenos">5669</span></a><span class="sd"> Example:</span>
-</span><span id="L-5670"><a href="#L-5670"><span class="linenos">5670</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="L-5671"><a href="#L-5671"><span class="linenos">5671</span></a><span class="sd"> &gt;&gt;&gt; sorted(column_table_names(sqlglot.parse_one(&quot;a.b AND c.d AND c.e&quot;)))</span>
-</span><span id="L-5672"><a href="#L-5672"><span class="linenos">5672</span></a><span class="sd"> [&#39;a&#39;, &#39;c&#39;]</span>
-</span><span id="L-5673"><a href="#L-5673"><span class="linenos">5673</span></a>
-</span><span id="L-5674"><a href="#L-5674"><span class="linenos">5674</span></a><span class="sd"> Args:</span>
-</span><span id="L-5675"><a href="#L-5675"><span class="linenos">5675</span></a><span class="sd"> expression: expression to find table names.</span>
-</span><span id="L-5676"><a href="#L-5676"><span class="linenos">5676</span></a><span class="sd"> exclude: a table name to exclude</span>
-</span><span id="L-5677"><a href="#L-5677"><span class="linenos">5677</span></a>
-</span><span id="L-5678"><a href="#L-5678"><span class="linenos">5678</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5679"><a href="#L-5679"><span class="linenos">5679</span></a><span class="sd"> A list of unique names.</span>
-</span><span id="L-5680"><a href="#L-5680"><span class="linenos">5680</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5681"><a href="#L-5681"><span class="linenos">5681</span></a> <span class="k">return</span> <span class="p">{</span>
-</span><span id="L-5682"><a href="#L-5682"><span class="linenos">5682</span></a> <span class="n">table</span>
-</span><span id="L-5683"><a href="#L-5683"><span class="linenos">5683</span></a> <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="p">(</span><span class="n">column</span><span class="o">.</span><span class="n">table</span> <span class="k">for</span> <span class="n">column</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">Column</span><span class="p">))</span>
-</span><span id="L-5684"><a href="#L-5684"><span class="linenos">5684</span></a> <span class="k">if</span> <span class="n">table</span> <span class="ow">and</span> <span class="n">table</span> <span class="o">!=</span> <span class="n">exclude</span>
-</span><span id="L-5685"><a href="#L-5685"><span class="linenos">5685</span></a> <span class="p">}</span>
-</span><span id="L-5686"><a href="#L-5686"><span class="linenos">5686</span></a>
-</span><span id="L-5687"><a href="#L-5687"><span class="linenos">5687</span></a>
-</span><span id="L-5688"><a href="#L-5688"><span class="linenos">5688</span></a><span class="k">def</span> <span class="nf">table_name</span><span class="p">(</span><span class="n">table</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-5689"><a href="#L-5689"><span class="linenos">5689</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Get the full name of a table as a string.</span>
-</span><span id="L-5690"><a href="#L-5690"><span class="linenos">5690</span></a>
-</span><span id="L-5691"><a href="#L-5691"><span class="linenos">5691</span></a><span class="sd"> Args:</span>
-</span><span id="L-5692"><a href="#L-5692"><span class="linenos">5692</span></a><span class="sd"> table: table expression node or string.</span>
+</span><span id="L-5662"><a href="#L-5662"><span class="linenos">5662</span></a>
+</span><span id="L-5663"><a href="#L-5663"><span class="linenos">5663</span></a><span class="k">def</span> <span class="nf">replace_children</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">fun</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="L-5664"><a href="#L-5664"><span class="linenos">5664</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5665"><a href="#L-5665"><span class="linenos">5665</span></a><span class="sd"> Replace children of an expression with the result of a lambda fun(child) -&gt; exp.</span>
+</span><span id="L-5666"><a href="#L-5666"><span class="linenos">5666</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5667"><a href="#L-5667"><span class="linenos">5667</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="L-5668"><a href="#L-5668"><span class="linenos">5668</span></a> <span class="n">is_list_arg</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">list</span>
+</span><span id="L-5669"><a href="#L-5669"><span class="linenos">5669</span></a>
+</span><span id="L-5670"><a href="#L-5670"><span class="linenos">5670</span></a> <span class="n">child_nodes</span> <span class="o">=</span> <span class="n">v</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="p">[</span><span class="n">v</span><span class="p">]</span>
+</span><span id="L-5671"><a href="#L-5671"><span class="linenos">5671</span></a> <span class="n">new_child_nodes</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="L-5672"><a href="#L-5672"><span class="linenos">5672</span></a>
+</span><span id="L-5673"><a href="#L-5673"><span class="linenos">5673</span></a> <span class="k">for</span> <span class="n">cn</span> <span class="ow">in</span> <span class="n">child_nodes</span><span class="p">:</span>
+</span><span id="L-5674"><a href="#L-5674"><span class="linenos">5674</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-5675"><a href="#L-5675"><span class="linenos">5675</span></a> <span class="k">for</span> <span class="n">child_node</span> <span class="ow">in</span> <span class="n">ensure_collection</span><span class="p">(</span><span class="n">fun</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)):</span>
+</span><span id="L-5676"><a href="#L-5676"><span class="linenos">5676</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">child_node</span><span class="p">)</span>
+</span><span id="L-5677"><a href="#L-5677"><span class="linenos">5677</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">expression</span>
+</span><span id="L-5678"><a href="#L-5678"><span class="linenos">5678</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">arg_key</span> <span class="o">=</span> <span class="n">k</span>
+</span><span id="L-5679"><a href="#L-5679"><span class="linenos">5679</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-5680"><a href="#L-5680"><span class="linenos">5680</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cn</span><span class="p">)</span>
+</span><span id="L-5681"><a href="#L-5681"><span class="linenos">5681</span></a>
+</span><span id="L-5682"><a href="#L-5682"><span class="linenos">5682</span></a> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_child_nodes</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="n">seq_get</span><span class="p">(</span><span class="n">new_child_nodes</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+</span><span id="L-5683"><a href="#L-5683"><span class="linenos">5683</span></a>
+</span><span id="L-5684"><a href="#L-5684"><span class="linenos">5684</span></a>
+</span><span id="L-5685"><a href="#L-5685"><span class="linenos">5685</span></a><span class="k">def</span> <span class="nf">column_table_names</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">exclude</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
+</span><span id="L-5686"><a href="#L-5686"><span class="linenos">5686</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5687"><a href="#L-5687"><span class="linenos">5687</span></a><span class="sd"> Return all table names referenced through columns in an expression.</span>
+</span><span id="L-5688"><a href="#L-5688"><span class="linenos">5688</span></a>
+</span><span id="L-5689"><a href="#L-5689"><span class="linenos">5689</span></a><span class="sd"> Example:</span>
+</span><span id="L-5690"><a href="#L-5690"><span class="linenos">5690</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="L-5691"><a href="#L-5691"><span class="linenos">5691</span></a><span class="sd"> &gt;&gt;&gt; sorted(column_table_names(sqlglot.parse_one(&quot;a.b AND c.d AND c.e&quot;)))</span>
+</span><span id="L-5692"><a href="#L-5692"><span class="linenos">5692</span></a><span class="sd"> [&#39;a&#39;, &#39;c&#39;]</span>
</span><span id="L-5693"><a href="#L-5693"><span class="linenos">5693</span></a>
-</span><span id="L-5694"><a href="#L-5694"><span class="linenos">5694</span></a><span class="sd"> Examples:</span>
-</span><span id="L-5695"><a href="#L-5695"><span class="linenos">5695</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
-</span><span id="L-5696"><a href="#L-5696"><span class="linenos">5696</span></a><span class="sd"> &gt;&gt;&gt; table_name(parse_one(&quot;select * from a.b.c&quot;).find(exp.Table))</span>
-</span><span id="L-5697"><a href="#L-5697"><span class="linenos">5697</span></a><span class="sd"> &#39;a.b.c&#39;</span>
-</span><span id="L-5698"><a href="#L-5698"><span class="linenos">5698</span></a>
-</span><span id="L-5699"><a href="#L-5699"><span class="linenos">5699</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5700"><a href="#L-5700"><span class="linenos">5700</span></a><span class="sd"> The table name.</span>
-</span><span id="L-5701"><a href="#L-5701"><span class="linenos">5701</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5702"><a href="#L-5702"><span class="linenos">5702</span></a>
-</span><span id="L-5703"><a href="#L-5703"><span class="linenos">5703</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">)</span>
-</span><span id="L-5704"><a href="#L-5704"><span class="linenos">5704</span></a>
-</span><span id="L-5705"><a href="#L-5705"><span class="linenos">5705</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="L-5706"><a href="#L-5706"><span class="linenos">5706</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot parse </span><span class="si">{</span><span class="n">table</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="L-5694"><a href="#L-5694"><span class="linenos">5694</span></a><span class="sd"> Args:</span>
+</span><span id="L-5695"><a href="#L-5695"><span class="linenos">5695</span></a><span class="sd"> expression: expression to find table names.</span>
+</span><span id="L-5696"><a href="#L-5696"><span class="linenos">5696</span></a><span class="sd"> exclude: a table name to exclude</span>
+</span><span id="L-5697"><a href="#L-5697"><span class="linenos">5697</span></a>
+</span><span id="L-5698"><a href="#L-5698"><span class="linenos">5698</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5699"><a href="#L-5699"><span class="linenos">5699</span></a><span class="sd"> A list of unique names.</span>
+</span><span id="L-5700"><a href="#L-5700"><span class="linenos">5700</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5701"><a href="#L-5701"><span class="linenos">5701</span></a> <span class="k">return</span> <span class="p">{</span>
+</span><span id="L-5702"><a href="#L-5702"><span class="linenos">5702</span></a> <span class="n">table</span>
+</span><span id="L-5703"><a href="#L-5703"><span class="linenos">5703</span></a> <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="p">(</span><span class="n">column</span><span class="o">.</span><span class="n">table</span> <span class="k">for</span> <span class="n">column</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">Column</span><span class="p">))</span>
+</span><span id="L-5704"><a href="#L-5704"><span class="linenos">5704</span></a> <span class="k">if</span> <span class="n">table</span> <span class="ow">and</span> <span class="n">table</span> <span class="o">!=</span> <span class="n">exclude</span>
+</span><span id="L-5705"><a href="#L-5705"><span class="linenos">5705</span></a> <span class="p">}</span>
+</span><span id="L-5706"><a href="#L-5706"><span class="linenos">5706</span></a>
</span><span id="L-5707"><a href="#L-5707"><span class="linenos">5707</span></a>
-</span><span id="L-5708"><a href="#L-5708"><span class="linenos">5708</span></a> <span class="k">return</span> <span class="s2">&quot;.&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">part</span> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">part</span><span class="p">)</span>
-</span><span id="L-5709"><a href="#L-5709"><span class="linenos">5709</span></a>
+</span><span id="L-5708"><a href="#L-5708"><span class="linenos">5708</span></a><span class="k">def</span> <span class="nf">table_name</span><span class="p">(</span><span class="n">table</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-5709"><a href="#L-5709"><span class="linenos">5709</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Get the full name of a table as a string.</span>
</span><span id="L-5710"><a href="#L-5710"><span class="linenos">5710</span></a>
-</span><span id="L-5711"><a href="#L-5711"><span class="linenos">5711</span></a><span class="k">def</span> <span class="nf">replace_tables</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">mapping</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
-</span><span id="L-5712"><a href="#L-5712"><span class="linenos">5712</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace all tables in expression according to the mapping.</span>
+</span><span id="L-5711"><a href="#L-5711"><span class="linenos">5711</span></a><span class="sd"> Args:</span>
+</span><span id="L-5712"><a href="#L-5712"><span class="linenos">5712</span></a><span class="sd"> table: table expression node or string.</span>
</span><span id="L-5713"><a href="#L-5713"><span class="linenos">5713</span></a>
-</span><span id="L-5714"><a href="#L-5714"><span class="linenos">5714</span></a><span class="sd"> Args:</span>
-</span><span id="L-5715"><a href="#L-5715"><span class="linenos">5715</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
-</span><span id="L-5716"><a href="#L-5716"><span class="linenos">5716</span></a><span class="sd"> mapping: mapping of table names.</span>
-</span><span id="L-5717"><a href="#L-5717"><span class="linenos">5717</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="L-5714"><a href="#L-5714"><span class="linenos">5714</span></a><span class="sd"> Examples:</span>
+</span><span id="L-5715"><a href="#L-5715"><span class="linenos">5715</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
+</span><span id="L-5716"><a href="#L-5716"><span class="linenos">5716</span></a><span class="sd"> &gt;&gt;&gt; table_name(parse_one(&quot;select * from a.b.c&quot;).find(exp.Table))</span>
+</span><span id="L-5717"><a href="#L-5717"><span class="linenos">5717</span></a><span class="sd"> &#39;a.b.c&#39;</span>
</span><span id="L-5718"><a href="#L-5718"><span class="linenos">5718</span></a>
-</span><span id="L-5719"><a href="#L-5719"><span class="linenos">5719</span></a><span class="sd"> Examples:</span>
-</span><span id="L-5720"><a href="#L-5720"><span class="linenos">5720</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
-</span><span id="L-5721"><a href="#L-5721"><span class="linenos">5721</span></a><span class="sd"> &gt;&gt;&gt; replace_tables(parse_one(&quot;select * from a.b&quot;), {&quot;a.b&quot;: &quot;c&quot;}).sql()</span>
-</span><span id="L-5722"><a href="#L-5722"><span class="linenos">5722</span></a><span class="sd"> &#39;SELECT * FROM c&#39;</span>
-</span><span id="L-5723"><a href="#L-5723"><span class="linenos">5723</span></a>
-</span><span id="L-5724"><a href="#L-5724"><span class="linenos">5724</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5725"><a href="#L-5725"><span class="linenos">5725</span></a><span class="sd"> The mapped expression.</span>
-</span><span id="L-5726"><a href="#L-5726"><span class="linenos">5726</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5719"><a href="#L-5719"><span class="linenos">5719</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5720"><a href="#L-5720"><span class="linenos">5720</span></a><span class="sd"> The table name.</span>
+</span><span id="L-5721"><a href="#L-5721"><span class="linenos">5721</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5722"><a href="#L-5722"><span class="linenos">5722</span></a>
+</span><span id="L-5723"><a href="#L-5723"><span class="linenos">5723</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">)</span>
+</span><span id="L-5724"><a href="#L-5724"><span class="linenos">5724</span></a>
+</span><span id="L-5725"><a href="#L-5725"><span class="linenos">5725</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="L-5726"><a href="#L-5726"><span class="linenos">5726</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot parse </span><span class="si">{</span><span class="n">table</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span><span id="L-5727"><a href="#L-5727"><span class="linenos">5727</span></a>
-</span><span id="L-5728"><a href="#L-5728"><span class="linenos">5728</span></a> <span class="k">def</span> <span class="nf">_replace_tables</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-5729"><a href="#L-5729"><span class="linenos">5729</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
-</span><span id="L-5730"><a href="#L-5730"><span class="linenos">5730</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">))</span>
-</span><span id="L-5731"><a href="#L-5731"><span class="linenos">5731</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
-</span><span id="L-5732"><a href="#L-5732"><span class="linenos">5732</span></a> <span class="k">return</span> <span class="n">to_table</span><span class="p">(</span>
-</span><span id="L-5733"><a href="#L-5733"><span class="linenos">5733</span></a> <span class="n">new_name</span><span class="p">,</span>
-</span><span id="L-5734"><a href="#L-5734"><span class="linenos">5734</span></a> <span class="o">**</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">node</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;catalog&quot;</span><span class="p">)},</span>
-</span><span id="L-5735"><a href="#L-5735"><span class="linenos">5735</span></a> <span class="p">)</span>
-</span><span id="L-5736"><a href="#L-5736"><span class="linenos">5736</span></a> <span class="k">return</span> <span class="n">node</span>
-</span><span id="L-5737"><a href="#L-5737"><span class="linenos">5737</span></a>
-</span><span id="L-5738"><a href="#L-5738"><span class="linenos">5738</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_tables</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
-</span><span id="L-5739"><a href="#L-5739"><span class="linenos">5739</span></a>
-</span><span id="L-5740"><a href="#L-5740"><span class="linenos">5740</span></a>
-</span><span id="L-5741"><a href="#L-5741"><span class="linenos">5741</span></a><span class="k">def</span> <span class="nf">replace_placeholders</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-5742"><a href="#L-5742"><span class="linenos">5742</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace placeholders in an expression.</span>
+</span><span id="L-5728"><a href="#L-5728"><span class="linenos">5728</span></a> <span class="k">return</span> <span class="s2">&quot;.&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">part</span> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">part</span><span class="p">)</span>
+</span><span id="L-5729"><a href="#L-5729"><span class="linenos">5729</span></a>
+</span><span id="L-5730"><a href="#L-5730"><span class="linenos">5730</span></a>
+</span><span id="L-5731"><a href="#L-5731"><span class="linenos">5731</span></a><span class="k">def</span> <span class="nf">replace_tables</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">mapping</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
+</span><span id="L-5732"><a href="#L-5732"><span class="linenos">5732</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace all tables in expression according to the mapping.</span>
+</span><span id="L-5733"><a href="#L-5733"><span class="linenos">5733</span></a>
+</span><span id="L-5734"><a href="#L-5734"><span class="linenos">5734</span></a><span class="sd"> Args:</span>
+</span><span id="L-5735"><a href="#L-5735"><span class="linenos">5735</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
+</span><span id="L-5736"><a href="#L-5736"><span class="linenos">5736</span></a><span class="sd"> mapping: mapping of table names.</span>
+</span><span id="L-5737"><a href="#L-5737"><span class="linenos">5737</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="L-5738"><a href="#L-5738"><span class="linenos">5738</span></a>
+</span><span id="L-5739"><a href="#L-5739"><span class="linenos">5739</span></a><span class="sd"> Examples:</span>
+</span><span id="L-5740"><a href="#L-5740"><span class="linenos">5740</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
+</span><span id="L-5741"><a href="#L-5741"><span class="linenos">5741</span></a><span class="sd"> &gt;&gt;&gt; replace_tables(parse_one(&quot;select * from a.b&quot;), {&quot;a.b&quot;: &quot;c&quot;}).sql()</span>
+</span><span id="L-5742"><a href="#L-5742"><span class="linenos">5742</span></a><span class="sd"> &#39;SELECT * FROM c&#39;</span>
</span><span id="L-5743"><a href="#L-5743"><span class="linenos">5743</span></a>
-</span><span id="L-5744"><a href="#L-5744"><span class="linenos">5744</span></a><span class="sd"> Args:</span>
-</span><span id="L-5745"><a href="#L-5745"><span class="linenos">5745</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
-</span><span id="L-5746"><a href="#L-5746"><span class="linenos">5746</span></a><span class="sd"> args: positional names that will substitute unnamed placeholders in the given order.</span>
-</span><span id="L-5747"><a href="#L-5747"><span class="linenos">5747</span></a><span class="sd"> kwargs: keyword arguments that will substitute named placeholders.</span>
-</span><span id="L-5748"><a href="#L-5748"><span class="linenos">5748</span></a>
-</span><span id="L-5749"><a href="#L-5749"><span class="linenos">5749</span></a><span class="sd"> Examples:</span>
-</span><span id="L-5750"><a href="#L-5750"><span class="linenos">5750</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
-</span><span id="L-5751"><a href="#L-5751"><span class="linenos">5751</span></a><span class="sd"> &gt;&gt;&gt; replace_placeholders(</span>
-</span><span id="L-5752"><a href="#L-5752"><span class="linenos">5752</span></a><span class="sd"> ... parse_one(&quot;select * from :tbl where ? = ?&quot;),</span>
-</span><span id="L-5753"><a href="#L-5753"><span class="linenos">5753</span></a><span class="sd"> ... exp.to_identifier(&quot;str_col&quot;), &quot;b&quot;, tbl=exp.to_identifier(&quot;foo&quot;)</span>
-</span><span id="L-5754"><a href="#L-5754"><span class="linenos">5754</span></a><span class="sd"> ... ).sql()</span>
-</span><span id="L-5755"><a href="#L-5755"><span class="linenos">5755</span></a><span class="sd"> &quot;SELECT * FROM foo WHERE str_col = &#39;b&#39;&quot;</span>
-</span><span id="L-5756"><a href="#L-5756"><span class="linenos">5756</span></a>
-</span><span id="L-5757"><a href="#L-5757"><span class="linenos">5757</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5758"><a href="#L-5758"><span class="linenos">5758</span></a><span class="sd"> The mapped expression.</span>
-</span><span id="L-5759"><a href="#L-5759"><span class="linenos">5759</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5744"><a href="#L-5744"><span class="linenos">5744</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5745"><a href="#L-5745"><span class="linenos">5745</span></a><span class="sd"> The mapped expression.</span>
+</span><span id="L-5746"><a href="#L-5746"><span class="linenos">5746</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5747"><a href="#L-5747"><span class="linenos">5747</span></a>
+</span><span id="L-5748"><a href="#L-5748"><span class="linenos">5748</span></a> <span class="k">def</span> <span class="nf">_replace_tables</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-5749"><a href="#L-5749"><span class="linenos">5749</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
+</span><span id="L-5750"><a href="#L-5750"><span class="linenos">5750</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">))</span>
+</span><span id="L-5751"><a href="#L-5751"><span class="linenos">5751</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
+</span><span id="L-5752"><a href="#L-5752"><span class="linenos">5752</span></a> <span class="k">return</span> <span class="n">to_table</span><span class="p">(</span>
+</span><span id="L-5753"><a href="#L-5753"><span class="linenos">5753</span></a> <span class="n">new_name</span><span class="p">,</span>
+</span><span id="L-5754"><a href="#L-5754"><span class="linenos">5754</span></a> <span class="o">**</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">node</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;catalog&quot;</span><span class="p">)},</span>
+</span><span id="L-5755"><a href="#L-5755"><span class="linenos">5755</span></a> <span class="p">)</span>
+</span><span id="L-5756"><a href="#L-5756"><span class="linenos">5756</span></a> <span class="k">return</span> <span class="n">node</span>
+</span><span id="L-5757"><a href="#L-5757"><span class="linenos">5757</span></a>
+</span><span id="L-5758"><a href="#L-5758"><span class="linenos">5758</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_tables</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
+</span><span id="L-5759"><a href="#L-5759"><span class="linenos">5759</span></a>
</span><span id="L-5760"><a href="#L-5760"><span class="linenos">5760</span></a>
-</span><span id="L-5761"><a href="#L-5761"><span class="linenos">5761</span></a> <span class="k">def</span> <span class="nf">_replace_placeholders</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-5762"><a href="#L-5762"><span class="linenos">5762</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Placeholder</span><span class="p">):</span>
-</span><span id="L-5763"><a href="#L-5763"><span class="linenos">5763</span></a> <span class="k">if</span> <span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
-</span><span id="L-5764"><a href="#L-5764"><span class="linenos">5764</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-</span><span id="L-5765"><a href="#L-5765"><span class="linenos">5765</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
-</span><span id="L-5766"><a href="#L-5766"><span class="linenos">5766</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
-</span><span id="L-5767"><a href="#L-5767"><span class="linenos">5767</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-5768"><a href="#L-5768"><span class="linenos">5768</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="L-5769"><a href="#L-5769"><span class="linenos">5769</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="nb">next</span><span class="p">(</span><span class="n">args</span><span class="p">))</span>
-</span><span id="L-5770"><a href="#L-5770"><span class="linenos">5770</span></a> <span class="k">except</span> <span class="ne">StopIteration</span><span class="p">:</span>
-</span><span id="L-5771"><a href="#L-5771"><span class="linenos">5771</span></a> <span class="k">pass</span>
-</span><span id="L-5772"><a href="#L-5772"><span class="linenos">5772</span></a> <span class="k">return</span> <span class="n">node</span>
-</span><span id="L-5773"><a href="#L-5773"><span class="linenos">5773</span></a>
-</span><span id="L-5774"><a href="#L-5774"><span class="linenos">5774</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_placeholders</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">args</span><span class="p">),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-</span><span id="L-5775"><a href="#L-5775"><span class="linenos">5775</span></a>
+</span><span id="L-5761"><a href="#L-5761"><span class="linenos">5761</span></a><span class="k">def</span> <span class="nf">replace_placeholders</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-5762"><a href="#L-5762"><span class="linenos">5762</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace placeholders in an expression.</span>
+</span><span id="L-5763"><a href="#L-5763"><span class="linenos">5763</span></a>
+</span><span id="L-5764"><a href="#L-5764"><span class="linenos">5764</span></a><span class="sd"> Args:</span>
+</span><span id="L-5765"><a href="#L-5765"><span class="linenos">5765</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
+</span><span id="L-5766"><a href="#L-5766"><span class="linenos">5766</span></a><span class="sd"> args: positional names that will substitute unnamed placeholders in the given order.</span>
+</span><span id="L-5767"><a href="#L-5767"><span class="linenos">5767</span></a><span class="sd"> kwargs: keyword arguments that will substitute named placeholders.</span>
+</span><span id="L-5768"><a href="#L-5768"><span class="linenos">5768</span></a>
+</span><span id="L-5769"><a href="#L-5769"><span class="linenos">5769</span></a><span class="sd"> Examples:</span>
+</span><span id="L-5770"><a href="#L-5770"><span class="linenos">5770</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
+</span><span id="L-5771"><a href="#L-5771"><span class="linenos">5771</span></a><span class="sd"> &gt;&gt;&gt; replace_placeholders(</span>
+</span><span id="L-5772"><a href="#L-5772"><span class="linenos">5772</span></a><span class="sd"> ... parse_one(&quot;select * from :tbl where ? = ?&quot;),</span>
+</span><span id="L-5773"><a href="#L-5773"><span class="linenos">5773</span></a><span class="sd"> ... exp.to_identifier(&quot;str_col&quot;), &quot;b&quot;, tbl=exp.to_identifier(&quot;foo&quot;)</span>
+</span><span id="L-5774"><a href="#L-5774"><span class="linenos">5774</span></a><span class="sd"> ... ).sql()</span>
+</span><span id="L-5775"><a href="#L-5775"><span class="linenos">5775</span></a><span class="sd"> &quot;SELECT * FROM foo WHERE str_col = &#39;b&#39;&quot;</span>
</span><span id="L-5776"><a href="#L-5776"><span class="linenos">5776</span></a>
-</span><span id="L-5777"><a href="#L-5777"><span class="linenos">5777</span></a><span class="k">def</span> <span class="nf">expand</span><span class="p">(</span>
-</span><span id="L-5778"><a href="#L-5778"><span class="linenos">5778</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">sources</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Subqueryable</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="L-5779"><a href="#L-5779"><span class="linenos">5779</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="L-5780"><a href="#L-5780"><span class="linenos">5780</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Transforms an expression by expanding all referenced sources into subqueries.</span>
-</span><span id="L-5781"><a href="#L-5781"><span class="linenos">5781</span></a>
-</span><span id="L-5782"><a href="#L-5782"><span class="linenos">5782</span></a><span class="sd"> Examples:</span>
-</span><span id="L-5783"><a href="#L-5783"><span class="linenos">5783</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
-</span><span id="L-5784"><a href="#L-5784"><span class="linenos">5784</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;)}).sql()</span>
-</span><span id="L-5785"><a href="#L-5785"><span class="linenos">5785</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM y) AS z /* source: x */&#39;</span>
-</span><span id="L-5786"><a href="#L-5786"><span class="linenos">5786</span></a>
-</span><span id="L-5787"><a href="#L-5787"><span class="linenos">5787</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;), &quot;y&quot;: parse_one(&quot;select * from z&quot;)}).sql()</span>
-</span><span id="L-5788"><a href="#L-5788"><span class="linenos">5788</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM (SELECT * FROM z) AS y /* source: y */) AS z /* source: x */&#39;</span>
-</span><span id="L-5789"><a href="#L-5789"><span class="linenos">5789</span></a>
-</span><span id="L-5790"><a href="#L-5790"><span class="linenos">5790</span></a><span class="sd"> Args:</span>
-</span><span id="L-5791"><a href="#L-5791"><span class="linenos">5791</span></a><span class="sd"> expression: The expression to expand.</span>
-</span><span id="L-5792"><a href="#L-5792"><span class="linenos">5792</span></a><span class="sd"> sources: A dictionary of name to Subqueryables.</span>
-</span><span id="L-5793"><a href="#L-5793"><span class="linenos">5793</span></a><span class="sd"> copy: Whether or not to copy the expression during transformation. Defaults to True.</span>
-</span><span id="L-5794"><a href="#L-5794"><span class="linenos">5794</span></a>
-</span><span id="L-5795"><a href="#L-5795"><span class="linenos">5795</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5796"><a href="#L-5796"><span class="linenos">5796</span></a><span class="sd"> The transformed expression.</span>
-</span><span id="L-5797"><a href="#L-5797"><span class="linenos">5797</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5798"><a href="#L-5798"><span class="linenos">5798</span></a>
-</span><span id="L-5799"><a href="#L-5799"><span class="linenos">5799</span></a> <span class="k">def</span> <span class="nf">_expand</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-5800"><a href="#L-5800"><span class="linenos">5800</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
-</span><span id="L-5801"><a href="#L-5801"><span class="linenos">5801</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">)</span>
-</span><span id="L-5802"><a href="#L-5802"><span class="linenos">5802</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">sources</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-</span><span id="L-5803"><a href="#L-5803"><span class="linenos">5803</span></a> <span class="k">if</span> <span class="n">source</span><span class="p">:</span>
-</span><span id="L-5804"><a href="#L-5804"><span class="linenos">5804</span></a> <span class="n">subquery</span> <span class="o">=</span> <span class="n">source</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">alias</span> <span class="ow">or</span> <span class="n">name</span><span class="p">)</span>
-</span><span id="L-5805"><a href="#L-5805"><span class="linenos">5805</span></a> <span class="n">subquery</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[</span><span class="sa">f</span><span class="s2">&quot;source: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">]</span>
-</span><span id="L-5806"><a href="#L-5806"><span class="linenos">5806</span></a> <span class="k">return</span> <span class="n">subquery</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-</span><span id="L-5807"><a href="#L-5807"><span class="linenos">5807</span></a> <span class="k">return</span> <span class="n">node</span>
-</span><span id="L-5808"><a href="#L-5808"><span class="linenos">5808</span></a>
-</span><span id="L-5809"><a href="#L-5809"><span class="linenos">5809</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
-</span><span id="L-5810"><a href="#L-5810"><span class="linenos">5810</span></a>
-</span><span id="L-5811"><a href="#L-5811"><span class="linenos">5811</span></a>
-</span><span id="L-5812"><a href="#L-5812"><span class="linenos">5812</span></a><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Func</span><span class="p">:</span>
-</span><span id="L-5813"><a href="#L-5813"><span class="linenos">5813</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5814"><a href="#L-5814"><span class="linenos">5814</span></a><span class="sd"> Returns a Func expression.</span>
-</span><span id="L-5815"><a href="#L-5815"><span class="linenos">5815</span></a>
-</span><span id="L-5816"><a href="#L-5816"><span class="linenos">5816</span></a><span class="sd"> Examples:</span>
-</span><span id="L-5817"><a href="#L-5817"><span class="linenos">5817</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;abs&quot;, 5).sql()</span>
-</span><span id="L-5818"><a href="#L-5818"><span class="linenos">5818</span></a><span class="sd"> &#39;ABS(5)&#39;</span>
-</span><span id="L-5819"><a href="#L-5819"><span class="linenos">5819</span></a>
-</span><span id="L-5820"><a href="#L-5820"><span class="linenos">5820</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;cast&quot;, this=5, to=DataType.build(&quot;DOUBLE&quot;)).sql()</span>
-</span><span id="L-5821"><a href="#L-5821"><span class="linenos">5821</span></a><span class="sd"> &#39;CAST(5 AS DOUBLE)&#39;</span>
-</span><span id="L-5822"><a href="#L-5822"><span class="linenos">5822</span></a>
-</span><span id="L-5823"><a href="#L-5823"><span class="linenos">5823</span></a><span class="sd"> Args:</span>
-</span><span id="L-5824"><a href="#L-5824"><span class="linenos">5824</span></a><span class="sd"> name: the name of the function to build.</span>
-</span><span id="L-5825"><a href="#L-5825"><span class="linenos">5825</span></a><span class="sd"> args: the args used to instantiate the function of interest.</span>
-</span><span id="L-5826"><a href="#L-5826"><span class="linenos">5826</span></a><span class="sd"> dialect: the source dialect.</span>
-</span><span id="L-5827"><a href="#L-5827"><span class="linenos">5827</span></a><span class="sd"> kwargs: the kwargs used to instantiate the function of interest.</span>
+</span><span id="L-5777"><a href="#L-5777"><span class="linenos">5777</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5778"><a href="#L-5778"><span class="linenos">5778</span></a><span class="sd"> The mapped expression.</span>
+</span><span id="L-5779"><a href="#L-5779"><span class="linenos">5779</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5780"><a href="#L-5780"><span class="linenos">5780</span></a>
+</span><span id="L-5781"><a href="#L-5781"><span class="linenos">5781</span></a> <span class="k">def</span> <span class="nf">_replace_placeholders</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-5782"><a href="#L-5782"><span class="linenos">5782</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Placeholder</span><span class="p">):</span>
+</span><span id="L-5783"><a href="#L-5783"><span class="linenos">5783</span></a> <span class="k">if</span> <span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
+</span><span id="L-5784"><a href="#L-5784"><span class="linenos">5784</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+</span><span id="L-5785"><a href="#L-5785"><span class="linenos">5785</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
+</span><span id="L-5786"><a href="#L-5786"><span class="linenos">5786</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
+</span><span id="L-5787"><a href="#L-5787"><span class="linenos">5787</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-5788"><a href="#L-5788"><span class="linenos">5788</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="L-5789"><a href="#L-5789"><span class="linenos">5789</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="nb">next</span><span class="p">(</span><span class="n">args</span><span class="p">))</span>
+</span><span id="L-5790"><a href="#L-5790"><span class="linenos">5790</span></a> <span class="k">except</span> <span class="ne">StopIteration</span><span class="p">:</span>
+</span><span id="L-5791"><a href="#L-5791"><span class="linenos">5791</span></a> <span class="k">pass</span>
+</span><span id="L-5792"><a href="#L-5792"><span class="linenos">5792</span></a> <span class="k">return</span> <span class="n">node</span>
+</span><span id="L-5793"><a href="#L-5793"><span class="linenos">5793</span></a>
+</span><span id="L-5794"><a href="#L-5794"><span class="linenos">5794</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_placeholders</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">args</span><span class="p">),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+</span><span id="L-5795"><a href="#L-5795"><span class="linenos">5795</span></a>
+</span><span id="L-5796"><a href="#L-5796"><span class="linenos">5796</span></a>
+</span><span id="L-5797"><a href="#L-5797"><span class="linenos">5797</span></a><span class="k">def</span> <span class="nf">expand</span><span class="p">(</span>
+</span><span id="L-5798"><a href="#L-5798"><span class="linenos">5798</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">sources</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Subqueryable</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-5799"><a href="#L-5799"><span class="linenos">5799</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="L-5800"><a href="#L-5800"><span class="linenos">5800</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Transforms an expression by expanding all referenced sources into subqueries.</span>
+</span><span id="L-5801"><a href="#L-5801"><span class="linenos">5801</span></a>
+</span><span id="L-5802"><a href="#L-5802"><span class="linenos">5802</span></a><span class="sd"> Examples:</span>
+</span><span id="L-5803"><a href="#L-5803"><span class="linenos">5803</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
+</span><span id="L-5804"><a href="#L-5804"><span class="linenos">5804</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;)}).sql()</span>
+</span><span id="L-5805"><a href="#L-5805"><span class="linenos">5805</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM y) AS z /* source: x */&#39;</span>
+</span><span id="L-5806"><a href="#L-5806"><span class="linenos">5806</span></a>
+</span><span id="L-5807"><a href="#L-5807"><span class="linenos">5807</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;), &quot;y&quot;: parse_one(&quot;select * from z&quot;)}).sql()</span>
+</span><span id="L-5808"><a href="#L-5808"><span class="linenos">5808</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM (SELECT * FROM z) AS y /* source: y */) AS z /* source: x */&#39;</span>
+</span><span id="L-5809"><a href="#L-5809"><span class="linenos">5809</span></a>
+</span><span id="L-5810"><a href="#L-5810"><span class="linenos">5810</span></a><span class="sd"> Args:</span>
+</span><span id="L-5811"><a href="#L-5811"><span class="linenos">5811</span></a><span class="sd"> expression: The expression to expand.</span>
+</span><span id="L-5812"><a href="#L-5812"><span class="linenos">5812</span></a><span class="sd"> sources: A dictionary of name to Subqueryables.</span>
+</span><span id="L-5813"><a href="#L-5813"><span class="linenos">5813</span></a><span class="sd"> copy: Whether or not to copy the expression during transformation. Defaults to True.</span>
+</span><span id="L-5814"><a href="#L-5814"><span class="linenos">5814</span></a>
+</span><span id="L-5815"><a href="#L-5815"><span class="linenos">5815</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5816"><a href="#L-5816"><span class="linenos">5816</span></a><span class="sd"> The transformed expression.</span>
+</span><span id="L-5817"><a href="#L-5817"><span class="linenos">5817</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5818"><a href="#L-5818"><span class="linenos">5818</span></a>
+</span><span id="L-5819"><a href="#L-5819"><span class="linenos">5819</span></a> <span class="k">def</span> <span class="nf">_expand</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="L-5820"><a href="#L-5820"><span class="linenos">5820</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
+</span><span id="L-5821"><a href="#L-5821"><span class="linenos">5821</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">)</span>
+</span><span id="L-5822"><a href="#L-5822"><span class="linenos">5822</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">sources</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+</span><span id="L-5823"><a href="#L-5823"><span class="linenos">5823</span></a> <span class="k">if</span> <span class="n">source</span><span class="p">:</span>
+</span><span id="L-5824"><a href="#L-5824"><span class="linenos">5824</span></a> <span class="n">subquery</span> <span class="o">=</span> <span class="n">source</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">alias</span> <span class="ow">or</span> <span class="n">name</span><span class="p">)</span>
+</span><span id="L-5825"><a href="#L-5825"><span class="linenos">5825</span></a> <span class="n">subquery</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[</span><span class="sa">f</span><span class="s2">&quot;source: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">]</span>
+</span><span id="L-5826"><a href="#L-5826"><span class="linenos">5826</span></a> <span class="k">return</span> <span class="n">subquery</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</span><span id="L-5827"><a href="#L-5827"><span class="linenos">5827</span></a> <span class="k">return</span> <span class="n">node</span>
</span><span id="L-5828"><a href="#L-5828"><span class="linenos">5828</span></a>
-</span><span id="L-5829"><a href="#L-5829"><span class="linenos">5829</span></a><span class="sd"> Note:</span>
-</span><span id="L-5830"><a href="#L-5830"><span class="linenos">5830</span></a><span class="sd"> The arguments `args` and `kwargs` are mutually exclusive.</span>
+</span><span id="L-5829"><a href="#L-5829"><span class="linenos">5829</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
+</span><span id="L-5830"><a href="#L-5830"><span class="linenos">5830</span></a>
</span><span id="L-5831"><a href="#L-5831"><span class="linenos">5831</span></a>
-</span><span id="L-5832"><a href="#L-5832"><span class="linenos">5832</span></a><span class="sd"> Returns:</span>
-</span><span id="L-5833"><a href="#L-5833"><span class="linenos">5833</span></a><span class="sd"> An instance of the function of interest, or an anonymous function, if `name` doesn&#39;t</span>
-</span><span id="L-5834"><a href="#L-5834"><span class="linenos">5834</span></a><span class="sd"> correspond to an existing `sqlglot.expressions.Func` class.</span>
-</span><span id="L-5835"><a href="#L-5835"><span class="linenos">5835</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5836"><a href="#L-5836"><span class="linenos">5836</span></a> <span class="k">if</span> <span class="n">args</span> <span class="ow">and</span> <span class="n">kwargs</span><span class="p">:</span>
-</span><span id="L-5837"><a href="#L-5837"><span class="linenos">5837</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Can&#39;t use both args and kwargs to instantiate a function.&quot;</span><span class="p">)</span>
-</span><span id="L-5838"><a href="#L-5838"><span class="linenos">5838</span></a>
-</span><span id="L-5839"><a href="#L-5839"><span class="linenos">5839</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-5840"><a href="#L-5840"><span class="linenos">5840</span></a>
-</span><span id="L-5841"><a href="#L-5841"><span class="linenos">5841</span></a> <span class="n">converted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">arg</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="k">for</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">args</span><span class="p">]</span>
-</span><span id="L-5842"><a href="#L-5842"><span class="linenos">5842</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">key</span><span class="p">:</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">value</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="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">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
-</span><span id="L-5843"><a href="#L-5843"><span class="linenos">5843</span></a>
-</span><span id="L-5844"><a href="#L-5844"><span class="linenos">5844</span></a> <span class="n">parser</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)()</span><span class="o">.</span><span class="n">parser</span><span class="p">()</span>
-</span><span id="L-5845"><a href="#L-5845"><span class="linenos">5845</span></a> <span class="n">from_args_list</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="L-5846"><a href="#L-5846"><span class="linenos">5846</span></a>
-</span><span id="L-5847"><a href="#L-5847"><span class="linenos">5847</span></a> <span class="k">if</span> <span class="n">from_args_list</span><span class="p">:</span>
-</span><span id="L-5848"><a href="#L-5848"><span class="linenos">5848</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">from_args_list</span><span class="p">(</span><span class="n">converted</span><span class="p">)</span> <span class="k">if</span> <span class="n">converted</span> <span class="k">else</span> <span class="n">from_args_list</span><span class="o">.</span><span class="vm">__self__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="L-5849"><a href="#L-5849"><span class="linenos">5849</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="L-5850"><a href="#L-5850"><span class="linenos">5850</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="n">kwargs</span> <span class="ow">or</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="n">converted</span><span class="p">}</span>
-</span><span id="L-5851"><a href="#L-5851"><span class="linenos">5851</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">Anonymous</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-</span><span id="L-5852"><a href="#L-5852"><span class="linenos">5852</span></a>
-</span><span id="L-5853"><a href="#L-5853"><span class="linenos">5853</span></a> <span class="k">for</span> <span class="n">error_message</span> <span class="ow">in</span> <span class="n">function</span><span class="o">.</span><span class="n">error_messages</span><span class="p">(</span><span class="n">converted</span><span class="p">):</span>
-</span><span id="L-5854"><a href="#L-5854"><span class="linenos">5854</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">error_message</span><span class="p">)</span>
-</span><span id="L-5855"><a href="#L-5855"><span class="linenos">5855</span></a>
-</span><span id="L-5856"><a href="#L-5856"><span class="linenos">5856</span></a> <span class="k">return</span> <span class="n">function</span>
-</span><span id="L-5857"><a href="#L-5857"><span class="linenos">5857</span></a>
+</span><span id="L-5832"><a href="#L-5832"><span class="linenos">5832</span></a><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Func</span><span class="p">:</span>
+</span><span id="L-5833"><a href="#L-5833"><span class="linenos">5833</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5834"><a href="#L-5834"><span class="linenos">5834</span></a><span class="sd"> Returns a Func expression.</span>
+</span><span id="L-5835"><a href="#L-5835"><span class="linenos">5835</span></a>
+</span><span id="L-5836"><a href="#L-5836"><span class="linenos">5836</span></a><span class="sd"> Examples:</span>
+</span><span id="L-5837"><a href="#L-5837"><span class="linenos">5837</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;abs&quot;, 5).sql()</span>
+</span><span id="L-5838"><a href="#L-5838"><span class="linenos">5838</span></a><span class="sd"> &#39;ABS(5)&#39;</span>
+</span><span id="L-5839"><a href="#L-5839"><span class="linenos">5839</span></a>
+</span><span id="L-5840"><a href="#L-5840"><span class="linenos">5840</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;cast&quot;, this=5, to=DataType.build(&quot;DOUBLE&quot;)).sql()</span>
+</span><span id="L-5841"><a href="#L-5841"><span class="linenos">5841</span></a><span class="sd"> &#39;CAST(5 AS DOUBLE)&#39;</span>
+</span><span id="L-5842"><a href="#L-5842"><span class="linenos">5842</span></a>
+</span><span id="L-5843"><a href="#L-5843"><span class="linenos">5843</span></a><span class="sd"> Args:</span>
+</span><span id="L-5844"><a href="#L-5844"><span class="linenos">5844</span></a><span class="sd"> name: the name of the function to build.</span>
+</span><span id="L-5845"><a href="#L-5845"><span class="linenos">5845</span></a><span class="sd"> args: the args used to instantiate the function of interest.</span>
+</span><span id="L-5846"><a href="#L-5846"><span class="linenos">5846</span></a><span class="sd"> dialect: the source dialect.</span>
+</span><span id="L-5847"><a href="#L-5847"><span class="linenos">5847</span></a><span class="sd"> kwargs: the kwargs used to instantiate the function of interest.</span>
+</span><span id="L-5848"><a href="#L-5848"><span class="linenos">5848</span></a>
+</span><span id="L-5849"><a href="#L-5849"><span class="linenos">5849</span></a><span class="sd"> Note:</span>
+</span><span id="L-5850"><a href="#L-5850"><span class="linenos">5850</span></a><span class="sd"> The arguments `args` and `kwargs` are mutually exclusive.</span>
+</span><span id="L-5851"><a href="#L-5851"><span class="linenos">5851</span></a>
+</span><span id="L-5852"><a href="#L-5852"><span class="linenos">5852</span></a><span class="sd"> Returns:</span>
+</span><span id="L-5853"><a href="#L-5853"><span class="linenos">5853</span></a><span class="sd"> An instance of the function of interest, or an anonymous function, if `name` doesn&#39;t</span>
+</span><span id="L-5854"><a href="#L-5854"><span class="linenos">5854</span></a><span class="sd"> correspond to an existing `sqlglot.expressions.Func` class.</span>
+</span><span id="L-5855"><a href="#L-5855"><span class="linenos">5855</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5856"><a href="#L-5856"><span class="linenos">5856</span></a> <span class="k">if</span> <span class="n">args</span> <span class="ow">and</span> <span class="n">kwargs</span><span class="p">:</span>
+</span><span id="L-5857"><a href="#L-5857"><span class="linenos">5857</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Can&#39;t use both args and kwargs to instantiate a function.&quot;</span><span class="p">)</span>
</span><span id="L-5858"><a href="#L-5858"><span class="linenos">5858</span></a>
-</span><span id="L-5859"><a href="#L-5859"><span class="linenos">5859</span></a><span class="k">def</span> <span class="nf">true</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
-</span><span id="L-5860"><a href="#L-5860"><span class="linenos">5860</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5861"><a href="#L-5861"><span class="linenos">5861</span></a><span class="sd"> Returns a true Boolean expression.</span>
-</span><span id="L-5862"><a href="#L-5862"><span class="linenos">5862</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5863"><a href="#L-5863"><span class="linenos">5863</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-5864"><a href="#L-5864"><span class="linenos">5864</span></a>
-</span><span id="L-5865"><a href="#L-5865"><span class="linenos">5865</span></a>
-</span><span id="L-5866"><a href="#L-5866"><span class="linenos">5866</span></a><span class="k">def</span> <span class="nf">false</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
-</span><span id="L-5867"><a href="#L-5867"><span class="linenos">5867</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5868"><a href="#L-5868"><span class="linenos">5868</span></a><span class="sd"> Returns a false Boolean expression.</span>
-</span><span id="L-5869"><a href="#L-5869"><span class="linenos">5869</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5870"><a href="#L-5870"><span class="linenos">5870</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-</span><span id="L-5871"><a href="#L-5871"><span class="linenos">5871</span></a>
+</span><span id="L-5859"><a href="#L-5859"><span class="linenos">5859</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-5860"><a href="#L-5860"><span class="linenos">5860</span></a>
+</span><span id="L-5861"><a href="#L-5861"><span class="linenos">5861</span></a> <span class="n">converted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">arg</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="k">for</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">args</span><span class="p">]</span>
+</span><span id="L-5862"><a href="#L-5862"><span class="linenos">5862</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">key</span><span class="p">:</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">value</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="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">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
+</span><span id="L-5863"><a href="#L-5863"><span class="linenos">5863</span></a>
+</span><span id="L-5864"><a href="#L-5864"><span class="linenos">5864</span></a> <span class="n">parser</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)()</span><span class="o">.</span><span class="n">parser</span><span class="p">()</span>
+</span><span id="L-5865"><a href="#L-5865"><span class="linenos">5865</span></a> <span class="n">from_args_list</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="L-5866"><a href="#L-5866"><span class="linenos">5866</span></a>
+</span><span id="L-5867"><a href="#L-5867"><span class="linenos">5867</span></a> <span class="k">if</span> <span class="n">from_args_list</span><span class="p">:</span>
+</span><span id="L-5868"><a href="#L-5868"><span class="linenos">5868</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">from_args_list</span><span class="p">(</span><span class="n">converted</span><span class="p">)</span> <span class="k">if</span> <span class="n">converted</span> <span class="k">else</span> <span class="n">from_args_list</span><span class="o">.</span><span class="vm">__self__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="L-5869"><a href="#L-5869"><span class="linenos">5869</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="L-5870"><a href="#L-5870"><span class="linenos">5870</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="n">kwargs</span> <span class="ow">or</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="n">converted</span><span class="p">}</span>
+</span><span id="L-5871"><a href="#L-5871"><span class="linenos">5871</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">Anonymous</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="L-5872"><a href="#L-5872"><span class="linenos">5872</span></a>
-</span><span id="L-5873"><a href="#L-5873"><span class="linenos">5873</span></a><span class="k">def</span> <span class="nf">null</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Null</span><span class="p">:</span>
-</span><span id="L-5874"><a href="#L-5874"><span class="linenos">5874</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="L-5875"><a href="#L-5875"><span class="linenos">5875</span></a><span class="sd"> Returns a Null expression.</span>
-</span><span id="L-5876"><a href="#L-5876"><span class="linenos">5876</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="L-5877"><a href="#L-5877"><span class="linenos">5877</span></a> <span class="k">return</span> <span class="n">Null</span><span class="p">()</span>
+</span><span id="L-5873"><a href="#L-5873"><span class="linenos">5873</span></a> <span class="k">for</span> <span class="n">error_message</span> <span class="ow">in</span> <span class="n">function</span><span class="o">.</span><span class="n">error_messages</span><span class="p">(</span><span class="n">converted</span><span class="p">):</span>
+</span><span id="L-5874"><a href="#L-5874"><span class="linenos">5874</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">error_message</span><span class="p">)</span>
+</span><span id="L-5875"><a href="#L-5875"><span class="linenos">5875</span></a>
+</span><span id="L-5876"><a href="#L-5876"><span class="linenos">5876</span></a> <span class="k">return</span> <span class="n">function</span>
+</span><span id="L-5877"><a href="#L-5877"><span class="linenos">5877</span></a>
</span><span id="L-5878"><a href="#L-5878"><span class="linenos">5878</span></a>
-</span><span id="L-5879"><a href="#L-5879"><span class="linenos">5879</span></a>
-</span><span id="L-5880"><a href="#L-5880"><span class="linenos">5880</span></a><span class="c1"># TODO: deprecate this</span>
-</span><span id="L-5881"><a href="#L-5881"><span class="linenos">5881</span></a><span class="n">TRUE</span> <span class="o">=</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</span><span id="L-5882"><a href="#L-5882"><span class="linenos">5882</span></a><span class="n">FALSE</span> <span class="o">=</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-</span><span id="L-5883"><a href="#L-5883"><span class="linenos">5883</span></a><span class="n">NULL</span> <span class="o">=</span> <span class="n">Null</span><span class="p">()</span>
+</span><span id="L-5879"><a href="#L-5879"><span class="linenos">5879</span></a><span class="k">def</span> <span class="nf">true</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
+</span><span id="L-5880"><a href="#L-5880"><span class="linenos">5880</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5881"><a href="#L-5881"><span class="linenos">5881</span></a><span class="sd"> Returns a true Boolean expression.</span>
+</span><span id="L-5882"><a href="#L-5882"><span class="linenos">5882</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5883"><a href="#L-5883"><span class="linenos">5883</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-5884"><a href="#L-5884"><span class="linenos">5884</span></a>
+</span><span id="L-5885"><a href="#L-5885"><span class="linenos">5885</span></a>
+</span><span id="L-5886"><a href="#L-5886"><span class="linenos">5886</span></a><span class="k">def</span> <span class="nf">false</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
+</span><span id="L-5887"><a href="#L-5887"><span class="linenos">5887</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5888"><a href="#L-5888"><span class="linenos">5888</span></a><span class="sd"> Returns a false Boolean expression.</span>
+</span><span id="L-5889"><a href="#L-5889"><span class="linenos">5889</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5890"><a href="#L-5890"><span class="linenos">5890</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</span><span id="L-5891"><a href="#L-5891"><span class="linenos">5891</span></a>
+</span><span id="L-5892"><a href="#L-5892"><span class="linenos">5892</span></a>
+</span><span id="L-5893"><a href="#L-5893"><span class="linenos">5893</span></a><span class="k">def</span> <span class="nf">null</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Null</span><span class="p">:</span>
+</span><span id="L-5894"><a href="#L-5894"><span class="linenos">5894</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="L-5895"><a href="#L-5895"><span class="linenos">5895</span></a><span class="sd"> Returns a Null expression.</span>
+</span><span id="L-5896"><a href="#L-5896"><span class="linenos">5896</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="L-5897"><a href="#L-5897"><span class="linenos">5897</span></a> <span class="k">return</span> <span class="n">Null</span><span class="p">()</span>
+</span><span id="L-5898"><a href="#L-5898"><span class="linenos">5898</span></a>
+</span><span id="L-5899"><a href="#L-5899"><span class="linenos">5899</span></a>
+</span><span id="L-5900"><a href="#L-5900"><span class="linenos">5900</span></a><span class="c1"># TODO: deprecate this</span>
+</span><span id="L-5901"><a href="#L-5901"><span class="linenos">5901</span></a><span class="n">TRUE</span> <span class="o">=</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="L-5902"><a href="#L-5902"><span class="linenos">5902</span></a><span class="n">FALSE</span> <span class="o">=</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</span><span id="L-5903"><a href="#L-5903"><span class="linenos">5903</span></a><span class="n">NULL</span> <span class="o">=</span> <span class="n">Null</span><span class="p">()</span>
</span></pre></div>
@@ -9868,6 +12228,85 @@ optimizer, in order to enable some transformations that require type information
</div>
+ <div id="Expression.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;expression&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.key"></a>
+
+
+
+ </div>
+ <div id="Expression.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.arg_types"></a>
+
+
+
+ </div>
+ <div id="Expression.args" class="classattr">
+ <div class="attr variable">
+ <span class="name">args</span><span class="annotation">: Dict[str, Any]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.args"></a>
+
+
+
+ </div>
+ <div id="Expression.parent" class="classattr">
+ <div class="attr variable">
+ <span class="name">parent</span><span class="annotation">: Optional[<a href="#Expression">sqlglot.expressions.Expression</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.parent"></a>
+
+
+
+ </div>
+ <div id="Expression.arg_key" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_key</span><span class="annotation">: Optional[str]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.arg_key"></a>
+
+
+
+ </div>
+ <div id="Expression.comments" class="classattr">
+ <div class="attr variable">
+ <span class="name">comments</span><span class="annotation">: Optional[List[str]]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.comments"></a>
+
+
+
+ </div>
+ <div id="Expression.hashable_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">hashable_args</span><span class="annotation">: Any</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.hashable_args"></a>
+
+
+
+ </div>
<div id="Expression.this" class="classattr">
<div class="attr variable">
<span class="name">this</span>
@@ -10005,6 +12444,28 @@ for args that are strings or leaf Expression instances, such as identifiers and
</div>
+ <div id="Expression.name" class="classattr">
+ <div class="attr variable">
+ <span class="name">name</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.name"></a>
+
+
+
+ </div>
+ <div id="Expression.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="#Expression.alias_or_name"></a>
+
+
+
+ </div>
<div id="Expression.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -10035,6 +12496,28 @@ for args that are strings or leaf Expression instances, such as identifiers and
</div>
+ <div id="Expression.type" class="classattr">
+ <div class="attr variable">
+ <span class="name">type</span><span class="annotation">: Optional[<a href="#DataType">sqlglot.expressions.DataType</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.type"></a>
+
+
+
+ </div>
+ <div id="Expression.meta" class="classattr">
+ <div class="attr variable">
+ <span class="name">meta</span><span class="annotation">: Dict[str, Any]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Expression.meta"></a>
+
+
+
+ </div>
<div id="Expression.copy" class="classattr">
<input id="Expression.copy-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -10145,7 +12628,7 @@ for args that are strings or leaf Expression instances, such as identifiers and
</span></pre></div>
- <div class="docstring"><p>Sets <code>arg_key</code> to <code>value</code>.</p>
+ <div class="docstring"><p>Sets <code><a href="#Expression.arg_key">arg_key</a></code> to <code>value</code>.</p>
<h6 id="arguments">Arguments:</h6>
@@ -11014,6 +13497,31 @@ to check that the provided arguments don't exceed the function argument limit.</
</div>
</section>
+ <section id="IntoType">
+ <div class="attr variable">
+ <span class="name">IntoType</span> =
+<input id="IntoType-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="IntoType-view-value"></label><span class="default_value">typing.Union[str, typing.Type[<a href="#Expression">sqlglot.expressions.Expression</a>], typing.Collection[typing.Union[str, typing.Type[<a href="#Expression">sqlglot.expressions.Expression</a>]]]]</span>
+
+
+ </div>
+ <a class="headerlink" href="#IntoType"></a>
+
+
+
+ </section>
+ <section id="ExpOrStr">
+ <div class="attr variable">
+ <span class="name">ExpOrStr</span> =
+<span class="default_value">typing.Union[str, <a href="#Expression">sqlglot.expressions.Expression</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#ExpOrStr"></a>
+
+
+
+ </section>
<section id="Condition">
<input id="Condition-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr class">
@@ -11613,11 +14121,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Condition.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;condition&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Condition.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Condition.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Condition.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Condition.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Condition.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Condition.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Condition.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Condition.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Condition.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Condition.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Condition.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -11627,7 +14153,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Condition.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Condition.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Condition.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Condition.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Condition.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Condition.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Condition.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Condition.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Condition.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Condition.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Condition.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -11680,11 +14210,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Predicate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;predicate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Predicate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Predicate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Predicate.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Predicate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Predicate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Predicate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Predicate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Predicate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Predicate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Predicate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Predicate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -11694,7 +14242,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Predicate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Predicate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Predicate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Predicate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Predicate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Predicate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Predicate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Predicate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Predicate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Predicate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Predicate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -11773,11 +14325,62 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="DerivedTable.alias_column_names" class="classattr">
+ <div class="attr variable">
+ <span class="name">alias_column_names</span><span class="annotation">: List[str]</span>
+
+
+ </div>
+ <a class="headerlink" href="#DerivedTable.alias_column_names"></a>
+
+
+
+ </div>
+ <div id="DerivedTable.selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#DerivedTable.selects"></a>
+
+
+
+ </div>
+ <div id="DerivedTable.named_selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">named_selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#DerivedTable.named_selects"></a>
+
+
+
+ </div>
+ <div id="DerivedTable.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;derivedtable&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DerivedTable.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DerivedTable.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DerivedTable.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DerivedTable.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DerivedTable.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DerivedTable.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DerivedTable.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DerivedTable.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DerivedTable.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DerivedTable.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DerivedTable.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -11787,7 +14390,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DerivedTable.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DerivedTable.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DerivedTable.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DerivedTable.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DerivedTable.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DerivedTable.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DerivedTable.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DerivedTable.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DerivedTable.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DerivedTable.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DerivedTable.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12109,11 +14716,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Unionable.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unionable&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Unionable.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Unionable.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Unionable.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Unionable.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Unionable.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Unionable.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Unionable.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Unionable.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Unionable.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Unionable.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Unionable.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12123,7 +14748,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Unionable.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Unionable.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Unionable.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Unionable.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Unionable.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Unionable.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Unionable.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Unionable.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Unionable.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Unionable.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Unionable.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12177,11 +14806,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="UDTF.selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#UDTF.selects"></a>
+
+
+
+ </div>
+ <div id="UDTF.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;udtf&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UDTF.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UDTF.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UDTF.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="UDTF.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UDTF.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UDTF.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UDTF.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UDTF.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UDTF.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UDTF.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UDTF.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12191,7 +14849,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="UDTF.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UDTF.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UDTF.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UDTF.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UDTF.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UDTF.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UDTF.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UDTF.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UDTF.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UDTF.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UDTF.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12221,6 +14883,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="UDTF.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#DerivedTable">DerivedTable</a></dt>
+ <dd id="UDTF.alias_column_names" class="variable"><a href="#DerivedTable.alias_column_names">alias_column_names</a></dd>
+ <dd id="UDTF.named_selects" class="variable"><a href="#DerivedTable.named_selects">named_selects</a></dd>
+
+ </div>
<div><dt><a href="#Unionable">Unionable</a></dt>
<dd id="UDTF.union" class="function"><a href="#Unionable.union">union</a></dd>
<dd id="UDTF.intersect" class="function"><a href="#Unionable.intersect">intersect</a></dd>
@@ -12254,11 +14921,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Cache.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;with&#39;: False, &#39;this&#39;: True, &#39;lazy&#39;: False, &#39;options&#39;: False, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Cache.arg_types"></a>
+
+
+
+ </div>
+ <div id="Cache.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;cache&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Cache.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Cache.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Cache.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Cache.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Cache.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Cache.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Cache.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Cache.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Cache.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Cache.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12268,7 +14964,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Cache.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Cache.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Cache.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Cache.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Cache.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Cache.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Cache.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Cache.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Cache.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Cache.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Cache.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12319,11 +15019,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Uncache.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;exists&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Uncache.arg_types"></a>
+
+
+
+ </div>
+ <div id="Uncache.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;uncache&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Uncache.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Uncache.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Uncache.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Uncache.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Uncache.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Uncache.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Uncache.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Uncache.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Uncache.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Uncache.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12333,7 +15062,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Uncache.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Uncache.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Uncache.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Uncache.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Uncache.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Uncache.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Uncache.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Uncache.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Uncache.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Uncache.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Uncache.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12397,11 +15130,41 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Create.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Create.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Create.arg_types-view-value"></label><span class="default_value">{&#39;with&#39;: False, &#39;this&#39;: True, &#39;kind&#39;: True, &#39;expression&#39;: False, &#39;exists&#39;: False, &#39;properties&#39;: False, &#39;replace&#39;: False, &#39;unique&#39;: False, &#39;indexes&#39;: False, &#39;no_schema_binding&#39;: False, &#39;begin&#39;: False, &#39;clone&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Create.arg_types"></a>
+
+
+
+ </div>
+ <div id="Create.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;create&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Create.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Create.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Create.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Create.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Create.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Create.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Create.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Create.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Create.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Create.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12411,7 +15174,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Create.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Create.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Create.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Create.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Create.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Create.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Create.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Create.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Create.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Create.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Create.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12467,11 +15234,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Clone.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;when&#39;: False, &#39;kind&#39;: False, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Clone.arg_types"></a>
+
+
+
+ </div>
+ <div id="Clone.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;clone&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Clone.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Clone.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Clone.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Clone.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Clone.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Clone.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Clone.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Clone.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Clone.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Clone.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12481,7 +15277,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Clone.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Clone.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Clone.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Clone.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Clone.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Clone.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Clone.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Clone.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Clone.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Clone.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Clone.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12532,11 +15332,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Describe.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Describe.arg_types"></a>
+
+
+
+ </div>
+ <div id="Describe.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;describe&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Describe.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Describe.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Describe.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Describe.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Describe.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Describe.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Describe.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Describe.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Describe.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Describe.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12546,7 +15375,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Describe.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Describe.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Describe.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Describe.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Describe.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Describe.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Describe.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Describe.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Describe.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Describe.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Describe.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12597,11 +15430,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Pragma.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;pragma&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Pragma.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Pragma.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Pragma.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Pragma.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Pragma.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Pragma.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Pragma.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Pragma.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Pragma.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Pragma.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Pragma.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12611,7 +15462,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Pragma.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Pragma.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Pragma.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Pragma.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Pragma.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Pragma.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Pragma.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Pragma.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Pragma.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Pragma.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Pragma.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12662,11 +15517,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Set.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Set.arg_types"></a>
+
+
+
+ </div>
+ <div id="Set.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;set&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Set.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Set.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Set.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Set.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Set.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Set.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Set.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Set.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Set.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Set.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12676,7 +15560,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Set.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Set.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Set.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Set.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Set.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Set.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Set.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Set.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Set.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Set.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Set.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12733,11 +15621,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="SetItem.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expressions&#39;: False, &#39;kind&#39;: False, &#39;collate&#39;: False, &#39;global&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetItem.arg_types"></a>
+
+
+
+ </div>
+ <div id="SetItem.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;setitem&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetItem.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SetItem.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SetItem.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SetItem.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SetItem.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SetItem.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SetItem.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SetItem.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SetItem.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SetItem.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12747,7 +15664,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SetItem.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SetItem.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SetItem.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SetItem.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SetItem.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SetItem.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SetItem.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SetItem.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SetItem.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SetItem.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SetItem.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12814,11 +15735,41 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Show.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Show.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Show.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;target&#39;: False, &#39;offset&#39;: False, &#39;limit&#39;: False, &#39;like&#39;: False, &#39;where&#39;: False, &#39;db&#39;: False, &#39;full&#39;: False, &#39;mutex&#39;: False, &#39;query&#39;: False, &#39;channel&#39;: False, &#39;global&#39;: False, &#39;log&#39;: False, &#39;position&#39;: False, &#39;types&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Show.arg_types"></a>
+
+
+
+ </div>
+ <div id="Show.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;show&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Show.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Show.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Show.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Show.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Show.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Show.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Show.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Show.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Show.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Show.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12828,7 +15779,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Show.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Show.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Show.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Show.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Show.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Show.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Show.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Show.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Show.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Show.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Show.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12879,11 +15834,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="UserDefinedFunction.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False, &#39;wrapped&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#UserDefinedFunction.arg_types"></a>
+
+
+
+ </div>
+ <div id="UserDefinedFunction.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;userdefinedfunction&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UserDefinedFunction.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UserDefinedFunction.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UserDefinedFunction.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UserDefinedFunction.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UserDefinedFunction.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UserDefinedFunction.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UserDefinedFunction.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UserDefinedFunction.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UserDefinedFunction.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UserDefinedFunction.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12893,7 +15877,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="UserDefinedFunction.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UserDefinedFunction.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UserDefinedFunction.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UserDefinedFunction.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UserDefinedFunction.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UserDefinedFunction.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UserDefinedFunction.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UserDefinedFunction.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UserDefinedFunction.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UserDefinedFunction.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UserDefinedFunction.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -12944,11 +15932,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CharacterSet.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;default&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CharacterSet.arg_types"></a>
+
+
+
+ </div>
+ <div id="CharacterSet.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;characterset&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CharacterSet.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CharacterSet.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CharacterSet.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CharacterSet.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CharacterSet.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CharacterSet.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CharacterSet.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CharacterSet.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CharacterSet.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CharacterSet.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -12958,7 +15975,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CharacterSet.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CharacterSet.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CharacterSet.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CharacterSet.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CharacterSet.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CharacterSet.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CharacterSet.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CharacterSet.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CharacterSet.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CharacterSet.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CharacterSet.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13013,11 +16034,51 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="With.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;recursive&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#With.arg_types"></a>
+
+
+
+ </div>
+ <div id="With.recursive" class="classattr">
+ <div class="attr variable">
+ <span class="name">recursive</span><span class="annotation">: bool</span>
+
+
+ </div>
+ <a class="headerlink" href="#With.recursive"></a>
+
+
+
+ </div>
+ <div id="With.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;with&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#With.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="With.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="With.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="With.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="With.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="With.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="With.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="With.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="With.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="With.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13027,7 +16088,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="With.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="With.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="With.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="With.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="With.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="With.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="With.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="With.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="With.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="With.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="With.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13078,11 +16143,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="WithinGroup.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithinGroup.arg_types"></a>
+
+
+
+ </div>
+ <div id="WithinGroup.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;withingroup&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithinGroup.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="WithinGroup.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="WithinGroup.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="WithinGroup.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="WithinGroup.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="WithinGroup.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="WithinGroup.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="WithinGroup.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="WithinGroup.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="WithinGroup.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13092,7 +16186,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="WithinGroup.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="WithinGroup.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="WithinGroup.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="WithinGroup.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="WithinGroup.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="WithinGroup.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="WithinGroup.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="WithinGroup.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="WithinGroup.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="WithinGroup.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="WithinGroup.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13143,11 +16241,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CTE.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;alias&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CTE.arg_types"></a>
+
+
+
+ </div>
+ <div id="CTE.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;cte&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CTE.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CTE.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CTE.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CTE.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CTE.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CTE.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CTE.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CTE.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CTE.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CTE.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13157,7 +16284,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CTE.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CTE.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CTE.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CTE.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CTE.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CTE.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CTE.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CTE.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CTE.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CTE.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CTE.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13187,6 +16318,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CTE.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#DerivedTable">DerivedTable</a></dt>
+ <dd id="CTE.alias_column_names" class="variable"><a href="#DerivedTable.alias_column_names">alias_column_names</a></dd>
+ <dd id="CTE.selects" class="variable"><a href="#DerivedTable.selects">selects</a></dd>
+ <dd id="CTE.named_selects" class="variable"><a href="#DerivedTable.named_selects">named_selects</a></dd>
+
+ </div>
</dl>
</div>
</section>
@@ -13212,11 +16349,51 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="TableAlias.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;columns&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TableAlias.arg_types"></a>
+
+
+
+ </div>
+ <div id="TableAlias.columns" class="classattr">
+ <div class="attr variable">
+ <span class="name">columns</span>
+
+
+ </div>
+ <a class="headerlink" href="#TableAlias.columns"></a>
+
+
+
+ </div>
+ <div id="TableAlias.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tablealias&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TableAlias.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TableAlias.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TableAlias.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TableAlias.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TableAlias.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TableAlias.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TableAlias.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TableAlias.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TableAlias.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TableAlias.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13226,7 +16403,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="TableAlias.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TableAlias.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TableAlias.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TableAlias.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TableAlias.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TableAlias.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TableAlias.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TableAlias.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TableAlias.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TableAlias.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TableAlias.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13277,11 +16458,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="BitString.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitstring&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitString.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitString.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitString.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="BitString.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitString.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitString.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitString.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitString.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitString.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitString.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitString.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13291,7 +16490,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitString.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitString.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitString.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitString.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitString.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitString.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitString.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitString.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitString.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitString.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitString.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13357,11 +16560,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="HexString.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;hexstring&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#HexString.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="HexString.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="HexString.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="HexString.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="HexString.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="HexString.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="HexString.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="HexString.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="HexString.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="HexString.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="HexString.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13371,7 +16592,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="HexString.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="HexString.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="HexString.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="HexString.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="HexString.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="HexString.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="HexString.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="HexString.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="HexString.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="HexString.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="HexString.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13437,11 +16662,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="ByteString.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bytestring&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ByteString.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ByteString.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ByteString.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="ByteString.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ByteString.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ByteString.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ByteString.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ByteString.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ByteString.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ByteString.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ByteString.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13451,7 +16694,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ByteString.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ByteString.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ByteString.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ByteString.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ByteString.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ByteString.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ByteString.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ByteString.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ByteString.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ByteString.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ByteString.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13517,11 +16764,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="RawString.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rawstring&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RawString.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RawString.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RawString.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="RawString.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RawString.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RawString.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RawString.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RawString.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RawString.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RawString.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RawString.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13531,7 +16796,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="RawString.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RawString.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RawString.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RawString.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RawString.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RawString.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RawString.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RawString.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RawString.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RawString.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RawString.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13634,6 +16903,51 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Column.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;table&#39;: False, &#39;db&#39;: False, &#39;catalog&#39;: False, &#39;join_mark&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Column.arg_types"></a>
+
+
+
+ </div>
+ <div id="Column.table" class="classattr">
+ <div class="attr variable">
+ <span class="name">table</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Column.table"></a>
+
+
+
+ </div>
+ <div id="Column.db" class="classattr">
+ <div class="attr variable">
+ <span class="name">db</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Column.db"></a>
+
+
+
+ </div>
+ <div id="Column.catalog" class="classattr">
+ <div class="attr variable">
+ <span class="name">catalog</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Column.catalog"></a>
+
+
+
+ </div>
<div id="Column.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -13707,11 +17021,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Column.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;column&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Column.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Column.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Column.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Column.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Column.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Column.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Column.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Column.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Column.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Column.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13721,6 +17052,10 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Column.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Column.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Column.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Column.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Column.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Column.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Column.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Column.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Column.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Column.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13786,11 +17121,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="ColumnPosition.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;position&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnPosition.arg_types"></a>
+
+
+
+ </div>
+ <div id="ColumnPosition.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;columnposition&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnPosition.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ColumnPosition.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ColumnPosition.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ColumnPosition.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ColumnPosition.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ColumnPosition.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ColumnPosition.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ColumnPosition.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ColumnPosition.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ColumnPosition.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13800,7 +17164,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ColumnPosition.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ColumnPosition.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ColumnPosition.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ColumnPosition.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ColumnPosition.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ColumnPosition.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ColumnPosition.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ColumnPosition.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ColumnPosition.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ColumnPosition.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ColumnPosition.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13861,11 +17229,51 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="ColumnDef.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: False, &#39;constraints&#39;: False, &#39;exists&#39;: False, &#39;position&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnDef.arg_types"></a>
+
+
+
+ </div>
+ <div id="ColumnDef.constraints" class="classattr">
+ <div class="attr variable">
+ <span class="name">constraints</span><span class="annotation">: List[<a href="#ColumnConstraint">sqlglot.expressions.ColumnConstraint</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnDef.constraints"></a>
+
+
+
+ </div>
+ <div id="ColumnDef.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;columndef&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnDef.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ColumnDef.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ColumnDef.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ColumnDef.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ColumnDef.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ColumnDef.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ColumnDef.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ColumnDef.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ColumnDef.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ColumnDef.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13875,7 +17283,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ColumnDef.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ColumnDef.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ColumnDef.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ColumnDef.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ColumnDef.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ColumnDef.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ColumnDef.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ColumnDef.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ColumnDef.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ColumnDef.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ColumnDef.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13933,11 +17345,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="AlterColumn.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;dtype&#39;: False, &#39;collate&#39;: False, &#39;using&#39;: False, &#39;default&#39;: False, &#39;drop&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#AlterColumn.arg_types"></a>
+
+
+
+ </div>
+ <div id="AlterColumn.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;altercolumn&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AlterColumn.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AlterColumn.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AlterColumn.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AlterColumn.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AlterColumn.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AlterColumn.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AlterColumn.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AlterColumn.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AlterColumn.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AlterColumn.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -13947,7 +17388,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="AlterColumn.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AlterColumn.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AlterColumn.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AlterColumn.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AlterColumn.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AlterColumn.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AlterColumn.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AlterColumn.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AlterColumn.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AlterColumn.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AlterColumn.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -13998,11 +17443,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="RenameTable.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;renametable&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RenameTable.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RenameTable.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RenameTable.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="RenameTable.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RenameTable.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RenameTable.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RenameTable.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RenameTable.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RenameTable.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RenameTable.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RenameTable.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14012,7 +17475,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="RenameTable.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RenameTable.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RenameTable.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RenameTable.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RenameTable.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RenameTable.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RenameTable.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RenameTable.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RenameTable.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RenameTable.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RenameTable.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14063,11 +17530,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="SetTag.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;unset&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetTag.arg_types"></a>
+
+
+
+ </div>
+ <div id="SetTag.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;settag&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetTag.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SetTag.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SetTag.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SetTag.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SetTag.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SetTag.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SetTag.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SetTag.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SetTag.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SetTag.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14077,7 +17573,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SetTag.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SetTag.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SetTag.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SetTag.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SetTag.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SetTag.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SetTag.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SetTag.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SetTag.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SetTag.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SetTag.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14128,11 +17628,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Comment.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: True, &#39;expression&#39;: True, &#39;exists&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Comment.arg_types"></a>
+
+
+
+ </div>
+ <div id="Comment.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;comment&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Comment.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Comment.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Comment.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Comment.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Comment.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Comment.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Comment.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Comment.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Comment.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Comment.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14142,7 +17671,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Comment.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Comment.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Comment.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Comment.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Comment.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Comment.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Comment.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Comment.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Comment.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Comment.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Comment.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14199,11 +17732,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="MergeTreeTTLAction.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;delete&#39;: False, &#39;recompress&#39;: False, &#39;to_disk&#39;: False, &#39;to_volume&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#MergeTreeTTLAction.arg_types"></a>
+
+
+
+ </div>
+ <div id="MergeTreeTTLAction.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;mergetreettlaction&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MergeTreeTTLAction.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MergeTreeTTLAction.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MergeTreeTTLAction.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MergeTreeTTLAction.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MergeTreeTTLAction.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MergeTreeTTLAction.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MergeTreeTTLAction.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MergeTreeTTLAction.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MergeTreeTTLAction.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MergeTreeTTLAction.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14213,7 +17775,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="MergeTreeTTLAction.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MergeTreeTTLAction.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MergeTreeTTLAction.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MergeTreeTTLAction.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MergeTreeTTLAction.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MergeTreeTTLAction.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MergeTreeTTLAction.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MergeTreeTTLAction.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MergeTreeTTLAction.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MergeTreeTTLAction.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MergeTreeTTLAction.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14269,11 +17835,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="MergeTreeTTL.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;where&#39;: False, &#39;group&#39;: False, &#39;aggregates&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#MergeTreeTTL.arg_types"></a>
+
+
+
+ </div>
+ <div id="MergeTreeTTL.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;mergetreettl&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MergeTreeTTL.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MergeTreeTTL.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MergeTreeTTL.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MergeTreeTTL.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MergeTreeTTL.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MergeTreeTTL.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MergeTreeTTL.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MergeTreeTTL.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MergeTreeTTL.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MergeTreeTTL.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14283,7 +17878,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="MergeTreeTTL.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MergeTreeTTL.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MergeTreeTTL.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MergeTreeTTL.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MergeTreeTTL.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MergeTreeTTL.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MergeTreeTTL.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MergeTreeTTL.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MergeTreeTTL.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MergeTreeTTL.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MergeTreeTTL.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14338,11 +17937,51 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="ColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;kind&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="ColumnConstraint.kind" class="classattr">
+ <div class="attr variable">
+ <span class="name">kind</span><span class="annotation">: <a href="#ColumnConstraintKind">sqlglot.expressions.ColumnConstraintKind</a></span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnConstraint.kind"></a>
+
+
+
+ </div>
+ <div id="ColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;columnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14352,7 +17991,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14403,11 +18046,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="ColumnConstraintKind.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;columnconstraintkind&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ColumnConstraintKind.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ColumnConstraintKind.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ColumnConstraintKind.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="ColumnConstraintKind.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ColumnConstraintKind.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ColumnConstraintKind.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ColumnConstraintKind.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ColumnConstraintKind.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ColumnConstraintKind.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ColumnConstraintKind.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ColumnConstraintKind.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14417,7 +18078,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ColumnConstraintKind.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ColumnConstraintKind.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ColumnConstraintKind.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ColumnConstraintKind.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ColumnConstraintKind.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ColumnConstraintKind.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ColumnConstraintKind.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ColumnConstraintKind.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ColumnConstraintKind.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ColumnConstraintKind.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ColumnConstraintKind.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14468,11 +18133,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="AutoIncrementColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;autoincrementcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AutoIncrementColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AutoIncrementColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AutoIncrementColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="AutoIncrementColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AutoIncrementColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AutoIncrementColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AutoIncrementColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AutoIncrementColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AutoIncrementColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AutoIncrementColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AutoIncrementColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14482,7 +18165,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="AutoIncrementColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AutoIncrementColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AutoIncrementColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AutoIncrementColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AutoIncrementColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AutoIncrementColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AutoIncrementColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AutoIncrementColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AutoIncrementColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AutoIncrementColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AutoIncrementColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14533,11 +18220,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CaseSpecificColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;not_&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CaseSpecificColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="CaseSpecificColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;casespecificcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CaseSpecificColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CaseSpecificColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CaseSpecificColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CaseSpecificColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CaseSpecificColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CaseSpecificColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CaseSpecificColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CaseSpecificColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CaseSpecificColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CaseSpecificColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14547,7 +18263,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CaseSpecificColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CaseSpecificColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CaseSpecificColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CaseSpecificColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CaseSpecificColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CaseSpecificColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CaseSpecificColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CaseSpecificColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CaseSpecificColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CaseSpecificColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CaseSpecificColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14598,11 +18318,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CharacterSetColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CharacterSetColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="CharacterSetColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;charactersetcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CharacterSetColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CharacterSetColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CharacterSetColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CharacterSetColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CharacterSetColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CharacterSetColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CharacterSetColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CharacterSetColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CharacterSetColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CharacterSetColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14612,7 +18361,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CharacterSetColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CharacterSetColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CharacterSetColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CharacterSetColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CharacterSetColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CharacterSetColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CharacterSetColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CharacterSetColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CharacterSetColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CharacterSetColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CharacterSetColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14663,11 +18416,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CheckColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;checkcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CheckColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CheckColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CheckColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="CheckColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CheckColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CheckColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CheckColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CheckColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CheckColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CheckColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CheckColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14677,7 +18448,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CheckColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CheckColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CheckColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CheckColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CheckColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CheckColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CheckColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CheckColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CheckColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CheckColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CheckColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14728,11 +18503,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CollateColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;collatecolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CollateColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CollateColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CollateColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="CollateColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CollateColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CollateColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CollateColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CollateColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CollateColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CollateColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CollateColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14742,7 +18535,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CollateColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CollateColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CollateColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CollateColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CollateColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CollateColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CollateColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CollateColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CollateColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CollateColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CollateColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14793,11 +18590,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CommentColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;commentcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CommentColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CommentColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CommentColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="CommentColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CommentColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CommentColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CommentColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CommentColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CommentColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CommentColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CommentColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14807,7 +18622,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CommentColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CommentColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CommentColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CommentColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CommentColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CommentColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CommentColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CommentColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CommentColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CommentColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CommentColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14858,11 +18677,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="CompressColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;compresscolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CompressColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CompressColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CompressColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="CompressColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CompressColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CompressColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CompressColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CompressColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CompressColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CompressColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CompressColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14872,7 +18709,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="CompressColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CompressColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CompressColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CompressColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CompressColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CompressColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CompressColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CompressColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CompressColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CompressColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CompressColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14923,11 +18764,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="DateFormatColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateFormatColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="DateFormatColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dateformatcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateFormatColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DateFormatColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DateFormatColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateFormatColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateFormatColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateFormatColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateFormatColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DateFormatColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateFormatColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateFormatColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -14937,7 +18807,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DateFormatColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateFormatColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateFormatColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateFormatColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateFormatColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateFormatColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateFormatColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateFormatColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateFormatColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateFormatColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateFormatColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -14988,11 +18862,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="DefaultColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;defaultcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DefaultColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DefaultColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DefaultColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DefaultColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DefaultColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DefaultColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DefaultColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DefaultColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DefaultColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DefaultColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DefaultColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15002,7 +18894,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DefaultColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DefaultColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DefaultColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DefaultColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DefaultColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DefaultColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DefaultColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DefaultColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DefaultColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DefaultColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DefaultColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15053,11 +18949,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="EncodeColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;encodecolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#EncodeColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="EncodeColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="EncodeColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="EncodeColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="EncodeColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="EncodeColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="EncodeColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="EncodeColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="EncodeColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="EncodeColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="EncodeColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15067,7 +18981,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="EncodeColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="EncodeColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="EncodeColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="EncodeColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="EncodeColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="EncodeColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="EncodeColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="EncodeColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="EncodeColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="EncodeColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="EncodeColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15128,11 +19046,41 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="GeneratedAsIdentityColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="GeneratedAsIdentityColumnConstraint.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="GeneratedAsIdentityColumnConstraint.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: False, &#39;on_null&#39;: False, &#39;start&#39;: False, &#39;increment&#39;: False, &#39;minvalue&#39;: False, &#39;maxvalue&#39;: False, &#39;cycle&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#GeneratedAsIdentityColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="GeneratedAsIdentityColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;generatedasidentitycolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#GeneratedAsIdentityColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="GeneratedAsIdentityColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15142,7 +19090,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="GeneratedAsIdentityColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="GeneratedAsIdentityColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="GeneratedAsIdentityColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15193,11 +19145,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="InlineLengthColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;inlinelengthcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#InlineLengthColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="InlineLengthColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="InlineLengthColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="InlineLengthColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="InlineLengthColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="InlineLengthColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="InlineLengthColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="InlineLengthColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="InlineLengthColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="InlineLengthColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="InlineLengthColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15207,7 +19177,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="InlineLengthColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="InlineLengthColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="InlineLengthColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="InlineLengthColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="InlineLengthColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="InlineLengthColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="InlineLengthColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="InlineLengthColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="InlineLengthColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="InlineLengthColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="InlineLengthColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15258,11 +19232,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="NotNullColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;allow_null&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#NotNullColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="NotNullColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;notnullcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NotNullColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NotNullColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NotNullColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NotNullColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NotNullColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NotNullColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NotNullColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NotNullColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NotNullColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NotNullColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15272,7 +19275,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NotNullColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NotNullColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NotNullColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NotNullColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NotNullColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NotNullColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NotNullColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NotNullColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NotNullColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NotNullColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NotNullColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15323,11 +19330,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="OnUpdateColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;onupdatecolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnUpdateColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="OnUpdateColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="OnUpdateColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="OnUpdateColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="OnUpdateColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="OnUpdateColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="OnUpdateColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="OnUpdateColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="OnUpdateColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="OnUpdateColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="OnUpdateColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15337,7 +19362,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="OnUpdateColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="OnUpdateColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="OnUpdateColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="OnUpdateColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="OnUpdateColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="OnUpdateColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="OnUpdateColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="OnUpdateColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="OnUpdateColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="OnUpdateColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="OnUpdateColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15388,11 +19417,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="PrimaryKeyColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;desc&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#PrimaryKeyColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="PrimaryKeyColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;primarykeycolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PrimaryKeyColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PrimaryKeyColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PrimaryKeyColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PrimaryKeyColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PrimaryKeyColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15402,7 +19460,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="PrimaryKeyColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PrimaryKeyColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PrimaryKeyColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PrimaryKeyColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PrimaryKeyColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PrimaryKeyColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PrimaryKeyColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PrimaryKeyColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15453,11 +19515,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="TitleColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;titlecolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TitleColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TitleColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TitleColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TitleColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TitleColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TitleColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TitleColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TitleColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TitleColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TitleColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TitleColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15467,7 +19547,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="TitleColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TitleColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TitleColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TitleColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TitleColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TitleColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TitleColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TitleColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TitleColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TitleColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TitleColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15518,11 +19602,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="UniqueColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#UniqueColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="UniqueColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;uniquecolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UniqueColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UniqueColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UniqueColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UniqueColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UniqueColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UniqueColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UniqueColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UniqueColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UniqueColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UniqueColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15532,7 +19645,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="UniqueColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UniqueColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UniqueColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UniqueColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UniqueColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UniqueColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UniqueColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UniqueColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UniqueColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UniqueColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UniqueColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15583,11 +19700,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="UppercaseColumnConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span><span class="annotation">: Dict[str, Any]</span> =
+<span class="default_value">{}</span>
+
+
+ </div>
+ <a class="headerlink" href="#UppercaseColumnConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="UppercaseColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;uppercasecolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UppercaseColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UppercaseColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UppercaseColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UppercaseColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UppercaseColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UppercaseColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UppercaseColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UppercaseColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UppercaseColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UppercaseColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15597,7 +19743,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="UppercaseColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UppercaseColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UppercaseColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UppercaseColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UppercaseColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UppercaseColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UppercaseColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UppercaseColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UppercaseColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UppercaseColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UppercaseColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15648,11 +19798,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="PathColumnConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;pathcolumnconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PathColumnConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PathColumnConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PathColumnConstraint.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="PathColumnConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PathColumnConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PathColumnConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PathColumnConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PathColumnConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PathColumnConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PathColumnConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PathColumnConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15662,7 +19830,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="PathColumnConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PathColumnConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PathColumnConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PathColumnConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PathColumnConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PathColumnConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PathColumnConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PathColumnConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PathColumnConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PathColumnConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PathColumnConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15713,11 +19885,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
+ <div id="Constraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Constraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="Constraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;constraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Constraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Constraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Constraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Constraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Constraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Constraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Constraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Constraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Constraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Constraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -15727,7 +19928,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Constraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Constraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Constraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Constraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Constraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Constraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Constraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Constraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Constraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Constraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Constraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -15772,119 +19977,138 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Delete"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Delete-1304"><a href="#Delete-1304"><span class="linenos">1304</span></a><span class="k">class</span> <span class="nc">Delete</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Delete-1305"><a href="#Delete-1305"><span class="linenos">1305</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Delete-1306"><a href="#Delete-1306"><span class="linenos">1306</span></a>
-</span><span id="Delete-1307"><a href="#Delete-1307"><span class="linenos">1307</span></a> <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
-</span><span id="Delete-1308"><a href="#Delete-1308"><span class="linenos">1308</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete-1309"><a href="#Delete-1309"><span class="linenos">1309</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Delete-1310"><a href="#Delete-1310"><span class="linenos">1310</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="Delete-1311"><a href="#Delete-1311"><span class="linenos">1311</span></a> <span class="n">copy</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="Delete-1312"><a href="#Delete-1312"><span class="linenos">1312</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete-1313"><a href="#Delete-1313"><span class="linenos">1313</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="Delete-1314"><a href="#Delete-1314"><span class="linenos">1314</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Delete-1315"><a href="#Delete-1315"><span class="linenos">1315</span></a><span class="sd"> Create a DELETE expression or replace the table on an existing DELETE expression.</span>
-</span><span id="Delete-1316"><a href="#Delete-1316"><span class="linenos">1316</span></a>
-</span><span id="Delete-1317"><a href="#Delete-1317"><span class="linenos">1317</span></a><span class="sd"> Example:</span>
-</span><span id="Delete-1318"><a href="#Delete-1318"><span class="linenos">1318</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).sql()</span>
-</span><span id="Delete-1319"><a href="#Delete-1319"><span class="linenos">1319</span></a><span class="sd"> &#39;DELETE FROM tbl&#39;</span>
-</span><span id="Delete-1320"><a href="#Delete-1320"><span class="linenos">1320</span></a>
-</span><span id="Delete-1321"><a href="#Delete-1321"><span class="linenos">1321</span></a><span class="sd"> Args:</span>
-</span><span id="Delete-1322"><a href="#Delete-1322"><span class="linenos">1322</span></a><span class="sd"> table: the table from which to delete.</span>
-</span><span id="Delete-1323"><a href="#Delete-1323"><span class="linenos">1323</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Delete-1324"><a href="#Delete-1324"><span class="linenos">1324</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Delete-1325"><a href="#Delete-1325"><span class="linenos">1325</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Delete-1326"><a href="#Delete-1326"><span class="linenos">1326</span></a>
-</span><span id="Delete-1327"><a href="#Delete-1327"><span class="linenos">1327</span></a><span class="sd"> Returns:</span>
-</span><span id="Delete-1328"><a href="#Delete-1328"><span class="linenos">1328</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="Delete-1329"><a href="#Delete-1329"><span class="linenos">1329</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Delete-1330"><a href="#Delete-1330"><span class="linenos">1330</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Delete-1331"><a href="#Delete-1331"><span class="linenos">1331</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
-</span><span id="Delete-1332"><a href="#Delete-1332"><span class="linenos">1332</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete-1333"><a href="#Delete-1333"><span class="linenos">1333</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;this&quot;</span><span class="p">,</span>
-</span><span id="Delete-1334"><a href="#Delete-1334"><span class="linenos">1334</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Delete-1335"><a href="#Delete-1335"><span class="linenos">1335</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
-</span><span id="Delete-1336"><a href="#Delete-1336"><span class="linenos">1336</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Delete-1337"><a href="#Delete-1337"><span class="linenos">1337</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete-1338"><a href="#Delete-1338"><span class="linenos">1338</span></a> <span class="p">)</span>
-</span><span id="Delete-1339"><a href="#Delete-1339"><span class="linenos">1339</span></a>
-</span><span id="Delete-1340"><a href="#Delete-1340"><span class="linenos">1340</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
-</span><span id="Delete-1341"><a href="#Delete-1341"><span class="linenos">1341</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete-1342"><a href="#Delete-1342"><span class="linenos">1342</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Delete-1343"><a href="#Delete-1343"><span class="linenos">1343</span></a> <span class="n">append</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="Delete-1344"><a href="#Delete-1344"><span class="linenos">1344</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="Delete-1345"><a href="#Delete-1345"><span class="linenos">1345</span></a> <span class="n">copy</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="Delete-1346"><a href="#Delete-1346"><span class="linenos">1346</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete-1347"><a href="#Delete-1347"><span class="linenos">1347</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="Delete-1348"><a href="#Delete-1348"><span class="linenos">1348</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Delete-1349"><a href="#Delete-1349"><span class="linenos">1349</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
-</span><span id="Delete-1350"><a href="#Delete-1350"><span class="linenos">1350</span></a>
-</span><span id="Delete-1351"><a href="#Delete-1351"><span class="linenos">1351</span></a><span class="sd"> Example:</span>
-</span><span id="Delete-1352"><a href="#Delete-1352"><span class="linenos">1352</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
-</span><span id="Delete-1353"><a href="#Delete-1353"><span class="linenos">1353</span></a><span class="sd"> &quot;DELETE FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
-</span><span id="Delete-1354"><a href="#Delete-1354"><span class="linenos">1354</span></a>
-</span><span id="Delete-1355"><a href="#Delete-1355"><span class="linenos">1355</span></a><span class="sd"> Args:</span>
-</span><span id="Delete-1356"><a href="#Delete-1356"><span class="linenos">1356</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Delete-1357"><a href="#Delete-1357"><span class="linenos">1357</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Delete-1358"><a href="#Delete-1358"><span class="linenos">1358</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Delete-1359"><a href="#Delete-1359"><span class="linenos">1359</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Delete-1360"><a href="#Delete-1360"><span class="linenos">1360</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Delete-1361"><a href="#Delete-1361"><span class="linenos">1361</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Delete-1362"><a href="#Delete-1362"><span class="linenos">1362</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Delete-1363"><a href="#Delete-1363"><span class="linenos">1363</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Delete-1364"><a href="#Delete-1364"><span class="linenos">1364</span></a>
-</span><span id="Delete-1365"><a href="#Delete-1365"><span class="linenos">1365</span></a><span class="sd"> Returns:</span>
-</span><span id="Delete-1366"><a href="#Delete-1366"><span class="linenos">1366</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="Delete-1367"><a href="#Delete-1367"><span class="linenos">1367</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Delete-1368"><a href="#Delete-1368"><span class="linenos">1368</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Delete-1369"><a href="#Delete-1369"><span class="linenos">1369</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Delete-1370"><a href="#Delete-1370"><span class="linenos">1370</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete-1371"><a href="#Delete-1371"><span class="linenos">1371</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="Delete-1372"><a href="#Delete-1372"><span class="linenos">1372</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Delete-1373"><a href="#Delete-1373"><span class="linenos">1373</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
-</span><span id="Delete-1374"><a href="#Delete-1374"><span class="linenos">1374</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Delete-1375"><a href="#Delete-1375"><span class="linenos">1375</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Delete-1376"><a href="#Delete-1376"><span class="linenos">1376</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete-1377"><a href="#Delete-1377"><span class="linenos">1377</span></a> <span class="p">)</span>
-</span><span id="Delete-1378"><a href="#Delete-1378"><span class="linenos">1378</span></a>
-</span><span id="Delete-1379"><a href="#Delete-1379"><span class="linenos">1379</span></a> <span class="k">def</span> <span class="nf">returning</span><span class="p">(</span>
-</span><span id="Delete-1380"><a href="#Delete-1380"><span class="linenos">1380</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete-1381"><a href="#Delete-1381"><span class="linenos">1381</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Delete-1382"><a href="#Delete-1382"><span class="linenos">1382</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="Delete-1383"><a href="#Delete-1383"><span class="linenos">1383</span></a> <span class="n">copy</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="Delete-1384"><a href="#Delete-1384"><span class="linenos">1384</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete-1385"><a href="#Delete-1385"><span class="linenos">1385</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="Delete-1386"><a href="#Delete-1386"><span class="linenos">1386</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Delete-1387"><a href="#Delete-1387"><span class="linenos">1387</span></a><span class="sd"> Set the RETURNING expression. Not supported by all dialects.</span>
-</span><span id="Delete-1388"><a href="#Delete-1388"><span class="linenos">1388</span></a>
-</span><span id="Delete-1389"><a href="#Delete-1389"><span class="linenos">1389</span></a><span class="sd"> Example:</span>
-</span><span id="Delete-1390"><a href="#Delete-1390"><span class="linenos">1390</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).returning(&quot;*&quot;, dialect=&quot;postgres&quot;).sql()</span>
-</span><span id="Delete-1391"><a href="#Delete-1391"><span class="linenos">1391</span></a><span class="sd"> &#39;DELETE FROM tbl RETURNING *&#39;</span>
-</span><span id="Delete-1392"><a href="#Delete-1392"><span class="linenos">1392</span></a>
-</span><span id="Delete-1393"><a href="#Delete-1393"><span class="linenos">1393</span></a><span class="sd"> Args:</span>
-</span><span id="Delete-1394"><a href="#Delete-1394"><span class="linenos">1394</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="Delete-1395"><a href="#Delete-1395"><span class="linenos">1395</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Delete-1396"><a href="#Delete-1396"><span class="linenos">1396</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Delete-1397"><a href="#Delete-1397"><span class="linenos">1397</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Delete-1398"><a href="#Delete-1398"><span class="linenos">1398</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete-1305"><a href="#Delete-1305"><span class="linenos">1305</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Delete-1306"><a href="#Delete-1306"><span class="linenos">1306</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Delete-1307"><a href="#Delete-1307"><span class="linenos">1307</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Delete-1308"><a href="#Delete-1308"><span class="linenos">1308</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Delete-1309"><a href="#Delete-1309"><span class="linenos">1309</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Delete-1310"><a href="#Delete-1310"><span class="linenos">1310</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Delete-1311"><a href="#Delete-1311"><span class="linenos">1311</span></a> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Delete-1312"><a href="#Delete-1312"><span class="linenos">1312</span></a> <span class="p">}</span>
+</span><span id="Delete-1313"><a href="#Delete-1313"><span class="linenos">1313</span></a>
+</span><span id="Delete-1314"><a href="#Delete-1314"><span class="linenos">1314</span></a> <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
+</span><span id="Delete-1315"><a href="#Delete-1315"><span class="linenos">1315</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete-1316"><a href="#Delete-1316"><span class="linenos">1316</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Delete-1317"><a href="#Delete-1317"><span class="linenos">1317</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="Delete-1318"><a href="#Delete-1318"><span class="linenos">1318</span></a> <span class="n">copy</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="Delete-1319"><a href="#Delete-1319"><span class="linenos">1319</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete-1320"><a href="#Delete-1320"><span class="linenos">1320</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="Delete-1321"><a href="#Delete-1321"><span class="linenos">1321</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Delete-1322"><a href="#Delete-1322"><span class="linenos">1322</span></a><span class="sd"> Create a DELETE expression or replace the table on an existing DELETE expression.</span>
+</span><span id="Delete-1323"><a href="#Delete-1323"><span class="linenos">1323</span></a>
+</span><span id="Delete-1324"><a href="#Delete-1324"><span class="linenos">1324</span></a><span class="sd"> Example:</span>
+</span><span id="Delete-1325"><a href="#Delete-1325"><span class="linenos">1325</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).sql()</span>
+</span><span id="Delete-1326"><a href="#Delete-1326"><span class="linenos">1326</span></a><span class="sd"> &#39;DELETE FROM tbl&#39;</span>
+</span><span id="Delete-1327"><a href="#Delete-1327"><span class="linenos">1327</span></a>
+</span><span id="Delete-1328"><a href="#Delete-1328"><span class="linenos">1328</span></a><span class="sd"> Args:</span>
+</span><span id="Delete-1329"><a href="#Delete-1329"><span class="linenos">1329</span></a><span class="sd"> table: the table from which to delete.</span>
+</span><span id="Delete-1330"><a href="#Delete-1330"><span class="linenos">1330</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Delete-1331"><a href="#Delete-1331"><span class="linenos">1331</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Delete-1332"><a href="#Delete-1332"><span class="linenos">1332</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete-1333"><a href="#Delete-1333"><span class="linenos">1333</span></a>
+</span><span id="Delete-1334"><a href="#Delete-1334"><span class="linenos">1334</span></a><span class="sd"> Returns:</span>
+</span><span id="Delete-1335"><a href="#Delete-1335"><span class="linenos">1335</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="Delete-1336"><a href="#Delete-1336"><span class="linenos">1336</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Delete-1337"><a href="#Delete-1337"><span class="linenos">1337</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Delete-1338"><a href="#Delete-1338"><span class="linenos">1338</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
+</span><span id="Delete-1339"><a href="#Delete-1339"><span class="linenos">1339</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete-1340"><a href="#Delete-1340"><span class="linenos">1340</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;this&quot;</span><span class="p">,</span>
+</span><span id="Delete-1341"><a href="#Delete-1341"><span class="linenos">1341</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Delete-1342"><a href="#Delete-1342"><span class="linenos">1342</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
+</span><span id="Delete-1343"><a href="#Delete-1343"><span class="linenos">1343</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Delete-1344"><a href="#Delete-1344"><span class="linenos">1344</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete-1345"><a href="#Delete-1345"><span class="linenos">1345</span></a> <span class="p">)</span>
+</span><span id="Delete-1346"><a href="#Delete-1346"><span class="linenos">1346</span></a>
+</span><span id="Delete-1347"><a href="#Delete-1347"><span class="linenos">1347</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
+</span><span id="Delete-1348"><a href="#Delete-1348"><span class="linenos">1348</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete-1349"><a href="#Delete-1349"><span class="linenos">1349</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Delete-1350"><a href="#Delete-1350"><span class="linenos">1350</span></a> <span class="n">append</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="Delete-1351"><a href="#Delete-1351"><span class="linenos">1351</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="Delete-1352"><a href="#Delete-1352"><span class="linenos">1352</span></a> <span class="n">copy</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="Delete-1353"><a href="#Delete-1353"><span class="linenos">1353</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete-1354"><a href="#Delete-1354"><span class="linenos">1354</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="Delete-1355"><a href="#Delete-1355"><span class="linenos">1355</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Delete-1356"><a href="#Delete-1356"><span class="linenos">1356</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
+</span><span id="Delete-1357"><a href="#Delete-1357"><span class="linenos">1357</span></a>
+</span><span id="Delete-1358"><a href="#Delete-1358"><span class="linenos">1358</span></a><span class="sd"> Example:</span>
+</span><span id="Delete-1359"><a href="#Delete-1359"><span class="linenos">1359</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
+</span><span id="Delete-1360"><a href="#Delete-1360"><span class="linenos">1360</span></a><span class="sd"> &quot;DELETE FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
+</span><span id="Delete-1361"><a href="#Delete-1361"><span class="linenos">1361</span></a>
+</span><span id="Delete-1362"><a href="#Delete-1362"><span class="linenos">1362</span></a><span class="sd"> Args:</span>
+</span><span id="Delete-1363"><a href="#Delete-1363"><span class="linenos">1363</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Delete-1364"><a href="#Delete-1364"><span class="linenos">1364</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Delete-1365"><a href="#Delete-1365"><span class="linenos">1365</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Delete-1366"><a href="#Delete-1366"><span class="linenos">1366</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Delete-1367"><a href="#Delete-1367"><span class="linenos">1367</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Delete-1368"><a href="#Delete-1368"><span class="linenos">1368</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Delete-1369"><a href="#Delete-1369"><span class="linenos">1369</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Delete-1370"><a href="#Delete-1370"><span class="linenos">1370</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete-1371"><a href="#Delete-1371"><span class="linenos">1371</span></a>
+</span><span id="Delete-1372"><a href="#Delete-1372"><span class="linenos">1372</span></a><span class="sd"> Returns:</span>
+</span><span id="Delete-1373"><a href="#Delete-1373"><span class="linenos">1373</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="Delete-1374"><a href="#Delete-1374"><span class="linenos">1374</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Delete-1375"><a href="#Delete-1375"><span class="linenos">1375</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Delete-1376"><a href="#Delete-1376"><span class="linenos">1376</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Delete-1377"><a href="#Delete-1377"><span class="linenos">1377</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete-1378"><a href="#Delete-1378"><span class="linenos">1378</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="Delete-1379"><a href="#Delete-1379"><span class="linenos">1379</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Delete-1380"><a href="#Delete-1380"><span class="linenos">1380</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
+</span><span id="Delete-1381"><a href="#Delete-1381"><span class="linenos">1381</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Delete-1382"><a href="#Delete-1382"><span class="linenos">1382</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Delete-1383"><a href="#Delete-1383"><span class="linenos">1383</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete-1384"><a href="#Delete-1384"><span class="linenos">1384</span></a> <span class="p">)</span>
+</span><span id="Delete-1385"><a href="#Delete-1385"><span class="linenos">1385</span></a>
+</span><span id="Delete-1386"><a href="#Delete-1386"><span class="linenos">1386</span></a> <span class="k">def</span> <span class="nf">returning</span><span class="p">(</span>
+</span><span id="Delete-1387"><a href="#Delete-1387"><span class="linenos">1387</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete-1388"><a href="#Delete-1388"><span class="linenos">1388</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Delete-1389"><a href="#Delete-1389"><span class="linenos">1389</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="Delete-1390"><a href="#Delete-1390"><span class="linenos">1390</span></a> <span class="n">copy</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="Delete-1391"><a href="#Delete-1391"><span class="linenos">1391</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete-1392"><a href="#Delete-1392"><span class="linenos">1392</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="Delete-1393"><a href="#Delete-1393"><span class="linenos">1393</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Delete-1394"><a href="#Delete-1394"><span class="linenos">1394</span></a><span class="sd"> Set the RETURNING expression. Not supported by all dialects.</span>
+</span><span id="Delete-1395"><a href="#Delete-1395"><span class="linenos">1395</span></a>
+</span><span id="Delete-1396"><a href="#Delete-1396"><span class="linenos">1396</span></a><span class="sd"> Example:</span>
+</span><span id="Delete-1397"><a href="#Delete-1397"><span class="linenos">1397</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).returning(&quot;*&quot;, dialect=&quot;postgres&quot;).sql()</span>
+</span><span id="Delete-1398"><a href="#Delete-1398"><span class="linenos">1398</span></a><span class="sd"> &#39;DELETE FROM tbl RETURNING *&#39;</span>
</span><span id="Delete-1399"><a href="#Delete-1399"><span class="linenos">1399</span></a>
-</span><span id="Delete-1400"><a href="#Delete-1400"><span class="linenos">1400</span></a><span class="sd"> Returns:</span>
-</span><span id="Delete-1401"><a href="#Delete-1401"><span class="linenos">1401</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="Delete-1402"><a href="#Delete-1402"><span class="linenos">1402</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Delete-1403"><a href="#Delete-1403"><span class="linenos">1403</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Delete-1404"><a href="#Delete-1404"><span class="linenos">1404</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Delete-1405"><a href="#Delete-1405"><span class="linenos">1405</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete-1406"><a href="#Delete-1406"><span class="linenos">1406</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;returning&quot;</span><span class="p">,</span>
-</span><span id="Delete-1407"><a href="#Delete-1407"><span class="linenos">1407</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;RETURNING&quot;</span><span class="p">,</span>
-</span><span id="Delete-1408"><a href="#Delete-1408"><span class="linenos">1408</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Delete-1409"><a href="#Delete-1409"><span class="linenos">1409</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Delete-1410"><a href="#Delete-1410"><span class="linenos">1410</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Returning</span><span class="p">,</span>
-</span><span id="Delete-1411"><a href="#Delete-1411"><span class="linenos">1411</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete-1412"><a href="#Delete-1412"><span class="linenos">1412</span></a> <span class="p">)</span>
-</span></pre></div>
-
+</span><span id="Delete-1400"><a href="#Delete-1400"><span class="linenos">1400</span></a><span class="sd"> Args:</span>
+</span><span id="Delete-1401"><a href="#Delete-1401"><span class="linenos">1401</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="Delete-1402"><a href="#Delete-1402"><span class="linenos">1402</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Delete-1403"><a href="#Delete-1403"><span class="linenos">1403</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Delete-1404"><a href="#Delete-1404"><span class="linenos">1404</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Delete-1405"><a href="#Delete-1405"><span class="linenos">1405</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete-1406"><a href="#Delete-1406"><span class="linenos">1406</span></a>
+</span><span id="Delete-1407"><a href="#Delete-1407"><span class="linenos">1407</span></a><span class="sd"> Returns:</span>
+</span><span id="Delete-1408"><a href="#Delete-1408"><span class="linenos">1408</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="Delete-1409"><a href="#Delete-1409"><span class="linenos">1409</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Delete-1410"><a href="#Delete-1410"><span class="linenos">1410</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Delete-1411"><a href="#Delete-1411"><span class="linenos">1411</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Delete-1412"><a href="#Delete-1412"><span class="linenos">1412</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete-1413"><a href="#Delete-1413"><span class="linenos">1413</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;returning&quot;</span><span class="p">,</span>
+</span><span id="Delete-1414"><a href="#Delete-1414"><span class="linenos">1414</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;RETURNING&quot;</span><span class="p">,</span>
+</span><span id="Delete-1415"><a href="#Delete-1415"><span class="linenos">1415</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Delete-1416"><a href="#Delete-1416"><span class="linenos">1416</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Delete-1417"><a href="#Delete-1417"><span class="linenos">1417</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Returning</span><span class="p">,</span>
+</span><span id="Delete-1418"><a href="#Delete-1418"><span class="linenos">1418</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete-1419"><a href="#Delete-1419"><span class="linenos">1419</span></a> <span class="p">)</span>
+</span></pre></div>
+
+
+
+
+ <div id="Delete.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;with&#39;: False, &#39;this&#39;: False, &#39;using&#39;: False, &#39;where&#39;: False, &#39;returning&#39;: False, &#39;limit&#39;: False}</span>
+
+ </div>
+ <a class="headerlink" href="#Delete.arg_types"></a>
+
+ </div>
<div id="Delete.delete" class="classattr">
<input id="Delete.delete-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -15896,38 +20120,38 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Delete.delete"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Delete.delete-1307"><a href="#Delete.delete-1307"><span class="linenos">1307</span></a> <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
-</span><span id="Delete.delete-1308"><a href="#Delete.delete-1308"><span class="linenos">1308</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete.delete-1309"><a href="#Delete.delete-1309"><span class="linenos">1309</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Delete.delete-1310"><a href="#Delete.delete-1310"><span class="linenos">1310</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="Delete.delete-1311"><a href="#Delete.delete-1311"><span class="linenos">1311</span></a> <span class="n">copy</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="Delete.delete-1312"><a href="#Delete.delete-1312"><span class="linenos">1312</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete.delete-1313"><a href="#Delete.delete-1313"><span class="linenos">1313</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="Delete.delete-1314"><a href="#Delete.delete-1314"><span class="linenos">1314</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Delete.delete-1315"><a href="#Delete.delete-1315"><span class="linenos">1315</span></a><span class="sd"> Create a DELETE expression or replace the table on an existing DELETE expression.</span>
-</span><span id="Delete.delete-1316"><a href="#Delete.delete-1316"><span class="linenos">1316</span></a>
-</span><span id="Delete.delete-1317"><a href="#Delete.delete-1317"><span class="linenos">1317</span></a><span class="sd"> Example:</span>
-</span><span id="Delete.delete-1318"><a href="#Delete.delete-1318"><span class="linenos">1318</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).sql()</span>
-</span><span id="Delete.delete-1319"><a href="#Delete.delete-1319"><span class="linenos">1319</span></a><span class="sd"> &#39;DELETE FROM tbl&#39;</span>
-</span><span id="Delete.delete-1320"><a href="#Delete.delete-1320"><span class="linenos">1320</span></a>
-</span><span id="Delete.delete-1321"><a href="#Delete.delete-1321"><span class="linenos">1321</span></a><span class="sd"> Args:</span>
-</span><span id="Delete.delete-1322"><a href="#Delete.delete-1322"><span class="linenos">1322</span></a><span class="sd"> table: the table from which to delete.</span>
-</span><span id="Delete.delete-1323"><a href="#Delete.delete-1323"><span class="linenos">1323</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Delete.delete-1324"><a href="#Delete.delete-1324"><span class="linenos">1324</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Delete.delete-1325"><a href="#Delete.delete-1325"><span class="linenos">1325</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Delete.delete-1326"><a href="#Delete.delete-1326"><span class="linenos">1326</span></a>
-</span><span id="Delete.delete-1327"><a href="#Delete.delete-1327"><span class="linenos">1327</span></a><span class="sd"> Returns:</span>
-</span><span id="Delete.delete-1328"><a href="#Delete.delete-1328"><span class="linenos">1328</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="Delete.delete-1329"><a href="#Delete.delete-1329"><span class="linenos">1329</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Delete.delete-1330"><a href="#Delete.delete-1330"><span class="linenos">1330</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Delete.delete-1331"><a href="#Delete.delete-1331"><span class="linenos">1331</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
-</span><span id="Delete.delete-1332"><a href="#Delete.delete-1332"><span class="linenos">1332</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete.delete-1333"><a href="#Delete.delete-1333"><span class="linenos">1333</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;this&quot;</span><span class="p">,</span>
-</span><span id="Delete.delete-1334"><a href="#Delete.delete-1334"><span class="linenos">1334</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Delete.delete-1335"><a href="#Delete.delete-1335"><span class="linenos">1335</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
-</span><span id="Delete.delete-1336"><a href="#Delete.delete-1336"><span class="linenos">1336</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Delete.delete-1337"><a href="#Delete.delete-1337"><span class="linenos">1337</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete.delete-1338"><a href="#Delete.delete-1338"><span class="linenos">1338</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Delete.delete-1314"><a href="#Delete.delete-1314"><span class="linenos">1314</span></a> <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
+</span><span id="Delete.delete-1315"><a href="#Delete.delete-1315"><span class="linenos">1315</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete.delete-1316"><a href="#Delete.delete-1316"><span class="linenos">1316</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Delete.delete-1317"><a href="#Delete.delete-1317"><span class="linenos">1317</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="Delete.delete-1318"><a href="#Delete.delete-1318"><span class="linenos">1318</span></a> <span class="n">copy</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="Delete.delete-1319"><a href="#Delete.delete-1319"><span class="linenos">1319</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete.delete-1320"><a href="#Delete.delete-1320"><span class="linenos">1320</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="Delete.delete-1321"><a href="#Delete.delete-1321"><span class="linenos">1321</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Delete.delete-1322"><a href="#Delete.delete-1322"><span class="linenos">1322</span></a><span class="sd"> Create a DELETE expression or replace the table on an existing DELETE expression.</span>
+</span><span id="Delete.delete-1323"><a href="#Delete.delete-1323"><span class="linenos">1323</span></a>
+</span><span id="Delete.delete-1324"><a href="#Delete.delete-1324"><span class="linenos">1324</span></a><span class="sd"> Example:</span>
+</span><span id="Delete.delete-1325"><a href="#Delete.delete-1325"><span class="linenos">1325</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).sql()</span>
+</span><span id="Delete.delete-1326"><a href="#Delete.delete-1326"><span class="linenos">1326</span></a><span class="sd"> &#39;DELETE FROM tbl&#39;</span>
+</span><span id="Delete.delete-1327"><a href="#Delete.delete-1327"><span class="linenos">1327</span></a>
+</span><span id="Delete.delete-1328"><a href="#Delete.delete-1328"><span class="linenos">1328</span></a><span class="sd"> Args:</span>
+</span><span id="Delete.delete-1329"><a href="#Delete.delete-1329"><span class="linenos">1329</span></a><span class="sd"> table: the table from which to delete.</span>
+</span><span id="Delete.delete-1330"><a href="#Delete.delete-1330"><span class="linenos">1330</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Delete.delete-1331"><a href="#Delete.delete-1331"><span class="linenos">1331</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Delete.delete-1332"><a href="#Delete.delete-1332"><span class="linenos">1332</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete.delete-1333"><a href="#Delete.delete-1333"><span class="linenos">1333</span></a>
+</span><span id="Delete.delete-1334"><a href="#Delete.delete-1334"><span class="linenos">1334</span></a><span class="sd"> Returns:</span>
+</span><span id="Delete.delete-1335"><a href="#Delete.delete-1335"><span class="linenos">1335</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="Delete.delete-1336"><a href="#Delete.delete-1336"><span class="linenos">1336</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Delete.delete-1337"><a href="#Delete.delete-1337"><span class="linenos">1337</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Delete.delete-1338"><a href="#Delete.delete-1338"><span class="linenos">1338</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
+</span><span id="Delete.delete-1339"><a href="#Delete.delete-1339"><span class="linenos">1339</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete.delete-1340"><a href="#Delete.delete-1340"><span class="linenos">1340</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;this&quot;</span><span class="p">,</span>
+</span><span id="Delete.delete-1341"><a href="#Delete.delete-1341"><span class="linenos">1341</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Delete.delete-1342"><a href="#Delete.delete-1342"><span class="linenos">1342</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
+</span><span id="Delete.delete-1343"><a href="#Delete.delete-1343"><span class="linenos">1343</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Delete.delete-1344"><a href="#Delete.delete-1344"><span class="linenos">1344</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete.delete-1345"><a href="#Delete.delete-1345"><span class="linenos">1345</span></a> <span class="p">)</span>
</span></pre></div>
@@ -15972,44 +20196,44 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Delete.where"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Delete.where-1340"><a href="#Delete.where-1340"><span class="linenos">1340</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
-</span><span id="Delete.where-1341"><a href="#Delete.where-1341"><span class="linenos">1341</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete.where-1342"><a href="#Delete.where-1342"><span class="linenos">1342</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Delete.where-1343"><a href="#Delete.where-1343"><span class="linenos">1343</span></a> <span class="n">append</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="Delete.where-1344"><a href="#Delete.where-1344"><span class="linenos">1344</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="Delete.where-1345"><a href="#Delete.where-1345"><span class="linenos">1345</span></a> <span class="n">copy</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="Delete.where-1346"><a href="#Delete.where-1346"><span class="linenos">1346</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete.where-1347"><a href="#Delete.where-1347"><span class="linenos">1347</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="Delete.where-1348"><a href="#Delete.where-1348"><span class="linenos">1348</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Delete.where-1349"><a href="#Delete.where-1349"><span class="linenos">1349</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
-</span><span id="Delete.where-1350"><a href="#Delete.where-1350"><span class="linenos">1350</span></a>
-</span><span id="Delete.where-1351"><a href="#Delete.where-1351"><span class="linenos">1351</span></a><span class="sd"> Example:</span>
-</span><span id="Delete.where-1352"><a href="#Delete.where-1352"><span class="linenos">1352</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
-</span><span id="Delete.where-1353"><a href="#Delete.where-1353"><span class="linenos">1353</span></a><span class="sd"> &quot;DELETE FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
-</span><span id="Delete.where-1354"><a href="#Delete.where-1354"><span class="linenos">1354</span></a>
-</span><span id="Delete.where-1355"><a href="#Delete.where-1355"><span class="linenos">1355</span></a><span class="sd"> Args:</span>
-</span><span id="Delete.where-1356"><a href="#Delete.where-1356"><span class="linenos">1356</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Delete.where-1357"><a href="#Delete.where-1357"><span class="linenos">1357</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Delete.where-1358"><a href="#Delete.where-1358"><span class="linenos">1358</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Delete.where-1359"><a href="#Delete.where-1359"><span class="linenos">1359</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Delete.where-1360"><a href="#Delete.where-1360"><span class="linenos">1360</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Delete.where-1361"><a href="#Delete.where-1361"><span class="linenos">1361</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Delete.where-1362"><a href="#Delete.where-1362"><span class="linenos">1362</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Delete.where-1363"><a href="#Delete.where-1363"><span class="linenos">1363</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Delete.where-1364"><a href="#Delete.where-1364"><span class="linenos">1364</span></a>
-</span><span id="Delete.where-1365"><a href="#Delete.where-1365"><span class="linenos">1365</span></a><span class="sd"> Returns:</span>
-</span><span id="Delete.where-1366"><a href="#Delete.where-1366"><span class="linenos">1366</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="Delete.where-1367"><a href="#Delete.where-1367"><span class="linenos">1367</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Delete.where-1368"><a href="#Delete.where-1368"><span class="linenos">1368</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Delete.where-1369"><a href="#Delete.where-1369"><span class="linenos">1369</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Delete.where-1370"><a href="#Delete.where-1370"><span class="linenos">1370</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete.where-1371"><a href="#Delete.where-1371"><span class="linenos">1371</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="Delete.where-1372"><a href="#Delete.where-1372"><span class="linenos">1372</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Delete.where-1373"><a href="#Delete.where-1373"><span class="linenos">1373</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
-</span><span id="Delete.where-1374"><a href="#Delete.where-1374"><span class="linenos">1374</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Delete.where-1375"><a href="#Delete.where-1375"><span class="linenos">1375</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Delete.where-1376"><a href="#Delete.where-1376"><span class="linenos">1376</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete.where-1377"><a href="#Delete.where-1377"><span class="linenos">1377</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Delete.where-1347"><a href="#Delete.where-1347"><span class="linenos">1347</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
+</span><span id="Delete.where-1348"><a href="#Delete.where-1348"><span class="linenos">1348</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete.where-1349"><a href="#Delete.where-1349"><span class="linenos">1349</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Delete.where-1350"><a href="#Delete.where-1350"><span class="linenos">1350</span></a> <span class="n">append</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="Delete.where-1351"><a href="#Delete.where-1351"><span class="linenos">1351</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="Delete.where-1352"><a href="#Delete.where-1352"><span class="linenos">1352</span></a> <span class="n">copy</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="Delete.where-1353"><a href="#Delete.where-1353"><span class="linenos">1353</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete.where-1354"><a href="#Delete.where-1354"><span class="linenos">1354</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="Delete.where-1355"><a href="#Delete.where-1355"><span class="linenos">1355</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Delete.where-1356"><a href="#Delete.where-1356"><span class="linenos">1356</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
+</span><span id="Delete.where-1357"><a href="#Delete.where-1357"><span class="linenos">1357</span></a>
+</span><span id="Delete.where-1358"><a href="#Delete.where-1358"><span class="linenos">1358</span></a><span class="sd"> Example:</span>
+</span><span id="Delete.where-1359"><a href="#Delete.where-1359"><span class="linenos">1359</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
+</span><span id="Delete.where-1360"><a href="#Delete.where-1360"><span class="linenos">1360</span></a><span class="sd"> &quot;DELETE FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
+</span><span id="Delete.where-1361"><a href="#Delete.where-1361"><span class="linenos">1361</span></a>
+</span><span id="Delete.where-1362"><a href="#Delete.where-1362"><span class="linenos">1362</span></a><span class="sd"> Args:</span>
+</span><span id="Delete.where-1363"><a href="#Delete.where-1363"><span class="linenos">1363</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Delete.where-1364"><a href="#Delete.where-1364"><span class="linenos">1364</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Delete.where-1365"><a href="#Delete.where-1365"><span class="linenos">1365</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Delete.where-1366"><a href="#Delete.where-1366"><span class="linenos">1366</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Delete.where-1367"><a href="#Delete.where-1367"><span class="linenos">1367</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Delete.where-1368"><a href="#Delete.where-1368"><span class="linenos">1368</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Delete.where-1369"><a href="#Delete.where-1369"><span class="linenos">1369</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Delete.where-1370"><a href="#Delete.where-1370"><span class="linenos">1370</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete.where-1371"><a href="#Delete.where-1371"><span class="linenos">1371</span></a>
+</span><span id="Delete.where-1372"><a href="#Delete.where-1372"><span class="linenos">1372</span></a><span class="sd"> Returns:</span>
+</span><span id="Delete.where-1373"><a href="#Delete.where-1373"><span class="linenos">1373</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="Delete.where-1374"><a href="#Delete.where-1374"><span class="linenos">1374</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Delete.where-1375"><a href="#Delete.where-1375"><span class="linenos">1375</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Delete.where-1376"><a href="#Delete.where-1376"><span class="linenos">1376</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Delete.where-1377"><a href="#Delete.where-1377"><span class="linenos">1377</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete.where-1378"><a href="#Delete.where-1378"><span class="linenos">1378</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="Delete.where-1379"><a href="#Delete.where-1379"><span class="linenos">1379</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Delete.where-1380"><a href="#Delete.where-1380"><span class="linenos">1380</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
+</span><span id="Delete.where-1381"><a href="#Delete.where-1381"><span class="linenos">1381</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Delete.where-1382"><a href="#Delete.where-1382"><span class="linenos">1382</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Delete.where-1383"><a href="#Delete.where-1383"><span class="linenos">1383</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete.where-1384"><a href="#Delete.where-1384"><span class="linenos">1384</span></a> <span class="p">)</span>
</span></pre></div>
@@ -16058,40 +20282,40 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Delete.returning"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Delete.returning-1379"><a href="#Delete.returning-1379"><span class="linenos">1379</span></a> <span class="k">def</span> <span class="nf">returning</span><span class="p">(</span>
-</span><span id="Delete.returning-1380"><a href="#Delete.returning-1380"><span class="linenos">1380</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete.returning-1381"><a href="#Delete.returning-1381"><span class="linenos">1381</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Delete.returning-1382"><a href="#Delete.returning-1382"><span class="linenos">1382</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="Delete.returning-1383"><a href="#Delete.returning-1383"><span class="linenos">1383</span></a> <span class="n">copy</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="Delete.returning-1384"><a href="#Delete.returning-1384"><span class="linenos">1384</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete.returning-1385"><a href="#Delete.returning-1385"><span class="linenos">1385</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="Delete.returning-1386"><a href="#Delete.returning-1386"><span class="linenos">1386</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Delete.returning-1387"><a href="#Delete.returning-1387"><span class="linenos">1387</span></a><span class="sd"> Set the RETURNING expression. Not supported by all dialects.</span>
-</span><span id="Delete.returning-1388"><a href="#Delete.returning-1388"><span class="linenos">1388</span></a>
-</span><span id="Delete.returning-1389"><a href="#Delete.returning-1389"><span class="linenos">1389</span></a><span class="sd"> Example:</span>
-</span><span id="Delete.returning-1390"><a href="#Delete.returning-1390"><span class="linenos">1390</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).returning(&quot;*&quot;, dialect=&quot;postgres&quot;).sql()</span>
-</span><span id="Delete.returning-1391"><a href="#Delete.returning-1391"><span class="linenos">1391</span></a><span class="sd"> &#39;DELETE FROM tbl RETURNING *&#39;</span>
-</span><span id="Delete.returning-1392"><a href="#Delete.returning-1392"><span class="linenos">1392</span></a>
-</span><span id="Delete.returning-1393"><a href="#Delete.returning-1393"><span class="linenos">1393</span></a><span class="sd"> Args:</span>
-</span><span id="Delete.returning-1394"><a href="#Delete.returning-1394"><span class="linenos">1394</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="Delete.returning-1395"><a href="#Delete.returning-1395"><span class="linenos">1395</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Delete.returning-1396"><a href="#Delete.returning-1396"><span class="linenos">1396</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Delete.returning-1397"><a href="#Delete.returning-1397"><span class="linenos">1397</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Delete.returning-1398"><a href="#Delete.returning-1398"><span class="linenos">1398</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Delete.returning-1386"><a href="#Delete.returning-1386"><span class="linenos">1386</span></a> <span class="k">def</span> <span class="nf">returning</span><span class="p">(</span>
+</span><span id="Delete.returning-1387"><a href="#Delete.returning-1387"><span class="linenos">1387</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete.returning-1388"><a href="#Delete.returning-1388"><span class="linenos">1388</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Delete.returning-1389"><a href="#Delete.returning-1389"><span class="linenos">1389</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="Delete.returning-1390"><a href="#Delete.returning-1390"><span class="linenos">1390</span></a> <span class="n">copy</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="Delete.returning-1391"><a href="#Delete.returning-1391"><span class="linenos">1391</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete.returning-1392"><a href="#Delete.returning-1392"><span class="linenos">1392</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="Delete.returning-1393"><a href="#Delete.returning-1393"><span class="linenos">1393</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Delete.returning-1394"><a href="#Delete.returning-1394"><span class="linenos">1394</span></a><span class="sd"> Set the RETURNING expression. Not supported by all dialects.</span>
+</span><span id="Delete.returning-1395"><a href="#Delete.returning-1395"><span class="linenos">1395</span></a>
+</span><span id="Delete.returning-1396"><a href="#Delete.returning-1396"><span class="linenos">1396</span></a><span class="sd"> Example:</span>
+</span><span id="Delete.returning-1397"><a href="#Delete.returning-1397"><span class="linenos">1397</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;tbl&quot;).returning(&quot;*&quot;, dialect=&quot;postgres&quot;).sql()</span>
+</span><span id="Delete.returning-1398"><a href="#Delete.returning-1398"><span class="linenos">1398</span></a><span class="sd"> &#39;DELETE FROM tbl RETURNING *&#39;</span>
</span><span id="Delete.returning-1399"><a href="#Delete.returning-1399"><span class="linenos">1399</span></a>
-</span><span id="Delete.returning-1400"><a href="#Delete.returning-1400"><span class="linenos">1400</span></a><span class="sd"> Returns:</span>
-</span><span id="Delete.returning-1401"><a href="#Delete.returning-1401"><span class="linenos">1401</span></a><span class="sd"> Delete: the modified expression.</span>
-</span><span id="Delete.returning-1402"><a href="#Delete.returning-1402"><span class="linenos">1402</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Delete.returning-1403"><a href="#Delete.returning-1403"><span class="linenos">1403</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Delete.returning-1404"><a href="#Delete.returning-1404"><span class="linenos">1404</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Delete.returning-1405"><a href="#Delete.returning-1405"><span class="linenos">1405</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Delete.returning-1406"><a href="#Delete.returning-1406"><span class="linenos">1406</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;returning&quot;</span><span class="p">,</span>
-</span><span id="Delete.returning-1407"><a href="#Delete.returning-1407"><span class="linenos">1407</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;RETURNING&quot;</span><span class="p">,</span>
-</span><span id="Delete.returning-1408"><a href="#Delete.returning-1408"><span class="linenos">1408</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Delete.returning-1409"><a href="#Delete.returning-1409"><span class="linenos">1409</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Delete.returning-1410"><a href="#Delete.returning-1410"><span class="linenos">1410</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Returning</span><span class="p">,</span>
-</span><span id="Delete.returning-1411"><a href="#Delete.returning-1411"><span class="linenos">1411</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Delete.returning-1412"><a href="#Delete.returning-1412"><span class="linenos">1412</span></a> <span class="p">)</span>
+</span><span id="Delete.returning-1400"><a href="#Delete.returning-1400"><span class="linenos">1400</span></a><span class="sd"> Args:</span>
+</span><span id="Delete.returning-1401"><a href="#Delete.returning-1401"><span class="linenos">1401</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="Delete.returning-1402"><a href="#Delete.returning-1402"><span class="linenos">1402</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Delete.returning-1403"><a href="#Delete.returning-1403"><span class="linenos">1403</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Delete.returning-1404"><a href="#Delete.returning-1404"><span class="linenos">1404</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Delete.returning-1405"><a href="#Delete.returning-1405"><span class="linenos">1405</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Delete.returning-1406"><a href="#Delete.returning-1406"><span class="linenos">1406</span></a>
+</span><span id="Delete.returning-1407"><a href="#Delete.returning-1407"><span class="linenos">1407</span></a><span class="sd"> Returns:</span>
+</span><span id="Delete.returning-1408"><a href="#Delete.returning-1408"><span class="linenos">1408</span></a><span class="sd"> Delete: the modified expression.</span>
+</span><span id="Delete.returning-1409"><a href="#Delete.returning-1409"><span class="linenos">1409</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Delete.returning-1410"><a href="#Delete.returning-1410"><span class="linenos">1410</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Delete.returning-1411"><a href="#Delete.returning-1411"><span class="linenos">1411</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Delete.returning-1412"><a href="#Delete.returning-1412"><span class="linenos">1412</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Delete.returning-1413"><a href="#Delete.returning-1413"><span class="linenos">1413</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;returning&quot;</span><span class="p">,</span>
+</span><span id="Delete.returning-1414"><a href="#Delete.returning-1414"><span class="linenos">1414</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;RETURNING&quot;</span><span class="p">,</span>
+</span><span id="Delete.returning-1415"><a href="#Delete.returning-1415"><span class="linenos">1415</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Delete.returning-1416"><a href="#Delete.returning-1416"><span class="linenos">1416</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Delete.returning-1417"><a href="#Delete.returning-1417"><span class="linenos">1417</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Returning</span><span class="p">,</span>
+</span><span id="Delete.returning-1418"><a href="#Delete.returning-1418"><span class="linenos">1418</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Delete.returning-1419"><a href="#Delete.returning-1419"><span class="linenos">1419</span></a> <span class="p">)</span>
</span></pre></div>
@@ -16126,11 +20350,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Delete.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;delete&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Delete.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Delete.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Delete.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Delete.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Delete.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Delete.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Delete.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Delete.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Delete.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Delete.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16140,7 +20381,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Delete.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Delete.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Delete.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Delete.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Delete.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Delete.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Delete.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Delete.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Delete.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Delete.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Delete.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16184,27 +20429,57 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Drop"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Drop-1415"><a href="#Drop-1415"><span class="linenos">1415</span></a><span class="k">class</span> <span class="nc">Drop</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Drop-1416"><a href="#Drop-1416"><span class="linenos">1416</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Drop-1417"><a href="#Drop-1417"><span class="linenos">1417</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1418"><a href="#Drop-1418"><span class="linenos">1418</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1419"><a href="#Drop-1419"><span class="linenos">1419</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1420"><a href="#Drop-1420"><span class="linenos">1420</span></a> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1421"><a href="#Drop-1421"><span class="linenos">1421</span></a> <span class="s2">&quot;materialized&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1422"><a href="#Drop-1422"><span class="linenos">1422</span></a> <span class="s2">&quot;cascade&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1423"><a href="#Drop-1423"><span class="linenos">1423</span></a> <span class="s2">&quot;constraints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1424"><a href="#Drop-1424"><span class="linenos">1424</span></a> <span class="s2">&quot;purge&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Drop-1425"><a href="#Drop-1425"><span class="linenos">1425</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Drop-1422"><a href="#Drop-1422"><span class="linenos">1422</span></a><span class="k">class</span> <span class="nc">Drop</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Drop-1423"><a href="#Drop-1423"><span class="linenos">1423</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Drop-1424"><a href="#Drop-1424"><span class="linenos">1424</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1425"><a href="#Drop-1425"><span class="linenos">1425</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1426"><a href="#Drop-1426"><span class="linenos">1426</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1427"><a href="#Drop-1427"><span class="linenos">1427</span></a> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1428"><a href="#Drop-1428"><span class="linenos">1428</span></a> <span class="s2">&quot;materialized&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1429"><a href="#Drop-1429"><span class="linenos">1429</span></a> <span class="s2">&quot;cascade&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1430"><a href="#Drop-1430"><span class="linenos">1430</span></a> <span class="s2">&quot;constraints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1431"><a href="#Drop-1431"><span class="linenos">1431</span></a> <span class="s2">&quot;purge&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Drop-1432"><a href="#Drop-1432"><span class="linenos">1432</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Drop.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Drop.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Drop.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: False, &#39;kind&#39;: False, &#39;exists&#39;: False, &#39;temporary&#39;: False, &#39;materialized&#39;: False, &#39;cascade&#39;: False, &#39;constraints&#39;: False, &#39;purge&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Drop.arg_types"></a>
+
+
+
+ </div>
+ <div id="Drop.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;drop&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Drop.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Drop.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Drop.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Drop.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Drop.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Drop.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Drop.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Drop.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Drop.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Drop.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16214,7 +20489,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Drop.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Drop.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Drop.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Drop.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Drop.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Drop.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Drop.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Drop.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Drop.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Drop.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Drop.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16258,18 +20537,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Filter"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Filter-1428"><a href="#Filter-1428"><span class="linenos">1428</span></a><span class="k">class</span> <span class="nc">Filter</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Filter-1429"><a href="#Filter-1429"><span class="linenos">1429</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Filter-1435"><a href="#Filter-1435"><span class="linenos">1435</span></a><span class="k">class</span> <span class="nc">Filter</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Filter-1436"><a href="#Filter-1436"><span class="linenos">1436</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Filter.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Filter.arg_types"></a>
+
+
+
+ </div>
+ <div id="Filter.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;filter&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Filter.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Filter.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Filter.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Filter.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Filter.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Filter.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Filter.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Filter.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Filter.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Filter.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16279,7 +20587,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Filter.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Filter.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Filter.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Filter.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Filter.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Filter.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Filter.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Filter.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Filter.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Filter.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Filter.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16323,18 +20635,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Check"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Check-1432"><a href="#Check-1432"><span class="linenos">1432</span></a><span class="k">class</span> <span class="nc">Check</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Check-1433"><a href="#Check-1433"><span class="linenos">1433</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Check-1439"><a href="#Check-1439"><span class="linenos">1439</span></a><span class="k">class</span> <span class="nc">Check</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Check-1440"><a href="#Check-1440"><span class="linenos">1440</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Check.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;check&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Check.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Check.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Check.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Check.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Check.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Check.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Check.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Check.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Check.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Check.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Check.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16344,7 +20674,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Check.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Check.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Check.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Check.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Check.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Check.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Check.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Check.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Check.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Check.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Check.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16388,19 +20722,48 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Directory"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Directory-1436"><a href="#Directory-1436"><span class="linenos">1436</span></a><span class="k">class</span> <span class="nc">Directory</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Directory-1437"><a href="#Directory-1437"><span class="linenos">1437</span></a> <span class="c1"># https://spark.apache.org/docs/3.0.0-preview/sql-ref-syntax-dml-insert-overwrite-directory-hive.html</span>
-</span><span id="Directory-1438"><a href="#Directory-1438"><span class="linenos">1438</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;row_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Directory-1443"><a href="#Directory-1443"><span class="linenos">1443</span></a><span class="k">class</span> <span class="nc">Directory</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Directory-1444"><a href="#Directory-1444"><span class="linenos">1444</span></a> <span class="c1"># https://spark.apache.org/docs/3.0.0-preview/sql-ref-syntax-dml-insert-overwrite-directory-hive.html</span>
+</span><span id="Directory-1445"><a href="#Directory-1445"><span class="linenos">1445</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;row_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Directory.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;local&#39;: False, &#39;row_format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Directory.arg_types"></a>
+
+
+
+ </div>
+ <div id="Directory.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;directory&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Directory.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Directory.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Directory.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Directory.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Directory.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Directory.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Directory.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Directory.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Directory.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Directory.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16410,7 +20773,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Directory.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Directory.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Directory.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Directory.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Directory.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Directory.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Directory.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Directory.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Directory.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Directory.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Directory.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16454,23 +20821,52 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#ForeignKey"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ForeignKey-1441"><a href="#ForeignKey-1441"><span class="linenos">1441</span></a><span class="k">class</span> <span class="nc">ForeignKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="ForeignKey-1442"><a href="#ForeignKey-1442"><span class="linenos">1442</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="ForeignKey-1443"><a href="#ForeignKey-1443"><span class="linenos">1443</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="ForeignKey-1444"><a href="#ForeignKey-1444"><span class="linenos">1444</span></a> <span class="s2">&quot;reference&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="ForeignKey-1445"><a href="#ForeignKey-1445"><span class="linenos">1445</span></a> <span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="ForeignKey-1446"><a href="#ForeignKey-1446"><span class="linenos">1446</span></a> <span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="ForeignKey-1447"><a href="#ForeignKey-1447"><span class="linenos">1447</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ForeignKey-1448"><a href="#ForeignKey-1448"><span class="linenos">1448</span></a><span class="k">class</span> <span class="nc">ForeignKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="ForeignKey-1449"><a href="#ForeignKey-1449"><span class="linenos">1449</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="ForeignKey-1450"><a href="#ForeignKey-1450"><span class="linenos">1450</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="ForeignKey-1451"><a href="#ForeignKey-1451"><span class="linenos">1451</span></a> <span class="s2">&quot;reference&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="ForeignKey-1452"><a href="#ForeignKey-1452"><span class="linenos">1452</span></a> <span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="ForeignKey-1453"><a href="#ForeignKey-1453"><span class="linenos">1453</span></a> <span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="ForeignKey-1454"><a href="#ForeignKey-1454"><span class="linenos">1454</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="ForeignKey.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;reference&#39;: False, &#39;delete&#39;: False, &#39;update&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ForeignKey.arg_types"></a>
+
+
+
+ </div>
+ <div id="ForeignKey.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;foreignkey&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ForeignKey.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ForeignKey.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ForeignKey.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ForeignKey.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ForeignKey.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ForeignKey.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ForeignKey.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ForeignKey.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ForeignKey.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ForeignKey.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16480,7 +20876,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ForeignKey.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ForeignKey.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ForeignKey.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ForeignKey.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ForeignKey.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ForeignKey.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ForeignKey.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ForeignKey.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ForeignKey.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ForeignKey.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ForeignKey.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16524,18 +20924,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#PrimaryKey"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="PrimaryKey-1450"><a href="#PrimaryKey-1450"><span class="linenos">1450</span></a><span class="k">class</span> <span class="nc">PrimaryKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="PrimaryKey-1451"><a href="#PrimaryKey-1451"><span class="linenos">1451</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="PrimaryKey-1457"><a href="#PrimaryKey-1457"><span class="linenos">1457</span></a><span class="k">class</span> <span class="nc">PrimaryKey</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="PrimaryKey-1458"><a href="#PrimaryKey-1458"><span class="linenos">1458</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="PrimaryKey.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;options&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#PrimaryKey.arg_types"></a>
+
+
+
+ </div>
+ <div id="PrimaryKey.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;primarykey&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PrimaryKey.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PrimaryKey.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PrimaryKey.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PrimaryKey.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PrimaryKey.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PrimaryKey.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PrimaryKey.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PrimaryKey.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PrimaryKey.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PrimaryKey.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16545,7 +20974,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="PrimaryKey.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PrimaryKey.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PrimaryKey.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PrimaryKey.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PrimaryKey.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PrimaryKey.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PrimaryKey.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PrimaryKey.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PrimaryKey.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PrimaryKey.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PrimaryKey.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16589,18 +21022,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Into"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Into-1456"><a href="#Into-1456"><span class="linenos">1456</span></a><span class="k">class</span> <span class="nc">Into</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Into-1457"><a href="#Into-1457"><span class="linenos">1457</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unlogged&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Into-1463"><a href="#Into-1463"><span class="linenos">1463</span></a><span class="k">class</span> <span class="nc">Into</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Into-1464"><a href="#Into-1464"><span class="linenos">1464</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;temporary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unlogged&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Into.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;temporary&#39;: False, &#39;unlogged&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Into.arg_types"></a>
+
+
+
+ </div>
+ <div id="Into.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;into&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Into.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Into.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Into.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Into.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Into.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Into.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Into.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Into.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Into.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Into.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16610,7 +21072,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Into.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Into.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Into.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Into.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Into.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Into.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Into.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Into.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Into.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Into.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Into.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16654,24 +21120,64 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#From"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="From-1460"><a href="#From-1460"><span class="linenos">1460</span></a><span class="k">class</span> <span class="nc">From</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="From-1461"><a href="#From-1461"><span class="linenos">1461</span></a> <span class="nd">@property</span>
-</span><span id="From-1462"><a href="#From-1462"><span class="linenos">1462</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="From-1463"><a href="#From-1463"><span class="linenos">1463</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
-</span><span id="From-1464"><a href="#From-1464"><span class="linenos">1464</span></a>
-</span><span id="From-1465"><a href="#From-1465"><span class="linenos">1465</span></a> <span class="nd">@property</span>
-</span><span id="From-1466"><a href="#From-1466"><span class="linenos">1466</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="From-1467"><a href="#From-1467"><span class="linenos">1467</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="From-1467"><a href="#From-1467"><span class="linenos">1467</span></a><span class="k">class</span> <span class="nc">From</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="From-1468"><a href="#From-1468"><span class="linenos">1468</span></a> <span class="nd">@property</span>
+</span><span id="From-1469"><a href="#From-1469"><span class="linenos">1469</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="From-1470"><a href="#From-1470"><span class="linenos">1470</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
+</span><span id="From-1471"><a href="#From-1471"><span class="linenos">1471</span></a>
+</span><span id="From-1472"><a href="#From-1472"><span class="linenos">1472</span></a> <span class="nd">@property</span>
+</span><span id="From-1473"><a href="#From-1473"><span class="linenos">1473</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="From-1474"><a href="#From-1474"><span class="linenos">1474</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
</span></pre></div>
+ <div id="From.name" class="classattr">
+ <div class="attr variable">
+ <span class="name">name</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#From.name"></a>
+
+
+
+ </div>
+ <div id="From.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="#From.alias_or_name"></a>
+
+
+
+ </div>
+ <div id="From.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;from&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#From.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="From.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="From.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="From.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="From.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="From.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="From.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="From.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="From.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="From.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="From.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16682,6 +21188,8 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="From.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="From.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
<dd id="From.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="From.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="From.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="From.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="From.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="From.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16725,18 +21233,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Having"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Having-1470"><a href="#Having-1470"><span class="linenos">1470</span></a><span class="k">class</span> <span class="nc">Having</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Having-1471"><a href="#Having-1471"><span class="linenos">1471</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Having-1477"><a href="#Having-1477"><span class="linenos">1477</span></a><span class="k">class</span> <span class="nc">Having</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Having-1478"><a href="#Having-1478"><span class="linenos">1478</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Having.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;having&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Having.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Having.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Having.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Having.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Having.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Having.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Having.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Having.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Having.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Having.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Having.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16746,7 +21272,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Having.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Having.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Having.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Having.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Having.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Having.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Having.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Having.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Having.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Having.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Having.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16790,18 +21320,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Hint"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Hint-1474"><a href="#Hint-1474"><span class="linenos">1474</span></a><span class="k">class</span> <span class="nc">Hint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Hint-1475"><a href="#Hint-1475"><span class="linenos">1475</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Hint-1481"><a href="#Hint-1481"><span class="linenos">1481</span></a><span class="k">class</span> <span class="nc">Hint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Hint-1482"><a href="#Hint-1482"><span class="linenos">1482</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Hint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Hint.arg_types"></a>
+
+
+
+ </div>
+ <div id="Hint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;hint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Hint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Hint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Hint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Hint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Hint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Hint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Hint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Hint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Hint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Hint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16811,7 +21370,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Hint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Hint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Hint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Hint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Hint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Hint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Hint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Hint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Hint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Hint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Hint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16855,18 +21418,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#JoinHint"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JoinHint-1478"><a href="#JoinHint-1478"><span class="linenos">1478</span></a><span class="k">class</span> <span class="nc">JoinHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="JoinHint-1479"><a href="#JoinHint-1479"><span class="linenos">1479</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JoinHint-1485"><a href="#JoinHint-1485"><span class="linenos">1485</span></a><span class="k">class</span> <span class="nc">JoinHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="JoinHint-1486"><a href="#JoinHint-1486"><span class="linenos">1486</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="JoinHint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#JoinHint.arg_types"></a>
+
+
+
+ </div>
+ <div id="JoinHint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;joinhint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JoinHint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JoinHint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JoinHint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JoinHint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JoinHint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JoinHint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JoinHint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JoinHint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JoinHint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JoinHint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16876,7 +21468,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="JoinHint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JoinHint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JoinHint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JoinHint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JoinHint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JoinHint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JoinHint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JoinHint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JoinHint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JoinHint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JoinHint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -16920,27 +21516,61 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Identifier"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Identifier-1482"><a href="#Identifier-1482"><span class="linenos">1482</span></a><span class="k">class</span> <span class="nc">Identifier</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Identifier-1483"><a href="#Identifier-1483"><span class="linenos">1483</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quoted&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Identifier-1484"><a href="#Identifier-1484"><span class="linenos">1484</span></a>
-</span><span id="Identifier-1485"><a href="#Identifier-1485"><span class="linenos">1485</span></a> <span class="nd">@property</span>
-</span><span id="Identifier-1486"><a href="#Identifier-1486"><span class="linenos">1486</span></a> <span class="k">def</span> <span class="nf">quoted</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Identifier-1487"><a href="#Identifier-1487"><span class="linenos">1487</span></a> <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</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">&quot;quoted&quot;</span><span class="p">))</span>
-</span><span id="Identifier-1488"><a href="#Identifier-1488"><span class="linenos">1488</span></a>
-</span><span id="Identifier-1489"><a href="#Identifier-1489"><span class="linenos">1489</span></a> <span class="nd">@property</span>
-</span><span id="Identifier-1490"><a href="#Identifier-1490"><span class="linenos">1490</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
-</span><span id="Identifier-1491"><a href="#Identifier-1491"><span class="linenos">1491</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">(</span><span class="n">char</span><span class="o">.</span><span class="n">isupper</span><span class="p">()</span> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">):</span>
-</span><span id="Identifier-1492"><a href="#Identifier-1492"><span class="linenos">1492</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span><span class="p">)</span>
-</span><span id="Identifier-1493"><a href="#Identifier-1493"><span class="linenos">1493</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
-</span><span id="Identifier-1494"><a href="#Identifier-1494"><span class="linenos">1494</span></a>
-</span><span id="Identifier-1495"><a href="#Identifier-1495"><span class="linenos">1495</span></a> <span class="nd">@property</span>
-</span><span id="Identifier-1496"><a href="#Identifier-1496"><span class="linenos">1496</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Identifier-1497"><a href="#Identifier-1497"><span class="linenos">1497</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Identifier-1489"><a href="#Identifier-1489"><span class="linenos">1489</span></a><span class="k">class</span> <span class="nc">Identifier</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Identifier-1490"><a href="#Identifier-1490"><span class="linenos">1490</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quoted&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Identifier-1491"><a href="#Identifier-1491"><span class="linenos">1491</span></a>
+</span><span id="Identifier-1492"><a href="#Identifier-1492"><span class="linenos">1492</span></a> <span class="nd">@property</span>
+</span><span id="Identifier-1493"><a href="#Identifier-1493"><span class="linenos">1493</span></a> <span class="k">def</span> <span class="nf">quoted</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Identifier-1494"><a href="#Identifier-1494"><span class="linenos">1494</span></a> <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</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">&quot;quoted&quot;</span><span class="p">))</span>
+</span><span id="Identifier-1495"><a href="#Identifier-1495"><span class="linenos">1495</span></a>
+</span><span id="Identifier-1496"><a href="#Identifier-1496"><span class="linenos">1496</span></a> <span class="nd">@property</span>
+</span><span id="Identifier-1497"><a href="#Identifier-1497"><span class="linenos">1497</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
+</span><span id="Identifier-1498"><a href="#Identifier-1498"><span class="linenos">1498</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">(</span><span class="n">char</span><span class="o">.</span><span class="n">isupper</span><span class="p">()</span> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">):</span>
+</span><span id="Identifier-1499"><a href="#Identifier-1499"><span class="linenos">1499</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">quoted</span><span class="p">)</span>
+</span><span id="Identifier-1500"><a href="#Identifier-1500"><span class="linenos">1500</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
+</span><span id="Identifier-1501"><a href="#Identifier-1501"><span class="linenos">1501</span></a>
+</span><span id="Identifier-1502"><a href="#Identifier-1502"><span class="linenos">1502</span></a> <span class="nd">@property</span>
+</span><span id="Identifier-1503"><a href="#Identifier-1503"><span class="linenos">1503</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Identifier-1504"><a href="#Identifier-1504"><span class="linenos">1504</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
</span></pre></div>
+ <div id="Identifier.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;quoted&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Identifier.arg_types"></a>
+
+
+
+ </div>
+ <div id="Identifier.quoted" class="classattr">
+ <div class="attr variable">
+ <span class="name">quoted</span><span class="annotation">: bool</span>
+
+
+ </div>
+ <a class="headerlink" href="#Identifier.quoted"></a>
+
+
+
+ </div>
+ <div id="Identifier.hashable_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">hashable_args</span><span class="annotation">: Any</span>
+
+
+ </div>
+ <a class="headerlink" href="#Identifier.hashable_args"></a>
+
+
+
+ </div>
<div id="Identifier.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -16971,11 +21601,27 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Identifier.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;identifier&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Identifier.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Identifier.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Identifier.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Identifier.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Identifier.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Identifier.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
<dd id="Identifier.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Identifier.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Identifier.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -16985,6 +21631,10 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Identifier.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Identifier.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Identifier.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Identifier.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Identifier.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Identifier.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Identifier.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Identifier.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Identifier.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Identifier.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17028,28 +21678,58 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Index"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Index-1500"><a href="#Index-1500"><span class="linenos">1500</span></a><span class="k">class</span> <span class="nc">Index</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Index-1501"><a href="#Index-1501"><span class="linenos">1501</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Index-1502"><a href="#Index-1502"><span class="linenos">1502</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1503"><a href="#Index-1503"><span class="linenos">1503</span></a> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1504"><a href="#Index-1504"><span class="linenos">1504</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1505"><a href="#Index-1505"><span class="linenos">1505</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1506"><a href="#Index-1506"><span class="linenos">1506</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1507"><a href="#Index-1507"><span class="linenos">1507</span></a> <span class="s2">&quot;unique&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1508"><a href="#Index-1508"><span class="linenos">1508</span></a> <span class="s2">&quot;primary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Index-1509"><a href="#Index-1509"><span class="linenos">1509</span></a> <span class="s2">&quot;amp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
-</span><span id="Index-1510"><a href="#Index-1510"><span class="linenos">1510</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
-</span><span id="Index-1511"><a href="#Index-1511"><span class="linenos">1511</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Index-1507"><a href="#Index-1507"><span class="linenos">1507</span></a><span class="k">class</span> <span class="nc">Index</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Index-1508"><a href="#Index-1508"><span class="linenos">1508</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Index-1509"><a href="#Index-1509"><span class="linenos">1509</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1510"><a href="#Index-1510"><span class="linenos">1510</span></a> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1511"><a href="#Index-1511"><span class="linenos">1511</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1512"><a href="#Index-1512"><span class="linenos">1512</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1513"><a href="#Index-1513"><span class="linenos">1513</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1514"><a href="#Index-1514"><span class="linenos">1514</span></a> <span class="s2">&quot;unique&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1515"><a href="#Index-1515"><span class="linenos">1515</span></a> <span class="s2">&quot;primary&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Index-1516"><a href="#Index-1516"><span class="linenos">1516</span></a> <span class="s2">&quot;amp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
+</span><span id="Index-1517"><a href="#Index-1517"><span class="linenos">1517</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># teradata</span>
+</span><span id="Index-1518"><a href="#Index-1518"><span class="linenos">1518</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Index.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Index.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Index.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: False, &#39;table&#39;: False, &#39;using&#39;: False, &#39;where&#39;: False, &#39;columns&#39;: False, &#39;unique&#39;: False, &#39;primary&#39;: False, &#39;amp&#39;: False, &#39;partition_by&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Index.arg_types"></a>
+
+
+
+ </div>
+ <div id="Index.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;index&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Index.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Index.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Index.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Index.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Index.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Index.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Index.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Index.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Index.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Index.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17059,7 +21739,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Index.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Index.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Index.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Index.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Index.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Index.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Index.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Index.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Index.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Index.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Index.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17103,59 +21787,73 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Insert"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Insert-1514"><a href="#Insert-1514"><span class="linenos">1514</span></a><span class="k">class</span> <span class="nc">Insert</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Insert-1515"><a href="#Insert-1515"><span class="linenos">1515</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Insert-1516"><a href="#Insert-1516"><span class="linenos">1516</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1517"><a href="#Insert-1517"><span class="linenos">1517</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Insert-1518"><a href="#Insert-1518"><span class="linenos">1518</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1519"><a href="#Insert-1519"><span class="linenos">1519</span></a> <span class="s2">&quot;conflict&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1520"><a href="#Insert-1520"><span class="linenos">1520</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1521"><a href="#Insert-1521"><span class="linenos">1521</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1522"><a href="#Insert-1522"><span class="linenos">1522</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1523"><a href="#Insert-1523"><span class="linenos">1523</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1524"><a href="#Insert-1524"><span class="linenos">1524</span></a> <span class="s2">&quot;alternative&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Insert-1525"><a href="#Insert-1525"><span class="linenos">1525</span></a> <span class="p">}</span>
-</span><span id="Insert-1526"><a href="#Insert-1526"><span class="linenos">1526</span></a>
-</span><span id="Insert-1527"><a href="#Insert-1527"><span class="linenos">1527</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
-</span><span id="Insert-1528"><a href="#Insert-1528"><span class="linenos">1528</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Insert-1529"><a href="#Insert-1529"><span class="linenos">1529</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Insert-1530"><a href="#Insert-1530"><span class="linenos">1530</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Insert-1531"><a href="#Insert-1531"><span class="linenos">1531</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Insert-1532"><a href="#Insert-1532"><span class="linenos">1532</span></a> <span class="n">append</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="Insert-1533"><a href="#Insert-1533"><span class="linenos">1533</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="Insert-1534"><a href="#Insert-1534"><span class="linenos">1534</span></a> <span class="n">copy</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="Insert-1535"><a href="#Insert-1535"><span class="linenos">1535</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Insert-1536"><a href="#Insert-1536"><span class="linenos">1536</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
-</span><span id="Insert-1537"><a href="#Insert-1537"><span class="linenos">1537</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Insert-1538"><a href="#Insert-1538"><span class="linenos">1538</span></a><span class="sd"> Append to or set the common table expressions.</span>
-</span><span id="Insert-1539"><a href="#Insert-1539"><span class="linenos">1539</span></a>
-</span><span id="Insert-1540"><a href="#Insert-1540"><span class="linenos">1540</span></a><span class="sd"> Example:</span>
-</span><span id="Insert-1541"><a href="#Insert-1541"><span class="linenos">1541</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;SELECT x FROM cte&quot;, &quot;t&quot;).with_(&quot;cte&quot;, as_=&quot;SELECT * FROM tbl&quot;).sql()</span>
-</span><span id="Insert-1542"><a href="#Insert-1542"><span class="linenos">1542</span></a><span class="sd"> &#39;WITH cte AS (SELECT * FROM tbl) INSERT INTO t SELECT x FROM cte&#39;</span>
-</span><span id="Insert-1543"><a href="#Insert-1543"><span class="linenos">1543</span></a>
-</span><span id="Insert-1544"><a href="#Insert-1544"><span class="linenos">1544</span></a><span class="sd"> Args:</span>
-</span><span id="Insert-1545"><a href="#Insert-1545"><span class="linenos">1545</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
-</span><span id="Insert-1546"><a href="#Insert-1546"><span class="linenos">1546</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
-</span><span id="Insert-1547"><a href="#Insert-1547"><span class="linenos">1547</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
-</span><span id="Insert-1548"><a href="#Insert-1548"><span class="linenos">1548</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Insert-1549"><a href="#Insert-1549"><span class="linenos">1549</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
-</span><span id="Insert-1550"><a href="#Insert-1550"><span class="linenos">1550</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Insert-1551"><a href="#Insert-1551"><span class="linenos">1551</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Insert-1552"><a href="#Insert-1552"><span class="linenos">1552</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Insert-1553"><a href="#Insert-1553"><span class="linenos">1553</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Insert-1554"><a href="#Insert-1554"><span class="linenos">1554</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Insert-1555"><a href="#Insert-1555"><span class="linenos">1555</span></a>
-</span><span id="Insert-1556"><a href="#Insert-1556"><span class="linenos">1556</span></a><span class="sd"> Returns:</span>
-</span><span id="Insert-1557"><a href="#Insert-1557"><span class="linenos">1557</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Insert-1558"><a href="#Insert-1558"><span class="linenos">1558</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Insert-1559"><a href="#Insert-1559"><span class="linenos">1559</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="Insert-1560"><a href="#Insert-1560"><span class="linenos">1560</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Insert-1561"><a href="#Insert-1561"><span class="linenos">1561</span></a> <span class="p">)</span>
-</span></pre></div>
-
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Insert-1521"><a href="#Insert-1521"><span class="linenos">1521</span></a><span class="k">class</span> <span class="nc">Insert</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Insert-1522"><a href="#Insert-1522"><span class="linenos">1522</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Insert-1523"><a href="#Insert-1523"><span class="linenos">1523</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1524"><a href="#Insert-1524"><span class="linenos">1524</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Insert-1525"><a href="#Insert-1525"><span class="linenos">1525</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1526"><a href="#Insert-1526"><span class="linenos">1526</span></a> <span class="s2">&quot;conflict&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1527"><a href="#Insert-1527"><span class="linenos">1527</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1528"><a href="#Insert-1528"><span class="linenos">1528</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1529"><a href="#Insert-1529"><span class="linenos">1529</span></a> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1530"><a href="#Insert-1530"><span class="linenos">1530</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1531"><a href="#Insert-1531"><span class="linenos">1531</span></a> <span class="s2">&quot;alternative&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1532"><a href="#Insert-1532"><span class="linenos">1532</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Insert-1533"><a href="#Insert-1533"><span class="linenos">1533</span></a> <span class="p">}</span>
+</span><span id="Insert-1534"><a href="#Insert-1534"><span class="linenos">1534</span></a>
+</span><span id="Insert-1535"><a href="#Insert-1535"><span class="linenos">1535</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
+</span><span id="Insert-1536"><a href="#Insert-1536"><span class="linenos">1536</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Insert-1537"><a href="#Insert-1537"><span class="linenos">1537</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Insert-1538"><a href="#Insert-1538"><span class="linenos">1538</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Insert-1539"><a href="#Insert-1539"><span class="linenos">1539</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Insert-1540"><a href="#Insert-1540"><span class="linenos">1540</span></a> <span class="n">append</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="Insert-1541"><a href="#Insert-1541"><span class="linenos">1541</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="Insert-1542"><a href="#Insert-1542"><span class="linenos">1542</span></a> <span class="n">copy</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="Insert-1543"><a href="#Insert-1543"><span class="linenos">1543</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Insert-1544"><a href="#Insert-1544"><span class="linenos">1544</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
+</span><span id="Insert-1545"><a href="#Insert-1545"><span class="linenos">1545</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Insert-1546"><a href="#Insert-1546"><span class="linenos">1546</span></a><span class="sd"> Append to or set the common table expressions.</span>
+</span><span id="Insert-1547"><a href="#Insert-1547"><span class="linenos">1547</span></a>
+</span><span id="Insert-1548"><a href="#Insert-1548"><span class="linenos">1548</span></a><span class="sd"> Example:</span>
+</span><span id="Insert-1549"><a href="#Insert-1549"><span class="linenos">1549</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;SELECT x FROM cte&quot;, &quot;t&quot;).with_(&quot;cte&quot;, as_=&quot;SELECT * FROM tbl&quot;).sql()</span>
+</span><span id="Insert-1550"><a href="#Insert-1550"><span class="linenos">1550</span></a><span class="sd"> &#39;WITH cte AS (SELECT * FROM tbl) INSERT INTO t SELECT x FROM cte&#39;</span>
+</span><span id="Insert-1551"><a href="#Insert-1551"><span class="linenos">1551</span></a>
+</span><span id="Insert-1552"><a href="#Insert-1552"><span class="linenos">1552</span></a><span class="sd"> Args:</span>
+</span><span id="Insert-1553"><a href="#Insert-1553"><span class="linenos">1553</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
+</span><span id="Insert-1554"><a href="#Insert-1554"><span class="linenos">1554</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
+</span><span id="Insert-1555"><a href="#Insert-1555"><span class="linenos">1555</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
+</span><span id="Insert-1556"><a href="#Insert-1556"><span class="linenos">1556</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Insert-1557"><a href="#Insert-1557"><span class="linenos">1557</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
+</span><span id="Insert-1558"><a href="#Insert-1558"><span class="linenos">1558</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Insert-1559"><a href="#Insert-1559"><span class="linenos">1559</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Insert-1560"><a href="#Insert-1560"><span class="linenos">1560</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Insert-1561"><a href="#Insert-1561"><span class="linenos">1561</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Insert-1562"><a href="#Insert-1562"><span class="linenos">1562</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Insert-1563"><a href="#Insert-1563"><span class="linenos">1563</span></a>
+</span><span id="Insert-1564"><a href="#Insert-1564"><span class="linenos">1564</span></a><span class="sd"> Returns:</span>
+</span><span id="Insert-1565"><a href="#Insert-1565"><span class="linenos">1565</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Insert-1566"><a href="#Insert-1566"><span class="linenos">1566</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Insert-1567"><a href="#Insert-1567"><span class="linenos">1567</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="Insert-1568"><a href="#Insert-1568"><span class="linenos">1568</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Insert-1569"><a href="#Insert-1569"><span class="linenos">1569</span></a> <span class="p">)</span>
+</span></pre></div>
+
+
+
+
+ <div id="Insert.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Insert.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Insert.arg_types-view-value"></label><span class="default_value">{&#39;with&#39;: False, &#39;this&#39;: True, &#39;expression&#39;: False, &#39;conflict&#39;: False, &#39;returning&#39;: False, &#39;overwrite&#39;: False, &#39;exists&#39;: False, &#39;partition&#39;: False, &#39;alternative&#39;: False, &#39;where&#39;: False}</span>
+
+ </div>
+ <a class="headerlink" href="#Insert.arg_types"></a>
+
+ </div>
<div id="Insert.with_" class="classattr">
<input id="Insert.with_-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -17167,41 +21865,41 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Insert.with_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Insert.with_-1527"><a href="#Insert.with_-1527"><span class="linenos">1527</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
-</span><span id="Insert.with_-1528"><a href="#Insert.with_-1528"><span class="linenos">1528</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Insert.with_-1529"><a href="#Insert.with_-1529"><span class="linenos">1529</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Insert.with_-1530"><a href="#Insert.with_-1530"><span class="linenos">1530</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Insert.with_-1531"><a href="#Insert.with_-1531"><span class="linenos">1531</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Insert.with_-1532"><a href="#Insert.with_-1532"><span class="linenos">1532</span></a> <span class="n">append</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="Insert.with_-1533"><a href="#Insert.with_-1533"><span class="linenos">1533</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="Insert.with_-1534"><a href="#Insert.with_-1534"><span class="linenos">1534</span></a> <span class="n">copy</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="Insert.with_-1535"><a href="#Insert.with_-1535"><span class="linenos">1535</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Insert.with_-1536"><a href="#Insert.with_-1536"><span class="linenos">1536</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
-</span><span id="Insert.with_-1537"><a href="#Insert.with_-1537"><span class="linenos">1537</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Insert.with_-1538"><a href="#Insert.with_-1538"><span class="linenos">1538</span></a><span class="sd"> Append to or set the common table expressions.</span>
-</span><span id="Insert.with_-1539"><a href="#Insert.with_-1539"><span class="linenos">1539</span></a>
-</span><span id="Insert.with_-1540"><a href="#Insert.with_-1540"><span class="linenos">1540</span></a><span class="sd"> Example:</span>
-</span><span id="Insert.with_-1541"><a href="#Insert.with_-1541"><span class="linenos">1541</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;SELECT x FROM cte&quot;, &quot;t&quot;).with_(&quot;cte&quot;, as_=&quot;SELECT * FROM tbl&quot;).sql()</span>
-</span><span id="Insert.with_-1542"><a href="#Insert.with_-1542"><span class="linenos">1542</span></a><span class="sd"> &#39;WITH cte AS (SELECT * FROM tbl) INSERT INTO t SELECT x FROM cte&#39;</span>
-</span><span id="Insert.with_-1543"><a href="#Insert.with_-1543"><span class="linenos">1543</span></a>
-</span><span id="Insert.with_-1544"><a href="#Insert.with_-1544"><span class="linenos">1544</span></a><span class="sd"> Args:</span>
-</span><span id="Insert.with_-1545"><a href="#Insert.with_-1545"><span class="linenos">1545</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
-</span><span id="Insert.with_-1546"><a href="#Insert.with_-1546"><span class="linenos">1546</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
-</span><span id="Insert.with_-1547"><a href="#Insert.with_-1547"><span class="linenos">1547</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
-</span><span id="Insert.with_-1548"><a href="#Insert.with_-1548"><span class="linenos">1548</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Insert.with_-1549"><a href="#Insert.with_-1549"><span class="linenos">1549</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
-</span><span id="Insert.with_-1550"><a href="#Insert.with_-1550"><span class="linenos">1550</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Insert.with_-1551"><a href="#Insert.with_-1551"><span class="linenos">1551</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Insert.with_-1552"><a href="#Insert.with_-1552"><span class="linenos">1552</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Insert.with_-1553"><a href="#Insert.with_-1553"><span class="linenos">1553</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Insert.with_-1554"><a href="#Insert.with_-1554"><span class="linenos">1554</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Insert.with_-1555"><a href="#Insert.with_-1555"><span class="linenos">1555</span></a>
-</span><span id="Insert.with_-1556"><a href="#Insert.with_-1556"><span class="linenos">1556</span></a><span class="sd"> Returns:</span>
-</span><span id="Insert.with_-1557"><a href="#Insert.with_-1557"><span class="linenos">1557</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Insert.with_-1558"><a href="#Insert.with_-1558"><span class="linenos">1558</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Insert.with_-1559"><a href="#Insert.with_-1559"><span class="linenos">1559</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="Insert.with_-1560"><a href="#Insert.with_-1560"><span class="linenos">1560</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Insert.with_-1561"><a href="#Insert.with_-1561"><span class="linenos">1561</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Insert.with_-1535"><a href="#Insert.with_-1535"><span class="linenos">1535</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
+</span><span id="Insert.with_-1536"><a href="#Insert.with_-1536"><span class="linenos">1536</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Insert.with_-1537"><a href="#Insert.with_-1537"><span class="linenos">1537</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Insert.with_-1538"><a href="#Insert.with_-1538"><span class="linenos">1538</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Insert.with_-1539"><a href="#Insert.with_-1539"><span class="linenos">1539</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Insert.with_-1540"><a href="#Insert.with_-1540"><span class="linenos">1540</span></a> <span class="n">append</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="Insert.with_-1541"><a href="#Insert.with_-1541"><span class="linenos">1541</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="Insert.with_-1542"><a href="#Insert.with_-1542"><span class="linenos">1542</span></a> <span class="n">copy</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="Insert.with_-1543"><a href="#Insert.with_-1543"><span class="linenos">1543</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Insert.with_-1544"><a href="#Insert.with_-1544"><span class="linenos">1544</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
+</span><span id="Insert.with_-1545"><a href="#Insert.with_-1545"><span class="linenos">1545</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Insert.with_-1546"><a href="#Insert.with_-1546"><span class="linenos">1546</span></a><span class="sd"> Append to or set the common table expressions.</span>
+</span><span id="Insert.with_-1547"><a href="#Insert.with_-1547"><span class="linenos">1547</span></a>
+</span><span id="Insert.with_-1548"><a href="#Insert.with_-1548"><span class="linenos">1548</span></a><span class="sd"> Example:</span>
+</span><span id="Insert.with_-1549"><a href="#Insert.with_-1549"><span class="linenos">1549</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;SELECT x FROM cte&quot;, &quot;t&quot;).with_(&quot;cte&quot;, as_=&quot;SELECT * FROM tbl&quot;).sql()</span>
+</span><span id="Insert.with_-1550"><a href="#Insert.with_-1550"><span class="linenos">1550</span></a><span class="sd"> &#39;WITH cte AS (SELECT * FROM tbl) INSERT INTO t SELECT x FROM cte&#39;</span>
+</span><span id="Insert.with_-1551"><a href="#Insert.with_-1551"><span class="linenos">1551</span></a>
+</span><span id="Insert.with_-1552"><a href="#Insert.with_-1552"><span class="linenos">1552</span></a><span class="sd"> Args:</span>
+</span><span id="Insert.with_-1553"><a href="#Insert.with_-1553"><span class="linenos">1553</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
+</span><span id="Insert.with_-1554"><a href="#Insert.with_-1554"><span class="linenos">1554</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
+</span><span id="Insert.with_-1555"><a href="#Insert.with_-1555"><span class="linenos">1555</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
+</span><span id="Insert.with_-1556"><a href="#Insert.with_-1556"><span class="linenos">1556</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Insert.with_-1557"><a href="#Insert.with_-1557"><span class="linenos">1557</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
+</span><span id="Insert.with_-1558"><a href="#Insert.with_-1558"><span class="linenos">1558</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Insert.with_-1559"><a href="#Insert.with_-1559"><span class="linenos">1559</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Insert.with_-1560"><a href="#Insert.with_-1560"><span class="linenos">1560</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Insert.with_-1561"><a href="#Insert.with_-1561"><span class="linenos">1561</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Insert.with_-1562"><a href="#Insert.with_-1562"><span class="linenos">1562</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Insert.with_-1563"><a href="#Insert.with_-1563"><span class="linenos">1563</span></a>
+</span><span id="Insert.with_-1564"><a href="#Insert.with_-1564"><span class="linenos">1564</span></a><span class="sd"> Returns:</span>
+</span><span id="Insert.with_-1565"><a href="#Insert.with_-1565"><span class="linenos">1565</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Insert.with_-1566"><a href="#Insert.with_-1566"><span class="linenos">1566</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Insert.with_-1567"><a href="#Insert.with_-1567"><span class="linenos">1567</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="Insert.with_-1568"><a href="#Insert.with_-1568"><span class="linenos">1568</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Insert.with_-1569"><a href="#Insert.with_-1569"><span class="linenos">1569</span></a> <span class="p">)</span>
</span></pre></div>
@@ -17241,11 +21939,28 @@ Otherwise, this resets the expressions.</li>
</div>
+ <div id="Insert.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;insert&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Insert.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Insert.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Insert.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Insert.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Insert.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Insert.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Insert.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Insert.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Insert.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Insert.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17255,7 +21970,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Insert.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Insert.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Insert.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Insert.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Insert.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Insert.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Insert.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Insert.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Insert.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Insert.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Insert.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17299,24 +22018,53 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#OnConflict"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="OnConflict-1564"><a href="#OnConflict-1564"><span class="linenos">1564</span></a><span class="k">class</span> <span class="nc">OnConflict</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="OnConflict-1565"><a href="#OnConflict-1565"><span class="linenos">1565</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="OnConflict-1566"><a href="#OnConflict-1566"><span class="linenos">1566</span></a> <span class="s2">&quot;duplicate&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="OnConflict-1567"><a href="#OnConflict-1567"><span class="linenos">1567</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="OnConflict-1568"><a href="#OnConflict-1568"><span class="linenos">1568</span></a> <span class="s2">&quot;nothing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="OnConflict-1569"><a href="#OnConflict-1569"><span class="linenos">1569</span></a> <span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="OnConflict-1570"><a href="#OnConflict-1570"><span class="linenos">1570</span></a> <span class="s2">&quot;constraint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="OnConflict-1571"><a href="#OnConflict-1571"><span class="linenos">1571</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="OnConflict-1572"><a href="#OnConflict-1572"><span class="linenos">1572</span></a><span class="k">class</span> <span class="nc">OnConflict</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="OnConflict-1573"><a href="#OnConflict-1573"><span class="linenos">1573</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="OnConflict-1574"><a href="#OnConflict-1574"><span class="linenos">1574</span></a> <span class="s2">&quot;duplicate&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="OnConflict-1575"><a href="#OnConflict-1575"><span class="linenos">1575</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="OnConflict-1576"><a href="#OnConflict-1576"><span class="linenos">1576</span></a> <span class="s2">&quot;nothing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="OnConflict-1577"><a href="#OnConflict-1577"><span class="linenos">1577</span></a> <span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="OnConflict-1578"><a href="#OnConflict-1578"><span class="linenos">1578</span></a> <span class="s2">&quot;constraint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="OnConflict-1579"><a href="#OnConflict-1579"><span class="linenos">1579</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="OnConflict.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;duplicate&#39;: False, &#39;expressions&#39;: False, &#39;nothing&#39;: False, &#39;key&#39;: False, &#39;constraint&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnConflict.arg_types"></a>
+
+
+
+ </div>
+ <div id="OnConflict.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;onconflict&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnConflict.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="OnConflict.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="OnConflict.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="OnConflict.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="OnConflict.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="OnConflict.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="OnConflict.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="OnConflict.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="OnConflict.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="OnConflict.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17326,7 +22074,11 @@ Otherwise, this resets the expressions.</li>
<dd id="OnConflict.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="OnConflict.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="OnConflict.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="OnConflict.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="OnConflict.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="OnConflict.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="OnConflict.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="OnConflict.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="OnConflict.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="OnConflict.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="OnConflict.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17370,18 +22122,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Returning"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Returning-1574"><a href="#Returning-1574"><span class="linenos">1574</span></a><span class="k">class</span> <span class="nc">Returning</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Returning-1575"><a href="#Returning-1575"><span class="linenos">1575</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Returning-1582"><a href="#Returning-1582"><span class="linenos">1582</span></a><span class="k">class</span> <span class="nc">Returning</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Returning-1583"><a href="#Returning-1583"><span class="linenos">1583</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Returning.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Returning.arg_types"></a>
+
+
+
+ </div>
+ <div id="Returning.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;returning&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Returning.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Returning.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Returning.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Returning.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Returning.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Returning.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Returning.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Returning.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Returning.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Returning.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17391,7 +22172,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Returning.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Returning.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Returning.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Returning.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Returning.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Returning.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Returning.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Returning.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Returning.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Returning.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Returning.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17435,18 +22220,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Introducer"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Introducer-1579"><a href="#Introducer-1579"><span class="linenos">1579</span></a><span class="k">class</span> <span class="nc">Introducer</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Introducer-1580"><a href="#Introducer-1580"><span class="linenos">1580</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Introducer-1587"><a href="#Introducer-1587"><span class="linenos">1587</span></a><span class="k">class</span> <span class="nc">Introducer</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Introducer-1588"><a href="#Introducer-1588"><span class="linenos">1588</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Introducer.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Introducer.arg_types"></a>
+
+
+
+ </div>
+ <div id="Introducer.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;introducer&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Introducer.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Introducer.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Introducer.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Introducer.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Introducer.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Introducer.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Introducer.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Introducer.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Introducer.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Introducer.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17456,7 +22270,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Introducer.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Introducer.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Introducer.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Introducer.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Introducer.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Introducer.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Introducer.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Introducer.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Introducer.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Introducer.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Introducer.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17500,18 +22318,36 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#National"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="National-1584"><a href="#National-1584"><span class="linenos">1584</span></a><span class="k">class</span> <span class="nc">National</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="National-1585"><a href="#National-1585"><span class="linenos">1585</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="National-1592"><a href="#National-1592"><span class="linenos">1592</span></a><span class="k">class</span> <span class="nc">National</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="National-1593"><a href="#National-1593"><span class="linenos">1593</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="National.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;national&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#National.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="National.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="National.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="National.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="National.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="National.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="National.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="National.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="National.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="National.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="National.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17521,7 +22357,11 @@ Otherwise, this resets the expressions.</li>
<dd id="National.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="National.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="National.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="National.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="National.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="National.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="National.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="National.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="National.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="National.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="National.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17565,26 +22405,56 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#LoadData"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LoadData-1588"><a href="#LoadData-1588"><span class="linenos">1588</span></a><span class="k">class</span> <span class="nc">LoadData</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="LoadData-1589"><a href="#LoadData-1589"><span class="linenos">1589</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="LoadData-1590"><a href="#LoadData-1590"><span class="linenos">1590</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="LoadData-1591"><a href="#LoadData-1591"><span class="linenos">1591</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LoadData-1592"><a href="#LoadData-1592"><span class="linenos">1592</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LoadData-1593"><a href="#LoadData-1593"><span class="linenos">1593</span></a> <span class="s2">&quot;inpath&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="LoadData-1594"><a href="#LoadData-1594"><span class="linenos">1594</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LoadData-1595"><a href="#LoadData-1595"><span class="linenos">1595</span></a> <span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LoadData-1596"><a href="#LoadData-1596"><span class="linenos">1596</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LoadData-1597"><a href="#LoadData-1597"><span class="linenos">1597</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LoadData-1596"><a href="#LoadData-1596"><span class="linenos">1596</span></a><span class="k">class</span> <span class="nc">LoadData</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="LoadData-1597"><a href="#LoadData-1597"><span class="linenos">1597</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="LoadData-1598"><a href="#LoadData-1598"><span class="linenos">1598</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="LoadData-1599"><a href="#LoadData-1599"><span class="linenos">1599</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LoadData-1600"><a href="#LoadData-1600"><span class="linenos">1600</span></a> <span class="s2">&quot;overwrite&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LoadData-1601"><a href="#LoadData-1601"><span class="linenos">1601</span></a> <span class="s2">&quot;inpath&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="LoadData-1602"><a href="#LoadData-1602"><span class="linenos">1602</span></a> <span class="s2">&quot;partition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LoadData-1603"><a href="#LoadData-1603"><span class="linenos">1603</span></a> <span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LoadData-1604"><a href="#LoadData-1604"><span class="linenos">1604</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LoadData-1605"><a href="#LoadData-1605"><span class="linenos">1605</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="LoadData.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="LoadData.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="LoadData.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;local&#39;: False, &#39;overwrite&#39;: False, &#39;inpath&#39;: True, &#39;partition&#39;: False, &#39;input_format&#39;: False, &#39;serde&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#LoadData.arg_types"></a>
+
+
+
+ </div>
+ <div id="LoadData.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;loaddata&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LoadData.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LoadData.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LoadData.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LoadData.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LoadData.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LoadData.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LoadData.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LoadData.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LoadData.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LoadData.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17594,7 +22464,11 @@ Otherwise, this resets the expressions.</li>
<dd id="LoadData.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LoadData.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LoadData.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LoadData.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LoadData.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LoadData.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LoadData.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LoadData.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LoadData.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LoadData.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LoadData.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17638,18 +22512,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Partition"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Partition-1600"><a href="#Partition-1600"><span class="linenos">1600</span></a><span class="k">class</span> <span class="nc">Partition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Partition-1601"><a href="#Partition-1601"><span class="linenos">1601</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Partition-1608"><a href="#Partition-1608"><span class="linenos">1608</span></a><span class="k">class</span> <span class="nc">Partition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Partition-1609"><a href="#Partition-1609"><span class="linenos">1609</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Partition.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Partition.arg_types"></a>
+
+
+
+ </div>
+ <div id="Partition.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;partition&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Partition.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Partition.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Partition.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Partition.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Partition.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Partition.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Partition.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Partition.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Partition.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Partition.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17659,7 +22562,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Partition.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Partition.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Partition.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Partition.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Partition.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Partition.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Partition.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Partition.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Partition.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Partition.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Partition.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17703,23 +22610,52 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Fetch"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Fetch-1604"><a href="#Fetch-1604"><span class="linenos">1604</span></a><span class="k">class</span> <span class="nc">Fetch</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Fetch-1605"><a href="#Fetch-1605"><span class="linenos">1605</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Fetch-1606"><a href="#Fetch-1606"><span class="linenos">1606</span></a> <span class="s2">&quot;direction&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Fetch-1607"><a href="#Fetch-1607"><span class="linenos">1607</span></a> <span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Fetch-1608"><a href="#Fetch-1608"><span class="linenos">1608</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Fetch-1609"><a href="#Fetch-1609"><span class="linenos">1609</span></a> <span class="s2">&quot;with_ties&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Fetch-1610"><a href="#Fetch-1610"><span class="linenos">1610</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Fetch-1612"><a href="#Fetch-1612"><span class="linenos">1612</span></a><span class="k">class</span> <span class="nc">Fetch</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Fetch-1613"><a href="#Fetch-1613"><span class="linenos">1613</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Fetch-1614"><a href="#Fetch-1614"><span class="linenos">1614</span></a> <span class="s2">&quot;direction&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Fetch-1615"><a href="#Fetch-1615"><span class="linenos">1615</span></a> <span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Fetch-1616"><a href="#Fetch-1616"><span class="linenos">1616</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Fetch-1617"><a href="#Fetch-1617"><span class="linenos">1617</span></a> <span class="s2">&quot;with_ties&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Fetch-1618"><a href="#Fetch-1618"><span class="linenos">1618</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Fetch.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;direction&#39;: False, &#39;count&#39;: False, &#39;percent&#39;: False, &#39;with_ties&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Fetch.arg_types"></a>
+
+
+
+ </div>
+ <div id="Fetch.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;fetch&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Fetch.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Fetch.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Fetch.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Fetch.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Fetch.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Fetch.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Fetch.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Fetch.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Fetch.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Fetch.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17729,7 +22665,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Fetch.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Fetch.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Fetch.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Fetch.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Fetch.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Fetch.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Fetch.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Fetch.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Fetch.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Fetch.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Fetch.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17773,24 +22713,53 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Group"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Group-1613"><a href="#Group-1613"><span class="linenos">1613</span></a><span class="k">class</span> <span class="nc">Group</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Group-1614"><a href="#Group-1614"><span class="linenos">1614</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Group-1615"><a href="#Group-1615"><span class="linenos">1615</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Group-1616"><a href="#Group-1616"><span class="linenos">1616</span></a> <span class="s2">&quot;grouping_sets&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Group-1617"><a href="#Group-1617"><span class="linenos">1617</span></a> <span class="s2">&quot;cube&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Group-1618"><a href="#Group-1618"><span class="linenos">1618</span></a> <span class="s2">&quot;rollup&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Group-1619"><a href="#Group-1619"><span class="linenos">1619</span></a> <span class="s2">&quot;totals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Group-1620"><a href="#Group-1620"><span class="linenos">1620</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Group-1621"><a href="#Group-1621"><span class="linenos">1621</span></a><span class="k">class</span> <span class="nc">Group</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Group-1622"><a href="#Group-1622"><span class="linenos">1622</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Group-1623"><a href="#Group-1623"><span class="linenos">1623</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Group-1624"><a href="#Group-1624"><span class="linenos">1624</span></a> <span class="s2">&quot;grouping_sets&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Group-1625"><a href="#Group-1625"><span class="linenos">1625</span></a> <span class="s2">&quot;cube&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Group-1626"><a href="#Group-1626"><span class="linenos">1626</span></a> <span class="s2">&quot;rollup&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Group-1627"><a href="#Group-1627"><span class="linenos">1627</span></a> <span class="s2">&quot;totals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Group-1628"><a href="#Group-1628"><span class="linenos">1628</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Group.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: False, &#39;grouping_sets&#39;: False, &#39;cube&#39;: False, &#39;rollup&#39;: False, &#39;totals&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Group.arg_types"></a>
+
+
+
+ </div>
+ <div id="Group.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;group&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Group.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Group.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Group.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Group.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Group.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Group.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Group.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Group.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Group.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Group.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17800,7 +22769,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Group.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Group.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Group.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Group.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Group.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Group.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Group.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Group.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Group.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Group.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Group.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17844,18 +22817,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Lambda"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Lambda-1623"><a href="#Lambda-1623"><span class="linenos">1623</span></a><span class="k">class</span> <span class="nc">Lambda</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Lambda-1624"><a href="#Lambda-1624"><span class="linenos">1624</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Lambda-1631"><a href="#Lambda-1631"><span class="linenos">1631</span></a><span class="k">class</span> <span class="nc">Lambda</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Lambda-1632"><a href="#Lambda-1632"><span class="linenos">1632</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Lambda.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lambda.arg_types"></a>
+
+
+
+ </div>
+ <div id="Lambda.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lambda&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lambda.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Lambda.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Lambda.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Lambda.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Lambda.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Lambda.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Lambda.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Lambda.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Lambda.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Lambda.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17865,7 +22867,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Lambda.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Lambda.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Lambda.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Lambda.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Lambda.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Lambda.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Lambda.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Lambda.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Lambda.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Lambda.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Lambda.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17909,18 +22915,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Limit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Limit-1627"><a href="#Limit-1627"><span class="linenos">1627</span></a><span class="k">class</span> <span class="nc">Limit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Limit-1628"><a href="#Limit-1628"><span class="linenos">1628</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Limit-1635"><a href="#Limit-1635"><span class="linenos">1635</span></a><span class="k">class</span> <span class="nc">Limit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Limit-1636"><a href="#Limit-1636"><span class="linenos">1636</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Limit.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: True, &#39;offset&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Limit.arg_types"></a>
+
+
+
+ </div>
+ <div id="Limit.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;limit&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Limit.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Limit.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Limit.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Limit.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Limit.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Limit.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Limit.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Limit.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Limit.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Limit.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -17930,7 +22965,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Limit.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Limit.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Limit.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Limit.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Limit.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Limit.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Limit.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Limit.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Limit.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Limit.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Limit.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -17974,29 +23013,52 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Literal"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Literal-1631"><a href="#Literal-1631"><span class="linenos">1631</span></a><span class="k">class</span> <span class="nc">Literal</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Literal-1632"><a href="#Literal-1632"><span class="linenos">1632</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_string&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Literal-1633"><a href="#Literal-1633"><span class="linenos">1633</span></a>
-</span><span id="Literal-1634"><a href="#Literal-1634"><span class="linenos">1634</span></a> <span class="nd">@property</span>
-</span><span id="Literal-1635"><a href="#Literal-1635"><span class="linenos">1635</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
-</span><span id="Literal-1636"><a href="#Literal-1636"><span class="linenos">1636</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</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">&quot;is_string&quot;</span><span class="p">))</span>
-</span><span id="Literal-1637"><a href="#Literal-1637"><span class="linenos">1637</span></a>
-</span><span id="Literal-1638"><a href="#Literal-1638"><span class="linenos">1638</span></a> <span class="nd">@classmethod</span>
-</span><span id="Literal-1639"><a href="#Literal-1639"><span class="linenos">1639</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
-</span><span id="Literal-1640"><a href="#Literal-1640"><span class="linenos">1640</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Literal-1639"><a href="#Literal-1639"><span class="linenos">1639</span></a><span class="k">class</span> <span class="nc">Literal</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Literal-1640"><a href="#Literal-1640"><span class="linenos">1640</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_string&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span><span id="Literal-1641"><a href="#Literal-1641"><span class="linenos">1641</span></a>
-</span><span id="Literal-1642"><a href="#Literal-1642"><span class="linenos">1642</span></a> <span class="nd">@classmethod</span>
-</span><span id="Literal-1643"><a href="#Literal-1643"><span class="linenos">1643</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
-</span><span id="Literal-1644"><a href="#Literal-1644"><span class="linenos">1644</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Literal-1642"><a href="#Literal-1642"><span class="linenos">1642</span></a> <span class="nd">@property</span>
+</span><span id="Literal-1643"><a href="#Literal-1643"><span class="linenos">1643</span></a> <span class="k">def</span> <span class="nf">hashable_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">:</span>
+</span><span id="Literal-1644"><a href="#Literal-1644"><span class="linenos">1644</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="bp">self</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">&quot;is_string&quot;</span><span class="p">))</span>
</span><span id="Literal-1645"><a href="#Literal-1645"><span class="linenos">1645</span></a>
-</span><span id="Literal-1646"><a href="#Literal-1646"><span class="linenos">1646</span></a> <span class="nd">@property</span>
-</span><span id="Literal-1647"><a href="#Literal-1647"><span class="linenos">1647</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Literal-1648"><a href="#Literal-1648"><span class="linenos">1648</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="Literal-1646"><a href="#Literal-1646"><span class="linenos">1646</span></a> <span class="nd">@classmethod</span>
+</span><span id="Literal-1647"><a href="#Literal-1647"><span class="linenos">1647</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
+</span><span id="Literal-1648"><a href="#Literal-1648"><span class="linenos">1648</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</span><span id="Literal-1649"><a href="#Literal-1649"><span class="linenos">1649</span></a>
+</span><span id="Literal-1650"><a href="#Literal-1650"><span class="linenos">1650</span></a> <span class="nd">@classmethod</span>
+</span><span id="Literal-1651"><a href="#Literal-1651"><span class="linenos">1651</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
+</span><span id="Literal-1652"><a href="#Literal-1652"><span class="linenos">1652</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</span><span id="Literal-1653"><a href="#Literal-1653"><span class="linenos">1653</span></a>
+</span><span id="Literal-1654"><a href="#Literal-1654"><span class="linenos">1654</span></a> <span class="nd">@property</span>
+</span><span id="Literal-1655"><a href="#Literal-1655"><span class="linenos">1655</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Literal-1656"><a href="#Literal-1656"><span class="linenos">1656</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
</span></pre></div>
+ <div id="Literal.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;is_string&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Literal.arg_types"></a>
+
+
+
+ </div>
+ <div id="Literal.hashable_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">hashable_args</span><span class="annotation">: Any</span>
+
+
+ </div>
+ <a class="headerlink" href="#Literal.hashable_args"></a>
+
+
+
+ </div>
<div id="Literal.number" class="classattr">
<input id="Literal.number-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -18009,9 +23071,9 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Literal.number"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Literal.number-1638"><a href="#Literal.number-1638"><span class="linenos">1638</span></a> <span class="nd">@classmethod</span>
-</span><span id="Literal.number-1639"><a href="#Literal.number-1639"><span class="linenos">1639</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
-</span><span id="Literal.number-1640"><a href="#Literal.number-1640"><span class="linenos">1640</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Literal.number-1646"><a href="#Literal.number-1646"><span class="linenos">1646</span></a> <span class="nd">@classmethod</span>
+</span><span id="Literal.number-1647"><a href="#Literal.number-1647"><span class="linenos">1647</span></a> <span class="k">def</span> <span class="nf">number</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">number</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
+</span><span id="Literal.number-1648"><a href="#Literal.number-1648"><span class="linenos">1648</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
</span></pre></div>
@@ -18030,9 +23092,9 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Literal.string"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Literal.string-1642"><a href="#Literal.string-1642"><span class="linenos">1642</span></a> <span class="nd">@classmethod</span>
-</span><span id="Literal.string-1643"><a href="#Literal.string-1643"><span class="linenos">1643</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
-</span><span id="Literal.string-1644"><a href="#Literal.string-1644"><span class="linenos">1644</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Literal.string-1650"><a href="#Literal.string-1650"><span class="linenos">1650</span></a> <span class="nd">@classmethod</span>
+</span><span id="Literal.string-1651"><a href="#Literal.string-1651"><span class="linenos">1651</span></a> <span class="k">def</span> <span class="nf">string</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">string</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Literal</span><span class="p">:</span>
+</span><span id="Literal.string-1652"><a href="#Literal.string-1652"><span class="linenos">1652</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">is_string</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span></pre></div>
@@ -18069,11 +23131,27 @@ Otherwise, this resets the expressions.</li>
</div>
+ <div id="Literal.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;literal&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Literal.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Literal.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Literal.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Literal.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Literal.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Literal.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
<dd id="Literal.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Literal.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Literal.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18083,6 +23161,10 @@ Otherwise, this resets the expressions.</li>
<dd id="Literal.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Literal.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Literal.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Literal.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Literal.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Literal.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Literal.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Literal.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Literal.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Literal.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18141,129 +23223,197 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Join"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Join-1651"><a href="#Join-1651"><span class="linenos">1651</span></a><span class="k">class</span> <span class="nc">Join</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Join-1652"><a href="#Join-1652"><span class="linenos">1652</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Join-1653"><a href="#Join-1653"><span class="linenos">1653</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Join-1654"><a href="#Join-1654"><span class="linenos">1654</span></a> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1655"><a href="#Join-1655"><span class="linenos">1655</span></a> <span class="s2">&quot;side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1656"><a href="#Join-1656"><span class="linenos">1656</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1657"><a href="#Join-1657"><span class="linenos">1657</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1658"><a href="#Join-1658"><span class="linenos">1658</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1659"><a href="#Join-1659"><span class="linenos">1659</span></a> <span class="s2">&quot;global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1660"><a href="#Join-1660"><span class="linenos">1660</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Join-1661"><a href="#Join-1661"><span class="linenos">1661</span></a> <span class="p">}</span>
-</span><span id="Join-1662"><a href="#Join-1662"><span class="linenos">1662</span></a>
-</span><span id="Join-1663"><a href="#Join-1663"><span class="linenos">1663</span></a> <span class="nd">@property</span>
-</span><span id="Join-1664"><a href="#Join-1664"><span class="linenos">1664</span></a> <span class="k">def</span> <span class="nf">method</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Join-1665"><a href="#Join-1665"><span class="linenos">1665</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="Join-1666"><a href="#Join-1666"><span class="linenos">1666</span></a>
-</span><span id="Join-1667"><a href="#Join-1667"><span class="linenos">1667</span></a> <span class="nd">@property</span>
-</span><span id="Join-1668"><a href="#Join-1668"><span class="linenos">1668</span></a> <span class="k">def</span> <span class="nf">kind</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Join-1669"><a href="#Join-1669"><span class="linenos">1669</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Join-1659"><a href="#Join-1659"><span class="linenos">1659</span></a><span class="k">class</span> <span class="nc">Join</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Join-1660"><a href="#Join-1660"><span class="linenos">1660</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Join-1661"><a href="#Join-1661"><span class="linenos">1661</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Join-1662"><a href="#Join-1662"><span class="linenos">1662</span></a> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1663"><a href="#Join-1663"><span class="linenos">1663</span></a> <span class="s2">&quot;side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1664"><a href="#Join-1664"><span class="linenos">1664</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1665"><a href="#Join-1665"><span class="linenos">1665</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1666"><a href="#Join-1666"><span class="linenos">1666</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1667"><a href="#Join-1667"><span class="linenos">1667</span></a> <span class="s2">&quot;global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1668"><a href="#Join-1668"><span class="linenos">1668</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Join-1669"><a href="#Join-1669"><span class="linenos">1669</span></a> <span class="p">}</span>
</span><span id="Join-1670"><a href="#Join-1670"><span class="linenos">1670</span></a>
</span><span id="Join-1671"><a href="#Join-1671"><span class="linenos">1671</span></a> <span class="nd">@property</span>
-</span><span id="Join-1672"><a href="#Join-1672"><span class="linenos">1672</span></a> <span class="k">def</span> <span class="nf">side</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Join-1673"><a href="#Join-1673"><span class="linenos">1673</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="Join-1672"><a href="#Join-1672"><span class="linenos">1672</span></a> <span class="k">def</span> <span class="nf">method</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Join-1673"><a href="#Join-1673"><span class="linenos">1673</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
</span><span id="Join-1674"><a href="#Join-1674"><span class="linenos">1674</span></a>
</span><span id="Join-1675"><a href="#Join-1675"><span class="linenos">1675</span></a> <span class="nd">@property</span>
-</span><span id="Join-1676"><a href="#Join-1676"><span class="linenos">1676</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Join-1677"><a href="#Join-1677"><span class="linenos">1677</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;hint&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="Join-1676"><a href="#Join-1676"><span class="linenos">1676</span></a> <span class="k">def</span> <span class="nf">kind</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Join-1677"><a href="#Join-1677"><span class="linenos">1677</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
</span><span id="Join-1678"><a href="#Join-1678"><span class="linenos">1678</span></a>
</span><span id="Join-1679"><a href="#Join-1679"><span class="linenos">1679</span></a> <span class="nd">@property</span>
-</span><span id="Join-1680"><a href="#Join-1680"><span class="linenos">1680</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Join-1681"><a href="#Join-1681"><span class="linenos">1681</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
+</span><span id="Join-1680"><a href="#Join-1680"><span class="linenos">1680</span></a> <span class="k">def</span> <span class="nf">side</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Join-1681"><a href="#Join-1681"><span class="linenos">1681</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
</span><span id="Join-1682"><a href="#Join-1682"><span class="linenos">1682</span></a>
-</span><span id="Join-1683"><a href="#Join-1683"><span class="linenos">1683</span></a> <span class="k">def</span> <span class="nf">on</span><span class="p">(</span>
-</span><span id="Join-1684"><a href="#Join-1684"><span class="linenos">1684</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Join-1685"><a href="#Join-1685"><span class="linenos">1685</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Join-1686"><a href="#Join-1686"><span class="linenos">1686</span></a> <span class="n">append</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="Join-1687"><a href="#Join-1687"><span class="linenos">1687</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="Join-1688"><a href="#Join-1688"><span class="linenos">1688</span></a> <span class="n">copy</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="Join-1689"><a href="#Join-1689"><span class="linenos">1689</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join-1690"><a href="#Join-1690"><span class="linenos">1690</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
-</span><span id="Join-1691"><a href="#Join-1691"><span class="linenos">1691</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Join-1692"><a href="#Join-1692"><span class="linenos">1692</span></a><span class="sd"> Append to or set the ON expressions.</span>
-</span><span id="Join-1693"><a href="#Join-1693"><span class="linenos">1693</span></a>
-</span><span id="Join-1694"><a href="#Join-1694"><span class="linenos">1694</span></a><span class="sd"> Example:</span>
-</span><span id="Join-1695"><a href="#Join-1695"><span class="linenos">1695</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="Join-1696"><a href="#Join-1696"><span class="linenos">1696</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).on(&quot;y = 1&quot;).sql()</span>
-</span><span id="Join-1697"><a href="#Join-1697"><span class="linenos">1697</span></a><span class="sd"> &#39;JOIN x ON y = 1&#39;</span>
-</span><span id="Join-1698"><a href="#Join-1698"><span class="linenos">1698</span></a>
-</span><span id="Join-1699"><a href="#Join-1699"><span class="linenos">1699</span></a><span class="sd"> Args:</span>
-</span><span id="Join-1700"><a href="#Join-1700"><span class="linenos">1700</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Join-1701"><a href="#Join-1701"><span class="linenos">1701</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Join-1702"><a href="#Join-1702"><span class="linenos">1702</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Join-1703"><a href="#Join-1703"><span class="linenos">1703</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Join-1704"><a href="#Join-1704"><span class="linenos">1704</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Join-1705"><a href="#Join-1705"><span class="linenos">1705</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Join-1706"><a href="#Join-1706"><span class="linenos">1706</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Join-1707"><a href="#Join-1707"><span class="linenos">1707</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Join-1708"><a href="#Join-1708"><span class="linenos">1708</span></a>
-</span><span id="Join-1709"><a href="#Join-1709"><span class="linenos">1709</span></a><span class="sd"> Returns:</span>
-</span><span id="Join-1710"><a href="#Join-1710"><span class="linenos">1710</span></a><span class="sd"> The modified Join expression.</span>
-</span><span id="Join-1711"><a href="#Join-1711"><span class="linenos">1711</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Join-1712"><a href="#Join-1712"><span class="linenos">1712</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Join-1713"><a href="#Join-1713"><span class="linenos">1713</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Join-1714"><a href="#Join-1714"><span class="linenos">1714</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Join-1715"><a href="#Join-1715"><span class="linenos">1715</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;on&quot;</span><span class="p">,</span>
-</span><span id="Join-1716"><a href="#Join-1716"><span class="linenos">1716</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Join-1717"><a href="#Join-1717"><span class="linenos">1717</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Join-1718"><a href="#Join-1718"><span class="linenos">1718</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Join-1719"><a href="#Join-1719"><span class="linenos">1719</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join-1720"><a href="#Join-1720"><span class="linenos">1720</span></a> <span class="p">)</span>
-</span><span id="Join-1721"><a href="#Join-1721"><span class="linenos">1721</span></a>
-</span><span id="Join-1722"><a href="#Join-1722"><span class="linenos">1722</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
-</span><span id="Join-1723"><a href="#Join-1723"><span class="linenos">1723</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="Join-1724"><a href="#Join-1724"><span class="linenos">1724</span></a>
-</span><span id="Join-1725"><a href="#Join-1725"><span class="linenos">1725</span></a> <span class="k">return</span> <span class="n">join</span>
-</span><span id="Join-1726"><a href="#Join-1726"><span class="linenos">1726</span></a>
-</span><span id="Join-1727"><a href="#Join-1727"><span class="linenos">1727</span></a> <span class="k">def</span> <span class="nf">using</span><span class="p">(</span>
-</span><span id="Join-1728"><a href="#Join-1728"><span class="linenos">1728</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Join-1729"><a href="#Join-1729"><span class="linenos">1729</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Join-1730"><a href="#Join-1730"><span class="linenos">1730</span></a> <span class="n">append</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="Join-1731"><a href="#Join-1731"><span class="linenos">1731</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="Join-1732"><a href="#Join-1732"><span class="linenos">1732</span></a> <span class="n">copy</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="Join-1733"><a href="#Join-1733"><span class="linenos">1733</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join-1734"><a href="#Join-1734"><span class="linenos">1734</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
-</span><span id="Join-1735"><a href="#Join-1735"><span class="linenos">1735</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Join-1736"><a href="#Join-1736"><span class="linenos">1736</span></a><span class="sd"> Append to or set the USING expressions.</span>
-</span><span id="Join-1737"><a href="#Join-1737"><span class="linenos">1737</span></a>
-</span><span id="Join-1738"><a href="#Join-1738"><span class="linenos">1738</span></a><span class="sd"> Example:</span>
-</span><span id="Join-1739"><a href="#Join-1739"><span class="linenos">1739</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="Join-1740"><a href="#Join-1740"><span class="linenos">1740</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).using(&quot;foo&quot;, &quot;bla&quot;).sql()</span>
-</span><span id="Join-1741"><a href="#Join-1741"><span class="linenos">1741</span></a><span class="sd"> &#39;JOIN x USING (foo, bla)&#39;</span>
-</span><span id="Join-1742"><a href="#Join-1742"><span class="linenos">1742</span></a>
-</span><span id="Join-1743"><a href="#Join-1743"><span class="linenos">1743</span></a><span class="sd"> Args:</span>
-</span><span id="Join-1744"><a href="#Join-1744"><span class="linenos">1744</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Join-1745"><a href="#Join-1745"><span class="linenos">1745</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Join-1746"><a href="#Join-1746"><span class="linenos">1746</span></a><span class="sd"> append: if `True`, concatenate the new expressions to the existing &quot;using&quot; list.</span>
-</span><span id="Join-1747"><a href="#Join-1747"><span class="linenos">1747</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Join-1748"><a href="#Join-1748"><span class="linenos">1748</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Join-1749"><a href="#Join-1749"><span class="linenos">1749</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Join-1750"><a href="#Join-1750"><span class="linenos">1750</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Join-1751"><a href="#Join-1751"><span class="linenos">1751</span></a>
-</span><span id="Join-1752"><a href="#Join-1752"><span class="linenos">1752</span></a><span class="sd"> Returns:</span>
-</span><span id="Join-1753"><a href="#Join-1753"><span class="linenos">1753</span></a><span class="sd"> The modified Join expression.</span>
-</span><span id="Join-1754"><a href="#Join-1754"><span class="linenos">1754</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Join-1755"><a href="#Join-1755"><span class="linenos">1755</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Join-1756"><a href="#Join-1756"><span class="linenos">1756</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Join-1757"><a href="#Join-1757"><span class="linenos">1757</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Join-1758"><a href="#Join-1758"><span class="linenos">1758</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
-</span><span id="Join-1759"><a href="#Join-1759"><span class="linenos">1759</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Join-1760"><a href="#Join-1760"><span class="linenos">1760</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Join-1761"><a href="#Join-1761"><span class="linenos">1761</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Join-1762"><a href="#Join-1762"><span class="linenos">1762</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join-1763"><a href="#Join-1763"><span class="linenos">1763</span></a> <span class="p">)</span>
-</span><span id="Join-1764"><a href="#Join-1764"><span class="linenos">1764</span></a>
-</span><span id="Join-1765"><a href="#Join-1765"><span class="linenos">1765</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
-</span><span id="Join-1766"><a href="#Join-1766"><span class="linenos">1766</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="Join-1767"><a href="#Join-1767"><span class="linenos">1767</span></a>
-</span><span id="Join-1768"><a href="#Join-1768"><span class="linenos">1768</span></a> <span class="k">return</span> <span class="n">join</span>
-</span></pre></div>
+</span><span id="Join-1683"><a href="#Join-1683"><span class="linenos">1683</span></a> <span class="nd">@property</span>
+</span><span id="Join-1684"><a href="#Join-1684"><span class="linenos">1684</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Join-1685"><a href="#Join-1685"><span class="linenos">1685</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;hint&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="Join-1686"><a href="#Join-1686"><span class="linenos">1686</span></a>
+</span><span id="Join-1687"><a href="#Join-1687"><span class="linenos">1687</span></a> <span class="nd">@property</span>
+</span><span id="Join-1688"><a href="#Join-1688"><span class="linenos">1688</span></a> <span class="k">def</span> <span class="nf">alias_or_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Join-1689"><a href="#Join-1689"><span class="linenos">1689</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">alias_or_name</span>
+</span><span id="Join-1690"><a href="#Join-1690"><span class="linenos">1690</span></a>
+</span><span id="Join-1691"><a href="#Join-1691"><span class="linenos">1691</span></a> <span class="k">def</span> <span class="nf">on</span><span class="p">(</span>
+</span><span id="Join-1692"><a href="#Join-1692"><span class="linenos">1692</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Join-1693"><a href="#Join-1693"><span class="linenos">1693</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Join-1694"><a href="#Join-1694"><span class="linenos">1694</span></a> <span class="n">append</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="Join-1695"><a href="#Join-1695"><span class="linenos">1695</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="Join-1696"><a href="#Join-1696"><span class="linenos">1696</span></a> <span class="n">copy</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="Join-1697"><a href="#Join-1697"><span class="linenos">1697</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join-1698"><a href="#Join-1698"><span class="linenos">1698</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
+</span><span id="Join-1699"><a href="#Join-1699"><span class="linenos">1699</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Join-1700"><a href="#Join-1700"><span class="linenos">1700</span></a><span class="sd"> Append to or set the ON expressions.</span>
+</span><span id="Join-1701"><a href="#Join-1701"><span class="linenos">1701</span></a>
+</span><span id="Join-1702"><a href="#Join-1702"><span class="linenos">1702</span></a><span class="sd"> Example:</span>
+</span><span id="Join-1703"><a href="#Join-1703"><span class="linenos">1703</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="Join-1704"><a href="#Join-1704"><span class="linenos">1704</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).on(&quot;y = 1&quot;).sql()</span>
+</span><span id="Join-1705"><a href="#Join-1705"><span class="linenos">1705</span></a><span class="sd"> &#39;JOIN x ON y = 1&#39;</span>
+</span><span id="Join-1706"><a href="#Join-1706"><span class="linenos">1706</span></a>
+</span><span id="Join-1707"><a href="#Join-1707"><span class="linenos">1707</span></a><span class="sd"> Args:</span>
+</span><span id="Join-1708"><a href="#Join-1708"><span class="linenos">1708</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Join-1709"><a href="#Join-1709"><span class="linenos">1709</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Join-1710"><a href="#Join-1710"><span class="linenos">1710</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Join-1711"><a href="#Join-1711"><span class="linenos">1711</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Join-1712"><a href="#Join-1712"><span class="linenos">1712</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Join-1713"><a href="#Join-1713"><span class="linenos">1713</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Join-1714"><a href="#Join-1714"><span class="linenos">1714</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Join-1715"><a href="#Join-1715"><span class="linenos">1715</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Join-1716"><a href="#Join-1716"><span class="linenos">1716</span></a>
+</span><span id="Join-1717"><a href="#Join-1717"><span class="linenos">1717</span></a><span class="sd"> Returns:</span>
+</span><span id="Join-1718"><a href="#Join-1718"><span class="linenos">1718</span></a><span class="sd"> The modified Join expression.</span>
+</span><span id="Join-1719"><a href="#Join-1719"><span class="linenos">1719</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Join-1720"><a href="#Join-1720"><span class="linenos">1720</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Join-1721"><a href="#Join-1721"><span class="linenos">1721</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Join-1722"><a href="#Join-1722"><span class="linenos">1722</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Join-1723"><a href="#Join-1723"><span class="linenos">1723</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;on&quot;</span><span class="p">,</span>
+</span><span id="Join-1724"><a href="#Join-1724"><span class="linenos">1724</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Join-1725"><a href="#Join-1725"><span class="linenos">1725</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Join-1726"><a href="#Join-1726"><span class="linenos">1726</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Join-1727"><a href="#Join-1727"><span class="linenos">1727</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join-1728"><a href="#Join-1728"><span class="linenos">1728</span></a> <span class="p">)</span>
+</span><span id="Join-1729"><a href="#Join-1729"><span class="linenos">1729</span></a>
+</span><span id="Join-1730"><a href="#Join-1730"><span class="linenos">1730</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
+</span><span id="Join-1731"><a href="#Join-1731"><span class="linenos">1731</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="Join-1732"><a href="#Join-1732"><span class="linenos">1732</span></a>
+</span><span id="Join-1733"><a href="#Join-1733"><span class="linenos">1733</span></a> <span class="k">return</span> <span class="n">join</span>
+</span><span id="Join-1734"><a href="#Join-1734"><span class="linenos">1734</span></a>
+</span><span id="Join-1735"><a href="#Join-1735"><span class="linenos">1735</span></a> <span class="k">def</span> <span class="nf">using</span><span class="p">(</span>
+</span><span id="Join-1736"><a href="#Join-1736"><span class="linenos">1736</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Join-1737"><a href="#Join-1737"><span class="linenos">1737</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Join-1738"><a href="#Join-1738"><span class="linenos">1738</span></a> <span class="n">append</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="Join-1739"><a href="#Join-1739"><span class="linenos">1739</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="Join-1740"><a href="#Join-1740"><span class="linenos">1740</span></a> <span class="n">copy</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="Join-1741"><a href="#Join-1741"><span class="linenos">1741</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join-1742"><a href="#Join-1742"><span class="linenos">1742</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
+</span><span id="Join-1743"><a href="#Join-1743"><span class="linenos">1743</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Join-1744"><a href="#Join-1744"><span class="linenos">1744</span></a><span class="sd"> Append to or set the USING expressions.</span>
+</span><span id="Join-1745"><a href="#Join-1745"><span class="linenos">1745</span></a>
+</span><span id="Join-1746"><a href="#Join-1746"><span class="linenos">1746</span></a><span class="sd"> Example:</span>
+</span><span id="Join-1747"><a href="#Join-1747"><span class="linenos">1747</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="Join-1748"><a href="#Join-1748"><span class="linenos">1748</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).using(&quot;foo&quot;, &quot;bla&quot;).sql()</span>
+</span><span id="Join-1749"><a href="#Join-1749"><span class="linenos">1749</span></a><span class="sd"> &#39;JOIN x USING (foo, bla)&#39;</span>
+</span><span id="Join-1750"><a href="#Join-1750"><span class="linenos">1750</span></a>
+</span><span id="Join-1751"><a href="#Join-1751"><span class="linenos">1751</span></a><span class="sd"> Args:</span>
+</span><span id="Join-1752"><a href="#Join-1752"><span class="linenos">1752</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Join-1753"><a href="#Join-1753"><span class="linenos">1753</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Join-1754"><a href="#Join-1754"><span class="linenos">1754</span></a><span class="sd"> append: if `True`, concatenate the new expressions to the existing &quot;using&quot; list.</span>
+</span><span id="Join-1755"><a href="#Join-1755"><span class="linenos">1755</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Join-1756"><a href="#Join-1756"><span class="linenos">1756</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Join-1757"><a href="#Join-1757"><span class="linenos">1757</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Join-1758"><a href="#Join-1758"><span class="linenos">1758</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Join-1759"><a href="#Join-1759"><span class="linenos">1759</span></a>
+</span><span id="Join-1760"><a href="#Join-1760"><span class="linenos">1760</span></a><span class="sd"> Returns:</span>
+</span><span id="Join-1761"><a href="#Join-1761"><span class="linenos">1761</span></a><span class="sd"> The modified Join expression.</span>
+</span><span id="Join-1762"><a href="#Join-1762"><span class="linenos">1762</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Join-1763"><a href="#Join-1763"><span class="linenos">1763</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Join-1764"><a href="#Join-1764"><span class="linenos">1764</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Join-1765"><a href="#Join-1765"><span class="linenos">1765</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Join-1766"><a href="#Join-1766"><span class="linenos">1766</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
+</span><span id="Join-1767"><a href="#Join-1767"><span class="linenos">1767</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Join-1768"><a href="#Join-1768"><span class="linenos">1768</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Join-1769"><a href="#Join-1769"><span class="linenos">1769</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Join-1770"><a href="#Join-1770"><span class="linenos">1770</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join-1771"><a href="#Join-1771"><span class="linenos">1771</span></a> <span class="p">)</span>
+</span><span id="Join-1772"><a href="#Join-1772"><span class="linenos">1772</span></a>
+</span><span id="Join-1773"><a href="#Join-1773"><span class="linenos">1773</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
+</span><span id="Join-1774"><a href="#Join-1774"><span class="linenos">1774</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="Join-1775"><a href="#Join-1775"><span class="linenos">1775</span></a>
+</span><span id="Join-1776"><a href="#Join-1776"><span class="linenos">1776</span></a> <span class="k">return</span> <span class="n">join</span>
+</span></pre></div>
+
+
+
+
+ <div id="Join.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Join.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Join.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;on&#39;: False, &#39;side&#39;: False, &#39;kind&#39;: False, &#39;using&#39;: False, &#39;method&#39;: False, &#39;global&#39;: False, &#39;hint&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Join.arg_types"></a>
+
+
+ </div>
+ <div id="Join.method" class="classattr">
+ <div class="attr variable">
+ <span class="name">method</span><span class="annotation">: str</span>
+
+ </div>
+ <a class="headerlink" href="#Join.method"></a>
+
+
+ </div>
+ <div id="Join.kind" class="classattr">
+ <div class="attr variable">
+ <span class="name">kind</span><span class="annotation">: str</span>
+
+ </div>
+ <a class="headerlink" href="#Join.kind"></a>
+
+
+
+ </div>
+ <div id="Join.side" class="classattr">
+ <div class="attr variable">
+ <span class="name">side</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Join.side"></a>
+
+
+
+ </div>
+ <div id="Join.hint" class="classattr">
+ <div class="attr variable">
+ <span class="name">hint</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Join.hint"></a>
+
+
+
+ </div>
+ <div id="Join.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="#Join.alias_or_name"></a>
+
+
+
+ </div>
<div id="Join.on" class="classattr">
<input id="Join.on-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -18275,49 +23425,49 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Join.on"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Join.on-1683"><a href="#Join.on-1683"><span class="linenos">1683</span></a> <span class="k">def</span> <span class="nf">on</span><span class="p">(</span>
-</span><span id="Join.on-1684"><a href="#Join.on-1684"><span class="linenos">1684</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Join.on-1685"><a href="#Join.on-1685"><span class="linenos">1685</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Join.on-1686"><a href="#Join.on-1686"><span class="linenos">1686</span></a> <span class="n">append</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="Join.on-1687"><a href="#Join.on-1687"><span class="linenos">1687</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="Join.on-1688"><a href="#Join.on-1688"><span class="linenos">1688</span></a> <span class="n">copy</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="Join.on-1689"><a href="#Join.on-1689"><span class="linenos">1689</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join.on-1690"><a href="#Join.on-1690"><span class="linenos">1690</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
-</span><span id="Join.on-1691"><a href="#Join.on-1691"><span class="linenos">1691</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Join.on-1692"><a href="#Join.on-1692"><span class="linenos">1692</span></a><span class="sd"> Append to or set the ON expressions.</span>
-</span><span id="Join.on-1693"><a href="#Join.on-1693"><span class="linenos">1693</span></a>
-</span><span id="Join.on-1694"><a href="#Join.on-1694"><span class="linenos">1694</span></a><span class="sd"> Example:</span>
-</span><span id="Join.on-1695"><a href="#Join.on-1695"><span class="linenos">1695</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="Join.on-1696"><a href="#Join.on-1696"><span class="linenos">1696</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).on(&quot;y = 1&quot;).sql()</span>
-</span><span id="Join.on-1697"><a href="#Join.on-1697"><span class="linenos">1697</span></a><span class="sd"> &#39;JOIN x ON y = 1&#39;</span>
-</span><span id="Join.on-1698"><a href="#Join.on-1698"><span class="linenos">1698</span></a>
-</span><span id="Join.on-1699"><a href="#Join.on-1699"><span class="linenos">1699</span></a><span class="sd"> Args:</span>
-</span><span id="Join.on-1700"><a href="#Join.on-1700"><span class="linenos">1700</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Join.on-1701"><a href="#Join.on-1701"><span class="linenos">1701</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Join.on-1702"><a href="#Join.on-1702"><span class="linenos">1702</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Join.on-1703"><a href="#Join.on-1703"><span class="linenos">1703</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Join.on-1704"><a href="#Join.on-1704"><span class="linenos">1704</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Join.on-1705"><a href="#Join.on-1705"><span class="linenos">1705</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Join.on-1706"><a href="#Join.on-1706"><span class="linenos">1706</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Join.on-1707"><a href="#Join.on-1707"><span class="linenos">1707</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Join.on-1708"><a href="#Join.on-1708"><span class="linenos">1708</span></a>
-</span><span id="Join.on-1709"><a href="#Join.on-1709"><span class="linenos">1709</span></a><span class="sd"> Returns:</span>
-</span><span id="Join.on-1710"><a href="#Join.on-1710"><span class="linenos">1710</span></a><span class="sd"> The modified Join expression.</span>
-</span><span id="Join.on-1711"><a href="#Join.on-1711"><span class="linenos">1711</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Join.on-1712"><a href="#Join.on-1712"><span class="linenos">1712</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Join.on-1713"><a href="#Join.on-1713"><span class="linenos">1713</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Join.on-1714"><a href="#Join.on-1714"><span class="linenos">1714</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Join.on-1715"><a href="#Join.on-1715"><span class="linenos">1715</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;on&quot;</span><span class="p">,</span>
-</span><span id="Join.on-1716"><a href="#Join.on-1716"><span class="linenos">1716</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Join.on-1717"><a href="#Join.on-1717"><span class="linenos">1717</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Join.on-1718"><a href="#Join.on-1718"><span class="linenos">1718</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Join.on-1719"><a href="#Join.on-1719"><span class="linenos">1719</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join.on-1720"><a href="#Join.on-1720"><span class="linenos">1720</span></a> <span class="p">)</span>
-</span><span id="Join.on-1721"><a href="#Join.on-1721"><span class="linenos">1721</span></a>
-</span><span id="Join.on-1722"><a href="#Join.on-1722"><span class="linenos">1722</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
-</span><span id="Join.on-1723"><a href="#Join.on-1723"><span class="linenos">1723</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="Join.on-1724"><a href="#Join.on-1724"><span class="linenos">1724</span></a>
-</span><span id="Join.on-1725"><a href="#Join.on-1725"><span class="linenos">1725</span></a> <span class="k">return</span> <span class="n">join</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Join.on-1691"><a href="#Join.on-1691"><span class="linenos">1691</span></a> <span class="k">def</span> <span class="nf">on</span><span class="p">(</span>
+</span><span id="Join.on-1692"><a href="#Join.on-1692"><span class="linenos">1692</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Join.on-1693"><a href="#Join.on-1693"><span class="linenos">1693</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Join.on-1694"><a href="#Join.on-1694"><span class="linenos">1694</span></a> <span class="n">append</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="Join.on-1695"><a href="#Join.on-1695"><span class="linenos">1695</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="Join.on-1696"><a href="#Join.on-1696"><span class="linenos">1696</span></a> <span class="n">copy</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="Join.on-1697"><a href="#Join.on-1697"><span class="linenos">1697</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join.on-1698"><a href="#Join.on-1698"><span class="linenos">1698</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
+</span><span id="Join.on-1699"><a href="#Join.on-1699"><span class="linenos">1699</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Join.on-1700"><a href="#Join.on-1700"><span class="linenos">1700</span></a><span class="sd"> Append to or set the ON expressions.</span>
+</span><span id="Join.on-1701"><a href="#Join.on-1701"><span class="linenos">1701</span></a>
+</span><span id="Join.on-1702"><a href="#Join.on-1702"><span class="linenos">1702</span></a><span class="sd"> Example:</span>
+</span><span id="Join.on-1703"><a href="#Join.on-1703"><span class="linenos">1703</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="Join.on-1704"><a href="#Join.on-1704"><span class="linenos">1704</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).on(&quot;y = 1&quot;).sql()</span>
+</span><span id="Join.on-1705"><a href="#Join.on-1705"><span class="linenos">1705</span></a><span class="sd"> &#39;JOIN x ON y = 1&#39;</span>
+</span><span id="Join.on-1706"><a href="#Join.on-1706"><span class="linenos">1706</span></a>
+</span><span id="Join.on-1707"><a href="#Join.on-1707"><span class="linenos">1707</span></a><span class="sd"> Args:</span>
+</span><span id="Join.on-1708"><a href="#Join.on-1708"><span class="linenos">1708</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Join.on-1709"><a href="#Join.on-1709"><span class="linenos">1709</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Join.on-1710"><a href="#Join.on-1710"><span class="linenos">1710</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Join.on-1711"><a href="#Join.on-1711"><span class="linenos">1711</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Join.on-1712"><a href="#Join.on-1712"><span class="linenos">1712</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Join.on-1713"><a href="#Join.on-1713"><span class="linenos">1713</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Join.on-1714"><a href="#Join.on-1714"><span class="linenos">1714</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Join.on-1715"><a href="#Join.on-1715"><span class="linenos">1715</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Join.on-1716"><a href="#Join.on-1716"><span class="linenos">1716</span></a>
+</span><span id="Join.on-1717"><a href="#Join.on-1717"><span class="linenos">1717</span></a><span class="sd"> Returns:</span>
+</span><span id="Join.on-1718"><a href="#Join.on-1718"><span class="linenos">1718</span></a><span class="sd"> The modified Join expression.</span>
+</span><span id="Join.on-1719"><a href="#Join.on-1719"><span class="linenos">1719</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Join.on-1720"><a href="#Join.on-1720"><span class="linenos">1720</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Join.on-1721"><a href="#Join.on-1721"><span class="linenos">1721</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Join.on-1722"><a href="#Join.on-1722"><span class="linenos">1722</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Join.on-1723"><a href="#Join.on-1723"><span class="linenos">1723</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;on&quot;</span><span class="p">,</span>
+</span><span id="Join.on-1724"><a href="#Join.on-1724"><span class="linenos">1724</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Join.on-1725"><a href="#Join.on-1725"><span class="linenos">1725</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Join.on-1726"><a href="#Join.on-1726"><span class="linenos">1726</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Join.on-1727"><a href="#Join.on-1727"><span class="linenos">1727</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join.on-1728"><a href="#Join.on-1728"><span class="linenos">1728</span></a> <span class="p">)</span>
+</span><span id="Join.on-1729"><a href="#Join.on-1729"><span class="linenos">1729</span></a>
+</span><span id="Join.on-1730"><a href="#Join.on-1730"><span class="linenos">1730</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
+</span><span id="Join.on-1731"><a href="#Join.on-1731"><span class="linenos">1731</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="Join.on-1732"><a href="#Join.on-1732"><span class="linenos">1732</span></a>
+</span><span id="Join.on-1733"><a href="#Join.on-1733"><span class="linenos">1733</span></a> <span class="k">return</span> <span class="n">join</span>
</span></pre></div>
@@ -18367,48 +23517,48 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Join.using"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Join.using-1727"><a href="#Join.using-1727"><span class="linenos">1727</span></a> <span class="k">def</span> <span class="nf">using</span><span class="p">(</span>
-</span><span id="Join.using-1728"><a href="#Join.using-1728"><span class="linenos">1728</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Join.using-1729"><a href="#Join.using-1729"><span class="linenos">1729</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Join.using-1730"><a href="#Join.using-1730"><span class="linenos">1730</span></a> <span class="n">append</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="Join.using-1731"><a href="#Join.using-1731"><span class="linenos">1731</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="Join.using-1732"><a href="#Join.using-1732"><span class="linenos">1732</span></a> <span class="n">copy</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="Join.using-1733"><a href="#Join.using-1733"><span class="linenos">1733</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join.using-1734"><a href="#Join.using-1734"><span class="linenos">1734</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
-</span><span id="Join.using-1735"><a href="#Join.using-1735"><span class="linenos">1735</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Join.using-1736"><a href="#Join.using-1736"><span class="linenos">1736</span></a><span class="sd"> Append to or set the USING expressions.</span>
-</span><span id="Join.using-1737"><a href="#Join.using-1737"><span class="linenos">1737</span></a>
-</span><span id="Join.using-1738"><a href="#Join.using-1738"><span class="linenos">1738</span></a><span class="sd"> Example:</span>
-</span><span id="Join.using-1739"><a href="#Join.using-1739"><span class="linenos">1739</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="Join.using-1740"><a href="#Join.using-1740"><span class="linenos">1740</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).using(&quot;foo&quot;, &quot;bla&quot;).sql()</span>
-</span><span id="Join.using-1741"><a href="#Join.using-1741"><span class="linenos">1741</span></a><span class="sd"> &#39;JOIN x USING (foo, bla)&#39;</span>
-</span><span id="Join.using-1742"><a href="#Join.using-1742"><span class="linenos">1742</span></a>
-</span><span id="Join.using-1743"><a href="#Join.using-1743"><span class="linenos">1743</span></a><span class="sd"> Args:</span>
-</span><span id="Join.using-1744"><a href="#Join.using-1744"><span class="linenos">1744</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Join.using-1745"><a href="#Join.using-1745"><span class="linenos">1745</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Join.using-1746"><a href="#Join.using-1746"><span class="linenos">1746</span></a><span class="sd"> append: if `True`, concatenate the new expressions to the existing &quot;using&quot; list.</span>
-</span><span id="Join.using-1747"><a href="#Join.using-1747"><span class="linenos">1747</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Join.using-1748"><a href="#Join.using-1748"><span class="linenos">1748</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Join.using-1749"><a href="#Join.using-1749"><span class="linenos">1749</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Join.using-1750"><a href="#Join.using-1750"><span class="linenos">1750</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Join.using-1751"><a href="#Join.using-1751"><span class="linenos">1751</span></a>
-</span><span id="Join.using-1752"><a href="#Join.using-1752"><span class="linenos">1752</span></a><span class="sd"> Returns:</span>
-</span><span id="Join.using-1753"><a href="#Join.using-1753"><span class="linenos">1753</span></a><span class="sd"> The modified Join expression.</span>
-</span><span id="Join.using-1754"><a href="#Join.using-1754"><span class="linenos">1754</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Join.using-1755"><a href="#Join.using-1755"><span class="linenos">1755</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Join.using-1756"><a href="#Join.using-1756"><span class="linenos">1756</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Join.using-1757"><a href="#Join.using-1757"><span class="linenos">1757</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Join.using-1758"><a href="#Join.using-1758"><span class="linenos">1758</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
-</span><span id="Join.using-1759"><a href="#Join.using-1759"><span class="linenos">1759</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Join.using-1760"><a href="#Join.using-1760"><span class="linenos">1760</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Join.using-1761"><a href="#Join.using-1761"><span class="linenos">1761</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Join.using-1762"><a href="#Join.using-1762"><span class="linenos">1762</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Join.using-1763"><a href="#Join.using-1763"><span class="linenos">1763</span></a> <span class="p">)</span>
-</span><span id="Join.using-1764"><a href="#Join.using-1764"><span class="linenos">1764</span></a>
-</span><span id="Join.using-1765"><a href="#Join.using-1765"><span class="linenos">1765</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
-</span><span id="Join.using-1766"><a href="#Join.using-1766"><span class="linenos">1766</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="Join.using-1767"><a href="#Join.using-1767"><span class="linenos">1767</span></a>
-</span><span id="Join.using-1768"><a href="#Join.using-1768"><span class="linenos">1768</span></a> <span class="k">return</span> <span class="n">join</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Join.using-1735"><a href="#Join.using-1735"><span class="linenos">1735</span></a> <span class="k">def</span> <span class="nf">using</span><span class="p">(</span>
+</span><span id="Join.using-1736"><a href="#Join.using-1736"><span class="linenos">1736</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Join.using-1737"><a href="#Join.using-1737"><span class="linenos">1737</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Join.using-1738"><a href="#Join.using-1738"><span class="linenos">1738</span></a> <span class="n">append</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="Join.using-1739"><a href="#Join.using-1739"><span class="linenos">1739</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="Join.using-1740"><a href="#Join.using-1740"><span class="linenos">1740</span></a> <span class="n">copy</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="Join.using-1741"><a href="#Join.using-1741"><span class="linenos">1741</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join.using-1742"><a href="#Join.using-1742"><span class="linenos">1742</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Join</span><span class="p">:</span>
+</span><span id="Join.using-1743"><a href="#Join.using-1743"><span class="linenos">1743</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Join.using-1744"><a href="#Join.using-1744"><span class="linenos">1744</span></a><span class="sd"> Append to or set the USING expressions.</span>
+</span><span id="Join.using-1745"><a href="#Join.using-1745"><span class="linenos">1745</span></a>
+</span><span id="Join.using-1746"><a href="#Join.using-1746"><span class="linenos">1746</span></a><span class="sd"> Example:</span>
+</span><span id="Join.using-1747"><a href="#Join.using-1747"><span class="linenos">1747</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="Join.using-1748"><a href="#Join.using-1748"><span class="linenos">1748</span></a><span class="sd"> &gt;&gt;&gt; sqlglot.parse_one(&quot;JOIN x&quot;, into=Join).using(&quot;foo&quot;, &quot;bla&quot;).sql()</span>
+</span><span id="Join.using-1749"><a href="#Join.using-1749"><span class="linenos">1749</span></a><span class="sd"> &#39;JOIN x USING (foo, bla)&#39;</span>
+</span><span id="Join.using-1750"><a href="#Join.using-1750"><span class="linenos">1750</span></a>
+</span><span id="Join.using-1751"><a href="#Join.using-1751"><span class="linenos">1751</span></a><span class="sd"> Args:</span>
+</span><span id="Join.using-1752"><a href="#Join.using-1752"><span class="linenos">1752</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Join.using-1753"><a href="#Join.using-1753"><span class="linenos">1753</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Join.using-1754"><a href="#Join.using-1754"><span class="linenos">1754</span></a><span class="sd"> append: if `True`, concatenate the new expressions to the existing &quot;using&quot; list.</span>
+</span><span id="Join.using-1755"><a href="#Join.using-1755"><span class="linenos">1755</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Join.using-1756"><a href="#Join.using-1756"><span class="linenos">1756</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Join.using-1757"><a href="#Join.using-1757"><span class="linenos">1757</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Join.using-1758"><a href="#Join.using-1758"><span class="linenos">1758</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Join.using-1759"><a href="#Join.using-1759"><span class="linenos">1759</span></a>
+</span><span id="Join.using-1760"><a href="#Join.using-1760"><span class="linenos">1760</span></a><span class="sd"> Returns:</span>
+</span><span id="Join.using-1761"><a href="#Join.using-1761"><span class="linenos">1761</span></a><span class="sd"> The modified Join expression.</span>
+</span><span id="Join.using-1762"><a href="#Join.using-1762"><span class="linenos">1762</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Join.using-1763"><a href="#Join.using-1763"><span class="linenos">1763</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Join.using-1764"><a href="#Join.using-1764"><span class="linenos">1764</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Join.using-1765"><a href="#Join.using-1765"><span class="linenos">1765</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Join.using-1766"><a href="#Join.using-1766"><span class="linenos">1766</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
+</span><span id="Join.using-1767"><a href="#Join.using-1767"><span class="linenos">1767</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Join.using-1768"><a href="#Join.using-1768"><span class="linenos">1768</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Join.using-1769"><a href="#Join.using-1769"><span class="linenos">1769</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Join.using-1770"><a href="#Join.using-1770"><span class="linenos">1770</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Join.using-1771"><a href="#Join.using-1771"><span class="linenos">1771</span></a> <span class="p">)</span>
+</span><span id="Join.using-1772"><a href="#Join.using-1772"><span class="linenos">1772</span></a>
+</span><span id="Join.using-1773"><a href="#Join.using-1773"><span class="linenos">1773</span></a> <span class="k">if</span> <span class="n">join</span><span class="o">.</span><span class="n">kind</span> <span class="o">==</span> <span class="s2">&quot;CROSS&quot;</span><span class="p">:</span>
+</span><span id="Join.using-1774"><a href="#Join.using-1774"><span class="linenos">1774</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="Join.using-1775"><a href="#Join.using-1775"><span class="linenos">1775</span></a>
+</span><span id="Join.using-1776"><a href="#Join.using-1776"><span class="linenos">1776</span></a> <span class="k">return</span> <span class="n">join</span>
</span></pre></div>
@@ -18446,11 +23596,28 @@ Otherwise, this resets the expression.</li>
</div>
+ <div id="Join.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;join&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Join.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Join.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Join.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Join.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Join.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Join.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Join.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Join.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Join.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Join.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18460,7 +23627,10 @@ Otherwise, this resets the expression.</li>
<dd id="Join.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Join.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Join.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Join.name" class="variable"><a href="#Expression.name">name</a></dd>
<dd id="Join.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Join.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Join.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Join.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Join.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Join.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18504,18 +23674,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Lateral"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Lateral-1771"><a href="#Lateral-1771"><span class="linenos">1771</span></a><span class="k">class</span> <span class="nc">Lateral</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
-</span><span id="Lateral-1772"><a href="#Lateral-1772"><span class="linenos">1772</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;view&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;outer&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Lateral-1779"><a href="#Lateral-1779"><span class="linenos">1779</span></a><span class="k">class</span> <span class="nc">Lateral</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
+</span><span id="Lateral-1780"><a href="#Lateral-1780"><span class="linenos">1780</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;view&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;outer&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Lateral.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;view&#39;: False, &#39;outer&#39;: False, &#39;alias&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lateral.arg_types"></a>
+
+
+
+ </div>
+ <div id="Lateral.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lateral&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lateral.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Lateral.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Lateral.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Lateral.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Lateral.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Lateral.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Lateral.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Lateral.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Lateral.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Lateral.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18525,7 +23724,11 @@ Otherwise, this resets the expression.</li>
<dd id="Lateral.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Lateral.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Lateral.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Lateral.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Lateral.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Lateral.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Lateral.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Lateral.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Lateral.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Lateral.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Lateral.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18555,6 +23758,15 @@ Otherwise, this resets the expression.</li>
<dd id="Lateral.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#UDTF">UDTF</a></dt>
+ <dd id="Lateral.selects" class="variable"><a href="#UDTF.selects">selects</a></dd>
+
+ </div>
+ <div><dt><a href="#DerivedTable">DerivedTable</a></dt>
+ <dd id="Lateral.alias_column_names" class="variable"><a href="#DerivedTable.alias_column_names">alias_column_names</a></dd>
+ <dd id="Lateral.named_selects" class="variable"><a href="#DerivedTable.named_selects">named_selects</a></dd>
+
+ </div>
<div><dt><a href="#Unionable">Unionable</a></dt>
<dd id="Lateral.union" class="function"><a href="#Unionable.union">union</a></dd>
<dd id="Lateral.intersect" class="function"><a href="#Unionable.intersect">intersect</a></dd>
@@ -18575,27 +23787,57 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#MatchRecognize"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="MatchRecognize-1775"><a href="#MatchRecognize-1775"><span class="linenos">1775</span></a><span class="k">class</span> <span class="nc">MatchRecognize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="MatchRecognize-1776"><a href="#MatchRecognize-1776"><span class="linenos">1776</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="MatchRecognize-1777"><a href="#MatchRecognize-1777"><span class="linenos">1777</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1778"><a href="#MatchRecognize-1778"><span class="linenos">1778</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1779"><a href="#MatchRecognize-1779"><span class="linenos">1779</span></a> <span class="s2">&quot;measures&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1780"><a href="#MatchRecognize-1780"><span class="linenos">1780</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1781"><a href="#MatchRecognize-1781"><span class="linenos">1781</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1782"><a href="#MatchRecognize-1782"><span class="linenos">1782</span></a> <span class="s2">&quot;pattern&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1783"><a href="#MatchRecognize-1783"><span class="linenos">1783</span></a> <span class="s2">&quot;define&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1784"><a href="#MatchRecognize-1784"><span class="linenos">1784</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="MatchRecognize-1785"><a href="#MatchRecognize-1785"><span class="linenos">1785</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="MatchRecognize-1783"><a href="#MatchRecognize-1783"><span class="linenos">1783</span></a><span class="k">class</span> <span class="nc">MatchRecognize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="MatchRecognize-1784"><a href="#MatchRecognize-1784"><span class="linenos">1784</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="MatchRecognize-1785"><a href="#MatchRecognize-1785"><span class="linenos">1785</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1786"><a href="#MatchRecognize-1786"><span class="linenos">1786</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1787"><a href="#MatchRecognize-1787"><span class="linenos">1787</span></a> <span class="s2">&quot;measures&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1788"><a href="#MatchRecognize-1788"><span class="linenos">1788</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1789"><a href="#MatchRecognize-1789"><span class="linenos">1789</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1790"><a href="#MatchRecognize-1790"><span class="linenos">1790</span></a> <span class="s2">&quot;pattern&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1791"><a href="#MatchRecognize-1791"><span class="linenos">1791</span></a> <span class="s2">&quot;define&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1792"><a href="#MatchRecognize-1792"><span class="linenos">1792</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="MatchRecognize-1793"><a href="#MatchRecognize-1793"><span class="linenos">1793</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="MatchRecognize.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="MatchRecognize.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="MatchRecognize.arg_types-view-value"></label><span class="default_value">{&#39;partition_by&#39;: False, &#39;order&#39;: False, &#39;measures&#39;: False, &#39;rows&#39;: False, &#39;after&#39;: False, &#39;pattern&#39;: False, &#39;define&#39;: False, &#39;alias&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#MatchRecognize.arg_types"></a>
+
+
+
+ </div>
+ <div id="MatchRecognize.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;matchrecognize&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MatchRecognize.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MatchRecognize.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MatchRecognize.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MatchRecognize.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MatchRecognize.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MatchRecognize.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MatchRecognize.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MatchRecognize.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MatchRecognize.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MatchRecognize.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18605,7 +23847,11 @@ Otherwise, this resets the expression.</li>
<dd id="MatchRecognize.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MatchRecognize.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MatchRecognize.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MatchRecognize.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MatchRecognize.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MatchRecognize.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MatchRecognize.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MatchRecognize.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MatchRecognize.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MatchRecognize.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MatchRecognize.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18649,18 +23895,36 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Final"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Final-1790"><a href="#Final-1790"><span class="linenos">1790</span></a><span class="k">class</span> <span class="nc">Final</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Final-1791"><a href="#Final-1791"><span class="linenos">1791</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Final-1798"><a href="#Final-1798"><span class="linenos">1798</span></a><span class="k">class</span> <span class="nc">Final</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Final-1799"><a href="#Final-1799"><span class="linenos">1799</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Final.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;final&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Final.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Final.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Final.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Final.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Final.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Final.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Final.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Final.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Final.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Final.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Final.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18670,7 +23934,11 @@ Otherwise, this resets the expression.</li>
<dd id="Final.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Final.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Final.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Final.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Final.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Final.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Final.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Final.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Final.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Final.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Final.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18714,18 +23982,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Offset"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Offset-1794"><a href="#Offset-1794"><span class="linenos">1794</span></a><span class="k">class</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Offset-1795"><a href="#Offset-1795"><span class="linenos">1795</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Offset-1802"><a href="#Offset-1802"><span class="linenos">1802</span></a><span class="k">class</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Offset-1803"><a href="#Offset-1803"><span class="linenos">1803</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Offset.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Offset.arg_types"></a>
+
+
+
+ </div>
+ <div id="Offset.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;offset&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Offset.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Offset.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Offset.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Offset.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Offset.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Offset.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Offset.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Offset.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Offset.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Offset.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18735,7 +24032,11 @@ Otherwise, this resets the expression.</li>
<dd id="Offset.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Offset.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Offset.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Offset.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Offset.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Offset.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Offset.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Offset.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Offset.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Offset.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Offset.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18779,18 +24080,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Order"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Order-1798"><a href="#Order-1798"><span class="linenos">1798</span></a><span class="k">class</span> <span class="nc">Order</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Order-1799"><a href="#Order-1799"><span class="linenos">1799</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Order-1806"><a href="#Order-1806"><span class="linenos">1806</span></a><span class="k">class</span> <span class="nc">Order</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Order-1807"><a href="#Order-1807"><span class="linenos">1807</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Order.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Order.arg_types"></a>
+
+
+
+ </div>
+ <div id="Order.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;order&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Order.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Order.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Order.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Order.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Order.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Order.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Order.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Order.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Order.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Order.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18800,7 +24130,11 @@ Otherwise, this resets the expression.</li>
<dd id="Order.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Order.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Order.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Order.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Order.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Order.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Order.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Order.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Order.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Order.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Order.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18844,18 +24178,35 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Cluster"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Cluster-1804"><a href="#Cluster-1804"><span class="linenos">1804</span></a><span class="k">class</span> <span class="nc">Cluster</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
-</span><span id="Cluster-1805"><a href="#Cluster-1805"><span class="linenos">1805</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Cluster-1812"><a href="#Cluster-1812"><span class="linenos">1812</span></a><span class="k">class</span> <span class="nc">Cluster</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
+</span><span id="Cluster-1813"><a href="#Cluster-1813"><span class="linenos">1813</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Cluster.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;cluster&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Cluster.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Cluster.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Cluster.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Cluster.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Cluster.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Cluster.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Cluster.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Cluster.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Cluster.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Cluster.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18865,7 +24216,11 @@ Otherwise, this resets the expression.</li>
<dd id="Cluster.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Cluster.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Cluster.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Cluster.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Cluster.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Cluster.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Cluster.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Cluster.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Cluster.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Cluster.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Cluster.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18895,6 +24250,10 @@ Otherwise, this resets the expression.</li>
<dd id="Cluster.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Order">Order</a></dt>
+ <dd id="Cluster.arg_types" class="variable"><a href="#Order.arg_types">arg_types</a></dd>
+
+ </div>
</dl>
</div>
</section>
@@ -18909,18 +24268,35 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Distribute"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Distribute-1808"><a href="#Distribute-1808"><span class="linenos">1808</span></a><span class="k">class</span> <span class="nc">Distribute</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
-</span><span id="Distribute-1809"><a href="#Distribute-1809"><span class="linenos">1809</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Distribute-1816"><a href="#Distribute-1816"><span class="linenos">1816</span></a><span class="k">class</span> <span class="nc">Distribute</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
+</span><span id="Distribute-1817"><a href="#Distribute-1817"><span class="linenos">1817</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Distribute.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;distribute&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Distribute.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Distribute.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Distribute.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Distribute.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Distribute.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Distribute.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Distribute.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Distribute.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Distribute.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Distribute.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18930,7 +24306,11 @@ Otherwise, this resets the expression.</li>
<dd id="Distribute.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Distribute.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Distribute.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Distribute.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Distribute.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Distribute.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Distribute.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Distribute.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Distribute.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Distribute.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Distribute.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -18960,6 +24340,10 @@ Otherwise, this resets the expression.</li>
<dd id="Distribute.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Order">Order</a></dt>
+ <dd id="Distribute.arg_types" class="variable"><a href="#Order.arg_types">arg_types</a></dd>
+
+ </div>
</dl>
</div>
</section>
@@ -18974,18 +24358,35 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Sort"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Sort-1812"><a href="#Sort-1812"><span class="linenos">1812</span></a><span class="k">class</span> <span class="nc">Sort</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
-</span><span id="Sort-1813"><a href="#Sort-1813"><span class="linenos">1813</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Sort-1820"><a href="#Sort-1820"><span class="linenos">1820</span></a><span class="k">class</span> <span class="nc">Sort</span><span class="p">(</span><span class="n">Order</span><span class="p">):</span>
+</span><span id="Sort-1821"><a href="#Sort-1821"><span class="linenos">1821</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Sort.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sort&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Sort.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Sort.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Sort.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Sort.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Sort.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Sort.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Sort.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Sort.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Sort.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Sort.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -18995,7 +24396,11 @@ Otherwise, this resets the expression.</li>
<dd id="Sort.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Sort.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Sort.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Sort.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Sort.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Sort.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Sort.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Sort.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Sort.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Sort.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Sort.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19025,6 +24430,10 @@ Otherwise, this resets the expression.</li>
<dd id="Sort.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Order">Order</a></dt>
+ <dd id="Sort.arg_types" class="variable"><a href="#Order.arg_types">arg_types</a></dd>
+
+ </div>
</dl>
</div>
</section>
@@ -19039,18 +24448,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Ordered"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Ordered-1816"><a href="#Ordered-1816"><span class="linenos">1816</span></a><span class="k">class</span> <span class="nc">Ordered</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Ordered-1817"><a href="#Ordered-1817"><span class="linenos">1817</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;desc&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;nulls_first&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Ordered-1824"><a href="#Ordered-1824"><span class="linenos">1824</span></a><span class="k">class</span> <span class="nc">Ordered</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Ordered-1825"><a href="#Ordered-1825"><span class="linenos">1825</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;desc&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;nulls_first&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Ordered.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;desc&#39;: True, &#39;nulls_first&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Ordered.arg_types"></a>
+
+
+
+ </div>
+ <div id="Ordered.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ordered&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Ordered.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Ordered.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Ordered.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Ordered.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Ordered.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Ordered.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Ordered.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Ordered.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Ordered.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Ordered.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19060,7 +24498,11 @@ Otherwise, this resets the expression.</li>
<dd id="Ordered.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Ordered.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Ordered.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Ordered.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Ordered.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Ordered.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Ordered.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Ordered.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Ordered.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Ordered.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Ordered.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19104,18 +24546,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Property"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Property-1820"><a href="#Property-1820"><span class="linenos">1820</span></a><span class="k">class</span> <span class="nc">Property</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Property-1821"><a href="#Property-1821"><span class="linenos">1821</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Property-1828"><a href="#Property-1828"><span class="linenos">1828</span></a><span class="k">class</span> <span class="nc">Property</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Property-1829"><a href="#Property-1829"><span class="linenos">1829</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Property.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;value&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Property.arg_types"></a>
+
+
+
+ </div>
+ <div id="Property.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;property&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Property.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Property.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Property.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Property.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Property.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Property.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Property.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Property.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Property.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Property.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19125,7 +24596,11 @@ Otherwise, this resets the expression.</li>
<dd id="Property.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Property.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Property.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Property.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Property.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Property.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Property.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Property.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Property.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Property.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Property.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19169,18 +24644,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#AlgorithmProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AlgorithmProperty-1824"><a href="#AlgorithmProperty-1824"><span class="linenos">1824</span></a><span class="k">class</span> <span class="nc">AlgorithmProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="AlgorithmProperty-1825"><a href="#AlgorithmProperty-1825"><span class="linenos">1825</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AlgorithmProperty-1832"><a href="#AlgorithmProperty-1832"><span class="linenos">1832</span></a><span class="k">class</span> <span class="nc">AlgorithmProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="AlgorithmProperty-1833"><a href="#AlgorithmProperty-1833"><span class="linenos">1833</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="AlgorithmProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#AlgorithmProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="AlgorithmProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;algorithmproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AlgorithmProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AlgorithmProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AlgorithmProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AlgorithmProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AlgorithmProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AlgorithmProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AlgorithmProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AlgorithmProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AlgorithmProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AlgorithmProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19190,7 +24694,11 @@ Otherwise, this resets the expression.</li>
<dd id="AlgorithmProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AlgorithmProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AlgorithmProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AlgorithmProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AlgorithmProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AlgorithmProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AlgorithmProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AlgorithmProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AlgorithmProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AlgorithmProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AlgorithmProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19234,18 +24742,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#AutoIncrementProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AutoIncrementProperty-1828"><a href="#AutoIncrementProperty-1828"><span class="linenos">1828</span></a><span class="k">class</span> <span class="nc">AutoIncrementProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="AutoIncrementProperty-1829"><a href="#AutoIncrementProperty-1829"><span class="linenos">1829</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AutoIncrementProperty-1836"><a href="#AutoIncrementProperty-1836"><span class="linenos">1836</span></a><span class="k">class</span> <span class="nc">AutoIncrementProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="AutoIncrementProperty-1837"><a href="#AutoIncrementProperty-1837"><span class="linenos">1837</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="AutoIncrementProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#AutoIncrementProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="AutoIncrementProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;autoincrementproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AutoIncrementProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AutoIncrementProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AutoIncrementProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AutoIncrementProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AutoIncrementProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AutoIncrementProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AutoIncrementProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AutoIncrementProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AutoIncrementProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AutoIncrementProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19255,7 +24792,11 @@ Otherwise, this resets the expression.</li>
<dd id="AutoIncrementProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AutoIncrementProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AutoIncrementProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AutoIncrementProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AutoIncrementProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AutoIncrementProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AutoIncrementProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AutoIncrementProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AutoIncrementProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AutoIncrementProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AutoIncrementProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19299,18 +24840,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#BlockCompressionProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BlockCompressionProperty-1832"><a href="#BlockCompressionProperty-1832"><span class="linenos">1832</span></a><span class="k">class</span> <span class="nc">BlockCompressionProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="BlockCompressionProperty-1833"><a href="#BlockCompressionProperty-1833"><span class="linenos">1833</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;autotemp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;always&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;manual&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;never&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BlockCompressionProperty-1840"><a href="#BlockCompressionProperty-1840"><span class="linenos">1840</span></a><span class="k">class</span> <span class="nc">BlockCompressionProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="BlockCompressionProperty-1841"><a href="#BlockCompressionProperty-1841"><span class="linenos">1841</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;autotemp&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;always&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;manual&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;never&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="BlockCompressionProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;autotemp&#39;: False, &#39;always&#39;: False, &#39;default&#39;: True, &#39;manual&#39;: True, &#39;never&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#BlockCompressionProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="BlockCompressionProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;blockcompressionproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BlockCompressionProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BlockCompressionProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BlockCompressionProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BlockCompressionProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BlockCompressionProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BlockCompressionProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BlockCompressionProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BlockCompressionProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BlockCompressionProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BlockCompressionProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19320,7 +24890,11 @@ Otherwise, this resets the expression.</li>
<dd id="BlockCompressionProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BlockCompressionProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BlockCompressionProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BlockCompressionProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BlockCompressionProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BlockCompressionProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BlockCompressionProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BlockCompressionProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BlockCompressionProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BlockCompressionProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BlockCompressionProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19364,18 +24938,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#CharacterSetProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CharacterSetProperty-1836"><a href="#CharacterSetProperty-1836"><span class="linenos">1836</span></a><span class="k">class</span> <span class="nc">CharacterSetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="CharacterSetProperty-1837"><a href="#CharacterSetProperty-1837"><span class="linenos">1837</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CharacterSetProperty-1844"><a href="#CharacterSetProperty-1844"><span class="linenos">1844</span></a><span class="k">class</span> <span class="nc">CharacterSetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="CharacterSetProperty-1845"><a href="#CharacterSetProperty-1845"><span class="linenos">1845</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="CharacterSetProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;default&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CharacterSetProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="CharacterSetProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;charactersetproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CharacterSetProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CharacterSetProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CharacterSetProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CharacterSetProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CharacterSetProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CharacterSetProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CharacterSetProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CharacterSetProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CharacterSetProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CharacterSetProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19385,7 +24988,11 @@ Otherwise, this resets the expression.</li>
<dd id="CharacterSetProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CharacterSetProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CharacterSetProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CharacterSetProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CharacterSetProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CharacterSetProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CharacterSetProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CharacterSetProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CharacterSetProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CharacterSetProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CharacterSetProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19429,18 +25036,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#ChecksumProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ChecksumProperty-1840"><a href="#ChecksumProperty-1840"><span class="linenos">1840</span></a><span class="k">class</span> <span class="nc">ChecksumProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="ChecksumProperty-1841"><a href="#ChecksumProperty-1841"><span class="linenos">1841</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ChecksumProperty-1848"><a href="#ChecksumProperty-1848"><span class="linenos">1848</span></a><span class="k">class</span> <span class="nc">ChecksumProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="ChecksumProperty-1849"><a href="#ChecksumProperty-1849"><span class="linenos">1849</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ChecksumProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;on&#39;: False, &#39;default&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ChecksumProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="ChecksumProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;checksumproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ChecksumProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ChecksumProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ChecksumProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ChecksumProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ChecksumProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ChecksumProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ChecksumProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ChecksumProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ChecksumProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ChecksumProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19450,7 +25086,11 @@ Otherwise, this resets the expression.</li>
<dd id="ChecksumProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ChecksumProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ChecksumProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ChecksumProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ChecksumProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ChecksumProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ChecksumProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ChecksumProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ChecksumProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ChecksumProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ChecksumProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19494,18 +25134,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#CollateProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CollateProperty-1844"><a href="#CollateProperty-1844"><span class="linenos">1844</span></a><span class="k">class</span> <span class="nc">CollateProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="CollateProperty-1845"><a href="#CollateProperty-1845"><span class="linenos">1845</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CollateProperty-1852"><a href="#CollateProperty-1852"><span class="linenos">1852</span></a><span class="k">class</span> <span class="nc">CollateProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="CollateProperty-1853"><a href="#CollateProperty-1853"><span class="linenos">1853</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="CollateProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CollateProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="CollateProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;collateproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CollateProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CollateProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CollateProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CollateProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CollateProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CollateProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CollateProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CollateProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CollateProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CollateProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19515,7 +25184,11 @@ Otherwise, this resets the expression.</li>
<dd id="CollateProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CollateProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CollateProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CollateProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CollateProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CollateProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CollateProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CollateProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CollateProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CollateProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CollateProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19559,18 +25232,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#CopyGrantsProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CopyGrantsProperty-1848"><a href="#CopyGrantsProperty-1848"><span class="linenos">1848</span></a><span class="k">class</span> <span class="nc">CopyGrantsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="CopyGrantsProperty-1849"><a href="#CopyGrantsProperty-1849"><span class="linenos">1849</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CopyGrantsProperty-1856"><a href="#CopyGrantsProperty-1856"><span class="linenos">1856</span></a><span class="k">class</span> <span class="nc">CopyGrantsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="CopyGrantsProperty-1857"><a href="#CopyGrantsProperty-1857"><span class="linenos">1857</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
</span></pre></div>
+ <div id="CopyGrantsProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CopyGrantsProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="CopyGrantsProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;copygrantsproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CopyGrantsProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CopyGrantsProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CopyGrantsProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CopyGrantsProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CopyGrantsProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CopyGrantsProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CopyGrantsProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CopyGrantsProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CopyGrantsProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CopyGrantsProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19580,7 +25282,11 @@ Otherwise, this resets the expression.</li>
<dd id="CopyGrantsProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CopyGrantsProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CopyGrantsProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CopyGrantsProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CopyGrantsProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CopyGrantsProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CopyGrantsProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CopyGrantsProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CopyGrantsProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CopyGrantsProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CopyGrantsProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19624,24 +25330,53 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DataBlocksizeProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DataBlocksizeProperty-1852"><a href="#DataBlocksizeProperty-1852"><span class="linenos">1852</span></a><span class="k">class</span> <span class="nc">DataBlocksizeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DataBlocksizeProperty-1853"><a href="#DataBlocksizeProperty-1853"><span class="linenos">1853</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="DataBlocksizeProperty-1854"><a href="#DataBlocksizeProperty-1854"><span class="linenos">1854</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataBlocksizeProperty-1855"><a href="#DataBlocksizeProperty-1855"><span class="linenos">1855</span></a> <span class="s2">&quot;units&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataBlocksizeProperty-1856"><a href="#DataBlocksizeProperty-1856"><span class="linenos">1856</span></a> <span class="s2">&quot;minimum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataBlocksizeProperty-1857"><a href="#DataBlocksizeProperty-1857"><span class="linenos">1857</span></a> <span class="s2">&quot;maximum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataBlocksizeProperty-1858"><a href="#DataBlocksizeProperty-1858"><span class="linenos">1858</span></a> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataBlocksizeProperty-1859"><a href="#DataBlocksizeProperty-1859"><span class="linenos">1859</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DataBlocksizeProperty-1860"><a href="#DataBlocksizeProperty-1860"><span class="linenos">1860</span></a><span class="k">class</span> <span class="nc">DataBlocksizeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DataBlocksizeProperty-1861"><a href="#DataBlocksizeProperty-1861"><span class="linenos">1861</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="DataBlocksizeProperty-1862"><a href="#DataBlocksizeProperty-1862"><span class="linenos">1862</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataBlocksizeProperty-1863"><a href="#DataBlocksizeProperty-1863"><span class="linenos">1863</span></a> <span class="s2">&quot;units&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataBlocksizeProperty-1864"><a href="#DataBlocksizeProperty-1864"><span class="linenos">1864</span></a> <span class="s2">&quot;minimum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataBlocksizeProperty-1865"><a href="#DataBlocksizeProperty-1865"><span class="linenos">1865</span></a> <span class="s2">&quot;maximum&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataBlocksizeProperty-1866"><a href="#DataBlocksizeProperty-1866"><span class="linenos">1866</span></a> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataBlocksizeProperty-1867"><a href="#DataBlocksizeProperty-1867"><span class="linenos">1867</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="DataBlocksizeProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;size&#39;: False, &#39;units&#39;: False, &#39;minimum&#39;: False, &#39;maximum&#39;: False, &#39;default&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataBlocksizeProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="DataBlocksizeProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datablocksizeproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataBlocksizeProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DataBlocksizeProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DataBlocksizeProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DataBlocksizeProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DataBlocksizeProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DataBlocksizeProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DataBlocksizeProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DataBlocksizeProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DataBlocksizeProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DataBlocksizeProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19651,7 +25386,11 @@ Otherwise, this resets the expression.</li>
<dd id="DataBlocksizeProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DataBlocksizeProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DataBlocksizeProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DataBlocksizeProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DataBlocksizeProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DataBlocksizeProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DataBlocksizeProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DataBlocksizeProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DataBlocksizeProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DataBlocksizeProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DataBlocksizeProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19695,18 +25434,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DefinerProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DefinerProperty-1862"><a href="#DefinerProperty-1862"><span class="linenos">1862</span></a><span class="k">class</span> <span class="nc">DefinerProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DefinerProperty-1863"><a href="#DefinerProperty-1863"><span class="linenos">1863</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DefinerProperty-1870"><a href="#DefinerProperty-1870"><span class="linenos">1870</span></a><span class="k">class</span> <span class="nc">DefinerProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DefinerProperty-1871"><a href="#DefinerProperty-1871"><span class="linenos">1871</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="DefinerProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DefinerProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="DefinerProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;definerproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DefinerProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DefinerProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DefinerProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DefinerProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DefinerProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DefinerProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DefinerProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DefinerProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DefinerProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DefinerProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19716,7 +25484,11 @@ Otherwise, this resets the expression.</li>
<dd id="DefinerProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DefinerProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DefinerProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DefinerProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DefinerProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DefinerProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DefinerProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DefinerProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DefinerProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DefinerProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DefinerProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19760,18 +25532,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DistKeyProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DistKeyProperty-1866"><a href="#DistKeyProperty-1866"><span class="linenos">1866</span></a><span class="k">class</span> <span class="nc">DistKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DistKeyProperty-1867"><a href="#DistKeyProperty-1867"><span class="linenos">1867</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DistKeyProperty-1874"><a href="#DistKeyProperty-1874"><span class="linenos">1874</span></a><span class="k">class</span> <span class="nc">DistKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DistKeyProperty-1875"><a href="#DistKeyProperty-1875"><span class="linenos">1875</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="DistKeyProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DistKeyProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="DistKeyProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;distkeyproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DistKeyProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DistKeyProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DistKeyProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DistKeyProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DistKeyProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DistKeyProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DistKeyProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DistKeyProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DistKeyProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DistKeyProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19781,7 +25582,11 @@ Otherwise, this resets the expression.</li>
<dd id="DistKeyProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DistKeyProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DistKeyProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DistKeyProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DistKeyProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DistKeyProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DistKeyProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DistKeyProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DistKeyProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DistKeyProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DistKeyProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19825,18 +25630,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DistStyleProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DistStyleProperty-1870"><a href="#DistStyleProperty-1870"><span class="linenos">1870</span></a><span class="k">class</span> <span class="nc">DistStyleProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DistStyleProperty-1871"><a href="#DistStyleProperty-1871"><span class="linenos">1871</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DistStyleProperty-1878"><a href="#DistStyleProperty-1878"><span class="linenos">1878</span></a><span class="k">class</span> <span class="nc">DistStyleProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DistStyleProperty-1879"><a href="#DistStyleProperty-1879"><span class="linenos">1879</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="DistStyleProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DistStyleProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="DistStyleProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;diststyleproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DistStyleProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DistStyleProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DistStyleProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DistStyleProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DistStyleProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DistStyleProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DistStyleProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DistStyleProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DistStyleProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DistStyleProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19846,7 +25680,11 @@ Otherwise, this resets the expression.</li>
<dd id="DistStyleProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DistStyleProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DistStyleProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DistStyleProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DistStyleProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DistStyleProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DistStyleProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DistStyleProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DistStyleProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DistStyleProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DistStyleProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19890,18 +25728,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#EngineProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="EngineProperty-1874"><a href="#EngineProperty-1874"><span class="linenos">1874</span></a><span class="k">class</span> <span class="nc">EngineProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="EngineProperty-1875"><a href="#EngineProperty-1875"><span class="linenos">1875</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="EngineProperty-1882"><a href="#EngineProperty-1882"><span class="linenos">1882</span></a><span class="k">class</span> <span class="nc">EngineProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="EngineProperty-1883"><a href="#EngineProperty-1883"><span class="linenos">1883</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="EngineProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#EngineProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="EngineProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;engineproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#EngineProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="EngineProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="EngineProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="EngineProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="EngineProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="EngineProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="EngineProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="EngineProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="EngineProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="EngineProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19911,7 +25778,11 @@ Otherwise, this resets the expression.</li>
<dd id="EngineProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="EngineProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="EngineProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="EngineProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="EngineProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="EngineProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="EngineProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="EngineProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="EngineProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="EngineProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="EngineProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -19955,18 +25826,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#ToTableProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ToTableProperty-1878"><a href="#ToTableProperty-1878"><span class="linenos">1878</span></a><span class="k">class</span> <span class="nc">ToTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="ToTableProperty-1879"><a href="#ToTableProperty-1879"><span class="linenos">1879</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ToTableProperty-1886"><a href="#ToTableProperty-1886"><span class="linenos">1886</span></a><span class="k">class</span> <span class="nc">ToTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="ToTableProperty-1887"><a href="#ToTableProperty-1887"><span class="linenos">1887</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="ToTableProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ToTableProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="ToTableProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;totableproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ToTableProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ToTableProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ToTableProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ToTableProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ToTableProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ToTableProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ToTableProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ToTableProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ToTableProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ToTableProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -19976,7 +25876,11 @@ Otherwise, this resets the expression.</li>
<dd id="ToTableProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ToTableProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ToTableProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ToTableProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ToTableProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ToTableProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ToTableProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ToTableProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ToTableProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ToTableProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ToTableProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20020,18 +25924,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#ExecuteAsProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ExecuteAsProperty-1882"><a href="#ExecuteAsProperty-1882"><span class="linenos">1882</span></a><span class="k">class</span> <span class="nc">ExecuteAsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="ExecuteAsProperty-1883"><a href="#ExecuteAsProperty-1883"><span class="linenos">1883</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ExecuteAsProperty-1890"><a href="#ExecuteAsProperty-1890"><span class="linenos">1890</span></a><span class="k">class</span> <span class="nc">ExecuteAsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="ExecuteAsProperty-1891"><a href="#ExecuteAsProperty-1891"><span class="linenos">1891</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="ExecuteAsProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ExecuteAsProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="ExecuteAsProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;executeasproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ExecuteAsProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ExecuteAsProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ExecuteAsProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ExecuteAsProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ExecuteAsProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ExecuteAsProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ExecuteAsProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ExecuteAsProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ExecuteAsProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ExecuteAsProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20041,7 +25974,11 @@ Otherwise, this resets the expression.</li>
<dd id="ExecuteAsProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ExecuteAsProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ExecuteAsProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ExecuteAsProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ExecuteAsProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ExecuteAsProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ExecuteAsProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ExecuteAsProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ExecuteAsProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ExecuteAsProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ExecuteAsProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20085,18 +26022,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#ExternalProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ExternalProperty-1886"><a href="#ExternalProperty-1886"><span class="linenos">1886</span></a><span class="k">class</span> <span class="nc">ExternalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="ExternalProperty-1887"><a href="#ExternalProperty-1887"><span class="linenos">1887</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ExternalProperty-1894"><a href="#ExternalProperty-1894"><span class="linenos">1894</span></a><span class="k">class</span> <span class="nc">ExternalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="ExternalProperty-1895"><a href="#ExternalProperty-1895"><span class="linenos">1895</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ExternalProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ExternalProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="ExternalProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;externalproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ExternalProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ExternalProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ExternalProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ExternalProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ExternalProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ExternalProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ExternalProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ExternalProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ExternalProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ExternalProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20106,7 +26072,11 @@ Otherwise, this resets the expression.</li>
<dd id="ExternalProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ExternalProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ExternalProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ExternalProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ExternalProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ExternalProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ExternalProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ExternalProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ExternalProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ExternalProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ExternalProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20150,18 +26120,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#FallbackProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="FallbackProperty-1890"><a href="#FallbackProperty-1890"><span class="linenos">1890</span></a><span class="k">class</span> <span class="nc">FallbackProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="FallbackProperty-1891"><a href="#FallbackProperty-1891"><span class="linenos">1891</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;protection&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="FallbackProperty-1898"><a href="#FallbackProperty-1898"><span class="linenos">1898</span></a><span class="k">class</span> <span class="nc">FallbackProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="FallbackProperty-1899"><a href="#FallbackProperty-1899"><span class="linenos">1899</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;protection&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="FallbackProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;no&#39;: True, &#39;protection&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#FallbackProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="FallbackProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;fallbackproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#FallbackProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="FallbackProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="FallbackProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="FallbackProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="FallbackProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="FallbackProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="FallbackProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="FallbackProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="FallbackProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="FallbackProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20171,7 +26170,11 @@ Otherwise, this resets the expression.</li>
<dd id="FallbackProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="FallbackProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="FallbackProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="FallbackProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="FallbackProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="FallbackProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="FallbackProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="FallbackProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="FallbackProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="FallbackProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="FallbackProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20215,18 +26218,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#FileFormatProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="FileFormatProperty-1894"><a href="#FileFormatProperty-1894"><span class="linenos">1894</span></a><span class="k">class</span> <span class="nc">FileFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="FileFormatProperty-1895"><a href="#FileFormatProperty-1895"><span class="linenos">1895</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="FileFormatProperty-1902"><a href="#FileFormatProperty-1902"><span class="linenos">1902</span></a><span class="k">class</span> <span class="nc">FileFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="FileFormatProperty-1903"><a href="#FileFormatProperty-1903"><span class="linenos">1903</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="FileFormatProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#FileFormatProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="FileFormatProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;fileformatproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#FileFormatProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="FileFormatProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="FileFormatProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="FileFormatProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="FileFormatProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="FileFormatProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="FileFormatProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="FileFormatProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="FileFormatProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="FileFormatProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20236,7 +26268,11 @@ Otherwise, this resets the expression.</li>
<dd id="FileFormatProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="FileFormatProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="FileFormatProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="FileFormatProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="FileFormatProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="FileFormatProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="FileFormatProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="FileFormatProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="FileFormatProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="FileFormatProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="FileFormatProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20280,18 +26316,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#FreespaceProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="FreespaceProperty-1898"><a href="#FreespaceProperty-1898"><span class="linenos">1898</span></a><span class="k">class</span> <span class="nc">FreespaceProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="FreespaceProperty-1899"><a href="#FreespaceProperty-1899"><span class="linenos">1899</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="FreespaceProperty-1906"><a href="#FreespaceProperty-1906"><span class="linenos">1906</span></a><span class="k">class</span> <span class="nc">FreespaceProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="FreespaceProperty-1907"><a href="#FreespaceProperty-1907"><span class="linenos">1907</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="FreespaceProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;percent&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#FreespaceProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="FreespaceProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;freespaceproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#FreespaceProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="FreespaceProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="FreespaceProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="FreespaceProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="FreespaceProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="FreespaceProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="FreespaceProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="FreespaceProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="FreespaceProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="FreespaceProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20301,7 +26366,11 @@ Otherwise, this resets the expression.</li>
<dd id="FreespaceProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="FreespaceProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="FreespaceProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="FreespaceProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="FreespaceProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="FreespaceProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="FreespaceProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="FreespaceProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="FreespaceProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="FreespaceProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="FreespaceProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20345,18 +26414,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#InputOutputFormat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="InputOutputFormat-1902"><a href="#InputOutputFormat-1902"><span class="linenos">1902</span></a><span class="k">class</span> <span class="nc">InputOutputFormat</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="InputOutputFormat-1903"><a href="#InputOutputFormat-1903"><span class="linenos">1903</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;output_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="InputOutputFormat-1910"><a href="#InputOutputFormat-1910"><span class="linenos">1910</span></a><span class="k">class</span> <span class="nc">InputOutputFormat</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="InputOutputFormat-1911"><a href="#InputOutputFormat-1911"><span class="linenos">1911</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;input_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;output_format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="InputOutputFormat.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;input_format&#39;: False, &#39;output_format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#InputOutputFormat.arg_types"></a>
+
+
+
+ </div>
+ <div id="InputOutputFormat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;inputoutputformat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#InputOutputFormat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="InputOutputFormat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="InputOutputFormat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="InputOutputFormat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="InputOutputFormat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="InputOutputFormat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="InputOutputFormat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="InputOutputFormat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="InputOutputFormat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="InputOutputFormat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20366,7 +26464,11 @@ Otherwise, this resets the expression.</li>
<dd id="InputOutputFormat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="InputOutputFormat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="InputOutputFormat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="InputOutputFormat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="InputOutputFormat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="InputOutputFormat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="InputOutputFormat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="InputOutputFormat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="InputOutputFormat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="InputOutputFormat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="InputOutputFormat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20410,24 +26512,53 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#IsolatedLoadingProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="IsolatedLoadingProperty-1906"><a href="#IsolatedLoadingProperty-1906"><span class="linenos">1906</span></a><span class="k">class</span> <span class="nc">IsolatedLoadingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="IsolatedLoadingProperty-1907"><a href="#IsolatedLoadingProperty-1907"><span class="linenos">1907</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="IsolatedLoadingProperty-1908"><a href="#IsolatedLoadingProperty-1908"><span class="linenos">1908</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="IsolatedLoadingProperty-1909"><a href="#IsolatedLoadingProperty-1909"><span class="linenos">1909</span></a> <span class="s2">&quot;concurrent&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="IsolatedLoadingProperty-1910"><a href="#IsolatedLoadingProperty-1910"><span class="linenos">1910</span></a> <span class="s2">&quot;for_all&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="IsolatedLoadingProperty-1911"><a href="#IsolatedLoadingProperty-1911"><span class="linenos">1911</span></a> <span class="s2">&quot;for_insert&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="IsolatedLoadingProperty-1912"><a href="#IsolatedLoadingProperty-1912"><span class="linenos">1912</span></a> <span class="s2">&quot;for_none&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="IsolatedLoadingProperty-1913"><a href="#IsolatedLoadingProperty-1913"><span class="linenos">1913</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="IsolatedLoadingProperty-1914"><a href="#IsolatedLoadingProperty-1914"><span class="linenos">1914</span></a><span class="k">class</span> <span class="nc">IsolatedLoadingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="IsolatedLoadingProperty-1915"><a href="#IsolatedLoadingProperty-1915"><span class="linenos">1915</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="IsolatedLoadingProperty-1916"><a href="#IsolatedLoadingProperty-1916"><span class="linenos">1916</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="IsolatedLoadingProperty-1917"><a href="#IsolatedLoadingProperty-1917"><span class="linenos">1917</span></a> <span class="s2">&quot;concurrent&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="IsolatedLoadingProperty-1918"><a href="#IsolatedLoadingProperty-1918"><span class="linenos">1918</span></a> <span class="s2">&quot;for_all&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="IsolatedLoadingProperty-1919"><a href="#IsolatedLoadingProperty-1919"><span class="linenos">1919</span></a> <span class="s2">&quot;for_insert&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="IsolatedLoadingProperty-1920"><a href="#IsolatedLoadingProperty-1920"><span class="linenos">1920</span></a> <span class="s2">&quot;for_none&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="IsolatedLoadingProperty-1921"><a href="#IsolatedLoadingProperty-1921"><span class="linenos">1921</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="IsolatedLoadingProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;no&#39;: True, &#39;concurrent&#39;: True, &#39;for_all&#39;: True, &#39;for_insert&#39;: True, &#39;for_none&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#IsolatedLoadingProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="IsolatedLoadingProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;isolatedloadingproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#IsolatedLoadingProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="IsolatedLoadingProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="IsolatedLoadingProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="IsolatedLoadingProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="IsolatedLoadingProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="IsolatedLoadingProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="IsolatedLoadingProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="IsolatedLoadingProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="IsolatedLoadingProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="IsolatedLoadingProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20437,7 +26568,11 @@ Otherwise, this resets the expression.</li>
<dd id="IsolatedLoadingProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="IsolatedLoadingProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="IsolatedLoadingProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="IsolatedLoadingProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="IsolatedLoadingProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="IsolatedLoadingProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="IsolatedLoadingProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="IsolatedLoadingProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="IsolatedLoadingProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="IsolatedLoadingProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="IsolatedLoadingProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20481,24 +26616,53 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#JournalProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JournalProperty-1916"><a href="#JournalProperty-1916"><span class="linenos">1916</span></a><span class="k">class</span> <span class="nc">JournalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="JournalProperty-1917"><a href="#JournalProperty-1917"><span class="linenos">1917</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="JournalProperty-1918"><a href="#JournalProperty-1918"><span class="linenos">1918</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JournalProperty-1919"><a href="#JournalProperty-1919"><span class="linenos">1919</span></a> <span class="s2">&quot;dual&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JournalProperty-1920"><a href="#JournalProperty-1920"><span class="linenos">1920</span></a> <span class="s2">&quot;before&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JournalProperty-1921"><a href="#JournalProperty-1921"><span class="linenos">1921</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JournalProperty-1922"><a href="#JournalProperty-1922"><span class="linenos">1922</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JournalProperty-1923"><a href="#JournalProperty-1923"><span class="linenos">1923</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JournalProperty-1924"><a href="#JournalProperty-1924"><span class="linenos">1924</span></a><span class="k">class</span> <span class="nc">JournalProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="JournalProperty-1925"><a href="#JournalProperty-1925"><span class="linenos">1925</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="JournalProperty-1926"><a href="#JournalProperty-1926"><span class="linenos">1926</span></a> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JournalProperty-1927"><a href="#JournalProperty-1927"><span class="linenos">1927</span></a> <span class="s2">&quot;dual&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JournalProperty-1928"><a href="#JournalProperty-1928"><span class="linenos">1928</span></a> <span class="s2">&quot;before&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JournalProperty-1929"><a href="#JournalProperty-1929"><span class="linenos">1929</span></a> <span class="s2">&quot;local&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JournalProperty-1930"><a href="#JournalProperty-1930"><span class="linenos">1930</span></a> <span class="s2">&quot;after&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JournalProperty-1931"><a href="#JournalProperty-1931"><span class="linenos">1931</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="JournalProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;no&#39;: False, &#39;dual&#39;: False, &#39;before&#39;: False, &#39;local&#39;: False, &#39;after&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#JournalProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="JournalProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;journalproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JournalProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JournalProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JournalProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JournalProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JournalProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JournalProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JournalProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JournalProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JournalProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JournalProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20508,7 +26672,11 @@ Otherwise, this resets the expression.</li>
<dd id="JournalProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JournalProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JournalProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JournalProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JournalProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JournalProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JournalProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JournalProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JournalProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JournalProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JournalProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20552,18 +26720,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#LanguageProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LanguageProperty-1926"><a href="#LanguageProperty-1926"><span class="linenos">1926</span></a><span class="k">class</span> <span class="nc">LanguageProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="LanguageProperty-1927"><a href="#LanguageProperty-1927"><span class="linenos">1927</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LanguageProperty-1934"><a href="#LanguageProperty-1934"><span class="linenos">1934</span></a><span class="k">class</span> <span class="nc">LanguageProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="LanguageProperty-1935"><a href="#LanguageProperty-1935"><span class="linenos">1935</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="LanguageProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#LanguageProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="LanguageProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;languageproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LanguageProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LanguageProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LanguageProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LanguageProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LanguageProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LanguageProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LanguageProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LanguageProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LanguageProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LanguageProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20573,7 +26770,11 @@ Otherwise, this resets the expression.</li>
<dd id="LanguageProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LanguageProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LanguageProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LanguageProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LanguageProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LanguageProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LanguageProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LanguageProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LanguageProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LanguageProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LanguageProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20617,18 +26818,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DictProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DictProperty-1930"><a href="#DictProperty-1930"><span class="linenos">1930</span></a><span class="k">class</span> <span class="nc">DictProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DictProperty-1931"><a href="#DictProperty-1931"><span class="linenos">1931</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DictProperty-1938"><a href="#DictProperty-1938"><span class="linenos">1938</span></a><span class="k">class</span> <span class="nc">DictProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DictProperty-1939"><a href="#DictProperty-1939"><span class="linenos">1939</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DictProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: True, &#39;settings&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DictProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="DictProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dictproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DictProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DictProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DictProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DictProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DictProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DictProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DictProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DictProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DictProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DictProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20638,7 +26868,11 @@ Otherwise, this resets the expression.</li>
<dd id="DictProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DictProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DictProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DictProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DictProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DictProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DictProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DictProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DictProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DictProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DictProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20682,18 +26916,35 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DictSubProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DictSubProperty-1934"><a href="#DictSubProperty-1934"><span class="linenos">1934</span></a><span class="k">class</span> <span class="nc">DictSubProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DictSubProperty-1935"><a href="#DictSubProperty-1935"><span class="linenos">1935</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DictSubProperty-1942"><a href="#DictSubProperty-1942"><span class="linenos">1942</span></a><span class="k">class</span> <span class="nc">DictSubProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DictSubProperty-1943"><a href="#DictSubProperty-1943"><span class="linenos">1943</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="DictSubProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dictsubproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DictSubProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DictSubProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DictSubProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DictSubProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DictSubProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DictSubProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DictSubProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DictSubProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DictSubProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DictSubProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20703,7 +26954,11 @@ Otherwise, this resets the expression.</li>
<dd id="DictSubProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DictSubProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DictSubProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DictSubProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DictSubProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DictSubProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DictSubProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DictSubProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DictSubProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DictSubProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DictSubProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20733,6 +26988,10 @@ Otherwise, this resets the expression.</li>
<dd id="DictSubProperty.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Property">Property</a></dt>
+ <dd id="DictSubProperty.arg_types" class="variable"><a href="#Property.arg_types">arg_types</a></dd>
+
+ </div>
</dl>
</div>
</section>
@@ -20747,18 +27006,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#DictRange"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DictRange-1938"><a href="#DictRange-1938"><span class="linenos">1938</span></a><span class="k">class</span> <span class="nc">DictRange</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="DictRange-1939"><a href="#DictRange-1939"><span class="linenos">1939</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;min&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;max&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DictRange-1946"><a href="#DictRange-1946"><span class="linenos">1946</span></a><span class="k">class</span> <span class="nc">DictRange</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="DictRange-1947"><a href="#DictRange-1947"><span class="linenos">1947</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;min&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;max&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="DictRange.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;min&#39;: True, &#39;max&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DictRange.arg_types"></a>
+
+
+
+ </div>
+ <div id="DictRange.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dictrange&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DictRange.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DictRange.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DictRange.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DictRange.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DictRange.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DictRange.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DictRange.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DictRange.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DictRange.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DictRange.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20768,7 +27056,11 @@ Otherwise, this resets the expression.</li>
<dd id="DictRange.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DictRange.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DictRange.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DictRange.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DictRange.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DictRange.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DictRange.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DictRange.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DictRange.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DictRange.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DictRange.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20812,18 +27104,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#OnCluster"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="OnCluster-1944"><a href="#OnCluster-1944"><span class="linenos">1944</span></a><span class="k">class</span> <span class="nc">OnCluster</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="OnCluster-1945"><a href="#OnCluster-1945"><span class="linenos">1945</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="OnCluster-1952"><a href="#OnCluster-1952"><span class="linenos">1952</span></a><span class="k">class</span> <span class="nc">OnCluster</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="OnCluster-1953"><a href="#OnCluster-1953"><span class="linenos">1953</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="OnCluster.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnCluster.arg_types"></a>
+
+
+
+ </div>
+ <div id="OnCluster.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;oncluster&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnCluster.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="OnCluster.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="OnCluster.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="OnCluster.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="OnCluster.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="OnCluster.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="OnCluster.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="OnCluster.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="OnCluster.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="OnCluster.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20833,7 +27154,11 @@ Otherwise, this resets the expression.</li>
<dd id="OnCluster.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="OnCluster.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="OnCluster.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="OnCluster.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="OnCluster.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="OnCluster.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="OnCluster.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="OnCluster.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="OnCluster.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="OnCluster.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="OnCluster.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20877,18 +27202,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#LikeProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LikeProperty-1948"><a href="#LikeProperty-1948"><span class="linenos">1948</span></a><span class="k">class</span> <span class="nc">LikeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="LikeProperty-1949"><a href="#LikeProperty-1949"><span class="linenos">1949</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LikeProperty-1956"><a href="#LikeProperty-1956"><span class="linenos">1956</span></a><span class="k">class</span> <span class="nc">LikeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="LikeProperty-1957"><a href="#LikeProperty-1957"><span class="linenos">1957</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="LikeProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#LikeProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="LikeProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;likeproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LikeProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LikeProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LikeProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LikeProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LikeProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LikeProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LikeProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LikeProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LikeProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LikeProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20898,7 +27252,11 @@ Otherwise, this resets the expression.</li>
<dd id="LikeProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LikeProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LikeProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LikeProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LikeProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LikeProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LikeProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LikeProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LikeProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LikeProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LikeProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -20942,18 +27300,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#LocationProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LocationProperty-1952"><a href="#LocationProperty-1952"><span class="linenos">1952</span></a><span class="k">class</span> <span class="nc">LocationProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="LocationProperty-1953"><a href="#LocationProperty-1953"><span class="linenos">1953</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LocationProperty-1960"><a href="#LocationProperty-1960"><span class="linenos">1960</span></a><span class="k">class</span> <span class="nc">LocationProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="LocationProperty-1961"><a href="#LocationProperty-1961"><span class="linenos">1961</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="LocationProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#LocationProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="LocationProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;locationproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LocationProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LocationProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LocationProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LocationProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LocationProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LocationProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LocationProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LocationProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LocationProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LocationProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -20963,7 +27350,11 @@ Otherwise, this resets the expression.</li>
<dd id="LocationProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LocationProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LocationProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LocationProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LocationProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LocationProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LocationProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LocationProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LocationProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LocationProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LocationProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21007,24 +27398,53 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#LockingProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LockingProperty-1956"><a href="#LockingProperty-1956"><span class="linenos">1956</span></a><span class="k">class</span> <span class="nc">LockingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="LockingProperty-1957"><a href="#LockingProperty-1957"><span class="linenos">1957</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="LockingProperty-1958"><a href="#LockingProperty-1958"><span class="linenos">1958</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LockingProperty-1959"><a href="#LockingProperty-1959"><span class="linenos">1959</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="LockingProperty-1960"><a href="#LockingProperty-1960"><span class="linenos">1960</span></a> <span class="s2">&quot;for_or_in&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="LockingProperty-1961"><a href="#LockingProperty-1961"><span class="linenos">1961</span></a> <span class="s2">&quot;lock_type&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="LockingProperty-1962"><a href="#LockingProperty-1962"><span class="linenos">1962</span></a> <span class="s2">&quot;override&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="LockingProperty-1963"><a href="#LockingProperty-1963"><span class="linenos">1963</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LockingProperty-1964"><a href="#LockingProperty-1964"><span class="linenos">1964</span></a><span class="k">class</span> <span class="nc">LockingProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="LockingProperty-1965"><a href="#LockingProperty-1965"><span class="linenos">1965</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="LockingProperty-1966"><a href="#LockingProperty-1966"><span class="linenos">1966</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LockingProperty-1967"><a href="#LockingProperty-1967"><span class="linenos">1967</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="LockingProperty-1968"><a href="#LockingProperty-1968"><span class="linenos">1968</span></a> <span class="s2">&quot;for_or_in&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="LockingProperty-1969"><a href="#LockingProperty-1969"><span class="linenos">1969</span></a> <span class="s2">&quot;lock_type&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="LockingProperty-1970"><a href="#LockingProperty-1970"><span class="linenos">1970</span></a> <span class="s2">&quot;override&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="LockingProperty-1971"><a href="#LockingProperty-1971"><span class="linenos">1971</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="LockingProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;kind&#39;: True, &#39;for_or_in&#39;: True, &#39;lock_type&#39;: True, &#39;override&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#LockingProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="LockingProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lockingproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LockingProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LockingProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LockingProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LockingProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LockingProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LockingProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LockingProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LockingProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LockingProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LockingProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21034,7 +27454,11 @@ Otherwise, this resets the expression.</li>
<dd id="LockingProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LockingProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LockingProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LockingProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LockingProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LockingProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LockingProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LockingProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LockingProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LockingProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LockingProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21078,18 +27502,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#LogProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LogProperty-1966"><a href="#LogProperty-1966"><span class="linenos">1966</span></a><span class="k">class</span> <span class="nc">LogProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="LogProperty-1967"><a href="#LogProperty-1967"><span class="linenos">1967</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LogProperty-1974"><a href="#LogProperty-1974"><span class="linenos">1974</span></a><span class="k">class</span> <span class="nc">LogProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="LogProperty-1975"><a href="#LogProperty-1975"><span class="linenos">1975</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="LogProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;no&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#LogProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="LogProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;logproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LogProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LogProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LogProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LogProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LogProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LogProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LogProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LogProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LogProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LogProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21099,7 +27552,11 @@ Otherwise, this resets the expression.</li>
<dd id="LogProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LogProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LogProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LogProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LogProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LogProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LogProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LogProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LogProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LogProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LogProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21143,18 +27600,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#MaterializedProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="MaterializedProperty-1970"><a href="#MaterializedProperty-1970"><span class="linenos">1970</span></a><span class="k">class</span> <span class="nc">MaterializedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="MaterializedProperty-1971"><a href="#MaterializedProperty-1971"><span class="linenos">1971</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="MaterializedProperty-1978"><a href="#MaterializedProperty-1978"><span class="linenos">1978</span></a><span class="k">class</span> <span class="nc">MaterializedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="MaterializedProperty-1979"><a href="#MaterializedProperty-1979"><span class="linenos">1979</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="MaterializedProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#MaterializedProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="MaterializedProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;materializedproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MaterializedProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MaterializedProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MaterializedProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MaterializedProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MaterializedProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MaterializedProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MaterializedProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MaterializedProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MaterializedProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MaterializedProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21164,7 +27650,11 @@ Otherwise, this resets the expression.</li>
<dd id="MaterializedProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MaterializedProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MaterializedProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MaterializedProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MaterializedProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MaterializedProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MaterializedProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MaterializedProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MaterializedProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MaterializedProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MaterializedProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21208,18 +27698,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#MergeBlockRatioProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="MergeBlockRatioProperty-1974"><a href="#MergeBlockRatioProperty-1974"><span class="linenos">1974</span></a><span class="k">class</span> <span class="nc">MergeBlockRatioProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="MergeBlockRatioProperty-1975"><a href="#MergeBlockRatioProperty-1975"><span class="linenos">1975</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="MergeBlockRatioProperty-1982"><a href="#MergeBlockRatioProperty-1982"><span class="linenos">1982</span></a><span class="k">class</span> <span class="nc">MergeBlockRatioProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="MergeBlockRatioProperty-1983"><a href="#MergeBlockRatioProperty-1983"><span class="linenos">1983</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="MergeBlockRatioProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;no&#39;: False, &#39;default&#39;: False, &#39;percent&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#MergeBlockRatioProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="MergeBlockRatioProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;mergeblockratioproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MergeBlockRatioProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MergeBlockRatioProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MergeBlockRatioProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MergeBlockRatioProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MergeBlockRatioProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MergeBlockRatioProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MergeBlockRatioProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MergeBlockRatioProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MergeBlockRatioProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MergeBlockRatioProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21229,7 +27748,11 @@ Otherwise, this resets the expression.</li>
<dd id="MergeBlockRatioProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MergeBlockRatioProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MergeBlockRatioProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MergeBlockRatioProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MergeBlockRatioProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MergeBlockRatioProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MergeBlockRatioProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MergeBlockRatioProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MergeBlockRatioProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MergeBlockRatioProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MergeBlockRatioProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21273,18 +27796,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#NoPrimaryIndexProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="NoPrimaryIndexProperty-1978"><a href="#NoPrimaryIndexProperty-1978"><span class="linenos">1978</span></a><span class="k">class</span> <span class="nc">NoPrimaryIndexProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="NoPrimaryIndexProperty-1979"><a href="#NoPrimaryIndexProperty-1979"><span class="linenos">1979</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="NoPrimaryIndexProperty-1986"><a href="#NoPrimaryIndexProperty-1986"><span class="linenos">1986</span></a><span class="k">class</span> <span class="nc">NoPrimaryIndexProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="NoPrimaryIndexProperty-1987"><a href="#NoPrimaryIndexProperty-1987"><span class="linenos">1987</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
</span></pre></div>
+ <div id="NoPrimaryIndexProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{}</span>
+
+
+ </div>
+ <a class="headerlink" href="#NoPrimaryIndexProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="NoPrimaryIndexProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;noprimaryindexproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NoPrimaryIndexProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NoPrimaryIndexProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NoPrimaryIndexProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NoPrimaryIndexProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NoPrimaryIndexProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NoPrimaryIndexProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NoPrimaryIndexProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NoPrimaryIndexProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NoPrimaryIndexProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NoPrimaryIndexProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21294,7 +27846,11 @@ Otherwise, this resets the expression.</li>
<dd id="NoPrimaryIndexProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NoPrimaryIndexProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NoPrimaryIndexProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NoPrimaryIndexProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NoPrimaryIndexProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NoPrimaryIndexProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NoPrimaryIndexProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NoPrimaryIndexProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NoPrimaryIndexProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NoPrimaryIndexProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NoPrimaryIndexProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21338,18 +27894,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#OnCommitProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="OnCommitProperty-1982"><a href="#OnCommitProperty-1982"><span class="linenos">1982</span></a><span class="k">class</span> <span class="nc">OnCommitProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="OnCommitProperty-1983"><a href="#OnCommitProperty-1983"><span class="linenos">1983</span></a> <span class="n">arg_type</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="OnCommitProperty-1990"><a href="#OnCommitProperty-1990"><span class="linenos">1990</span></a><span class="k">class</span> <span class="nc">OnCommitProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="OnCommitProperty-1991"><a href="#OnCommitProperty-1991"><span class="linenos">1991</span></a> <span class="n">arg_type</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;delete&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="OnCommitProperty.arg_type" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_type</span> =
+<span class="default_value">{&#39;delete&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnCommitProperty.arg_type"></a>
+
+
+
+ </div>
+ <div id="OnCommitProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;oncommitproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#OnCommitProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="OnCommitProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="OnCommitProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="OnCommitProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="OnCommitProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="OnCommitProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="OnCommitProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="OnCommitProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="OnCommitProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="OnCommitProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21359,7 +27944,11 @@ Otherwise, this resets the expression.</li>
<dd id="OnCommitProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="OnCommitProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="OnCommitProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="OnCommitProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="OnCommitProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="OnCommitProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="OnCommitProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="OnCommitProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="OnCommitProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="OnCommitProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="OnCommitProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21389,6 +27978,10 @@ Otherwise, this resets the expression.</li>
<dd id="OnCommitProperty.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Property">Property</a></dt>
+ <dd id="OnCommitProperty.arg_types" class="variable"><a href="#Property.arg_types">arg_types</a></dd>
+
+ </div>
</dl>
</div>
</section>
@@ -21403,18 +27996,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#PartitionedByProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="PartitionedByProperty-1986"><a href="#PartitionedByProperty-1986"><span class="linenos">1986</span></a><span class="k">class</span> <span class="nc">PartitionedByProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="PartitionedByProperty-1987"><a href="#PartitionedByProperty-1987"><span class="linenos">1987</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="PartitionedByProperty-1994"><a href="#PartitionedByProperty-1994"><span class="linenos">1994</span></a><span class="k">class</span> <span class="nc">PartitionedByProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="PartitionedByProperty-1995"><a href="#PartitionedByProperty-1995"><span class="linenos">1995</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="PartitionedByProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#PartitionedByProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="PartitionedByProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;partitionedbyproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PartitionedByProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PartitionedByProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PartitionedByProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PartitionedByProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PartitionedByProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PartitionedByProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PartitionedByProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PartitionedByProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PartitionedByProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PartitionedByProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21424,7 +28046,11 @@ Otherwise, this resets the expression.</li>
<dd id="PartitionedByProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PartitionedByProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PartitionedByProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PartitionedByProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PartitionedByProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PartitionedByProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PartitionedByProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PartitionedByProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PartitionedByProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PartitionedByProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PartitionedByProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21468,18 +28094,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#ReturnsProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ReturnsProperty-1990"><a href="#ReturnsProperty-1990"><span class="linenos">1990</span></a><span class="k">class</span> <span class="nc">ReturnsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="ReturnsProperty-1991"><a href="#ReturnsProperty-1991"><span class="linenos">1991</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ReturnsProperty-1998"><a href="#ReturnsProperty-1998"><span class="linenos">1998</span></a><span class="k">class</span> <span class="nc">ReturnsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="ReturnsProperty-1999"><a href="#ReturnsProperty-1999"><span class="linenos">1999</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;is_table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;table&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ReturnsProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;is_table&#39;: False, &#39;table&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ReturnsProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="ReturnsProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;returnsproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ReturnsProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ReturnsProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ReturnsProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ReturnsProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ReturnsProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ReturnsProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ReturnsProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ReturnsProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ReturnsProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ReturnsProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21489,7 +28144,11 @@ Otherwise, this resets the expression.</li>
<dd id="ReturnsProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ReturnsProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ReturnsProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ReturnsProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ReturnsProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ReturnsProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ReturnsProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ReturnsProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ReturnsProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ReturnsProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ReturnsProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21533,18 +28192,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#RowFormatProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RowFormatProperty-1994"><a href="#RowFormatProperty-1994"><span class="linenos">1994</span></a><span class="k">class</span> <span class="nc">RowFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="RowFormatProperty-1995"><a href="#RowFormatProperty-1995"><span class="linenos">1995</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RowFormatProperty-2002"><a href="#RowFormatProperty-2002"><span class="linenos">2002</span></a><span class="k">class</span> <span class="nc">RowFormatProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="RowFormatProperty-2003"><a href="#RowFormatProperty-2003"><span class="linenos">2003</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="RowFormatProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowFormatProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="RowFormatProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rowformatproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowFormatProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RowFormatProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RowFormatProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RowFormatProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RowFormatProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RowFormatProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RowFormatProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RowFormatProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RowFormatProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RowFormatProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21554,7 +28242,11 @@ Otherwise, this resets the expression.</li>
<dd id="RowFormatProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RowFormatProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RowFormatProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RowFormatProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RowFormatProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RowFormatProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RowFormatProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RowFormatProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RowFormatProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RowFormatProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RowFormatProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21598,27 +28290,57 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#RowFormatDelimitedProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RowFormatDelimitedProperty-1998"><a href="#RowFormatDelimitedProperty-1998"><span class="linenos">1998</span></a><span class="k">class</span> <span class="nc">RowFormatDelimitedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="RowFormatDelimitedProperty-1999"><a href="#RowFormatDelimitedProperty-1999"><span class="linenos">1999</span></a> <span class="c1"># https://cwiki.apache.org/confluence/display/hive/languagemanual+dml</span>
-</span><span id="RowFormatDelimitedProperty-2000"><a href="#RowFormatDelimitedProperty-2000"><span class="linenos">2000</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="RowFormatDelimitedProperty-2001"><a href="#RowFormatDelimitedProperty-2001"><span class="linenos">2001</span></a> <span class="s2">&quot;fields&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2002"><a href="#RowFormatDelimitedProperty-2002"><span class="linenos">2002</span></a> <span class="s2">&quot;escaped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2003"><a href="#RowFormatDelimitedProperty-2003"><span class="linenos">2003</span></a> <span class="s2">&quot;collection_items&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2004"><a href="#RowFormatDelimitedProperty-2004"><span class="linenos">2004</span></a> <span class="s2">&quot;map_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2005"><a href="#RowFormatDelimitedProperty-2005"><span class="linenos">2005</span></a> <span class="s2">&quot;lines&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2006"><a href="#RowFormatDelimitedProperty-2006"><span class="linenos">2006</span></a> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2007"><a href="#RowFormatDelimitedProperty-2007"><span class="linenos">2007</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RowFormatDelimitedProperty-2008"><a href="#RowFormatDelimitedProperty-2008"><span class="linenos">2008</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RowFormatDelimitedProperty-2006"><a href="#RowFormatDelimitedProperty-2006"><span class="linenos">2006</span></a><span class="k">class</span> <span class="nc">RowFormatDelimitedProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="RowFormatDelimitedProperty-2007"><a href="#RowFormatDelimitedProperty-2007"><span class="linenos">2007</span></a> <span class="c1"># https://cwiki.apache.org/confluence/display/hive/languagemanual+dml</span>
+</span><span id="RowFormatDelimitedProperty-2008"><a href="#RowFormatDelimitedProperty-2008"><span class="linenos">2008</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="RowFormatDelimitedProperty-2009"><a href="#RowFormatDelimitedProperty-2009"><span class="linenos">2009</span></a> <span class="s2">&quot;fields&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2010"><a href="#RowFormatDelimitedProperty-2010"><span class="linenos">2010</span></a> <span class="s2">&quot;escaped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2011"><a href="#RowFormatDelimitedProperty-2011"><span class="linenos">2011</span></a> <span class="s2">&quot;collection_items&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2012"><a href="#RowFormatDelimitedProperty-2012"><span class="linenos">2012</span></a> <span class="s2">&quot;map_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2013"><a href="#RowFormatDelimitedProperty-2013"><span class="linenos">2013</span></a> <span class="s2">&quot;lines&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2014"><a href="#RowFormatDelimitedProperty-2014"><span class="linenos">2014</span></a> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2015"><a href="#RowFormatDelimitedProperty-2015"><span class="linenos">2015</span></a> <span class="s2">&quot;serde&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RowFormatDelimitedProperty-2016"><a href="#RowFormatDelimitedProperty-2016"><span class="linenos">2016</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="RowFormatDelimitedProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="RowFormatDelimitedProperty.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="RowFormatDelimitedProperty.arg_types-view-value"></label><span class="default_value">{&#39;fields&#39;: False, &#39;escaped&#39;: False, &#39;collection_items&#39;: False, &#39;map_keys&#39;: False, &#39;lines&#39;: False, &#39;null&#39;: False, &#39;serde&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowFormatDelimitedProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="RowFormatDelimitedProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rowformatdelimitedproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowFormatDelimitedProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RowFormatDelimitedProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RowFormatDelimitedProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RowFormatDelimitedProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RowFormatDelimitedProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RowFormatDelimitedProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RowFormatDelimitedProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RowFormatDelimitedProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RowFormatDelimitedProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RowFormatDelimitedProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21628,7 +28350,11 @@ Otherwise, this resets the expression.</li>
<dd id="RowFormatDelimitedProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RowFormatDelimitedProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RowFormatDelimitedProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RowFormatDelimitedProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RowFormatDelimitedProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RowFormatDelimitedProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RowFormatDelimitedProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RowFormatDelimitedProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RowFormatDelimitedProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RowFormatDelimitedProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RowFormatDelimitedProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21672,18 +28398,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#RowFormatSerdeProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RowFormatSerdeProperty-2011"><a href="#RowFormatSerdeProperty-2011"><span class="linenos">2011</span></a><span class="k">class</span> <span class="nc">RowFormatSerdeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="RowFormatSerdeProperty-2012"><a href="#RowFormatSerdeProperty-2012"><span class="linenos">2012</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RowFormatSerdeProperty-2019"><a href="#RowFormatSerdeProperty-2019"><span class="linenos">2019</span></a><span class="k">class</span> <span class="nc">RowFormatSerdeProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="RowFormatSerdeProperty-2020"><a href="#RowFormatSerdeProperty-2020"><span class="linenos">2020</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="RowFormatSerdeProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowFormatSerdeProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="RowFormatSerdeProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rowformatserdeproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowFormatSerdeProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RowFormatSerdeProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RowFormatSerdeProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RowFormatSerdeProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RowFormatSerdeProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RowFormatSerdeProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RowFormatSerdeProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RowFormatSerdeProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RowFormatSerdeProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RowFormatSerdeProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21693,7 +28448,11 @@ Otherwise, this resets the expression.</li>
<dd id="RowFormatSerdeProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RowFormatSerdeProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RowFormatSerdeProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RowFormatSerdeProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RowFormatSerdeProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RowFormatSerdeProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RowFormatSerdeProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RowFormatSerdeProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RowFormatSerdeProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RowFormatSerdeProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RowFormatSerdeProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21737,18 +28496,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#SchemaCommentProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SchemaCommentProperty-2015"><a href="#SchemaCommentProperty-2015"><span class="linenos">2015</span></a><span class="k">class</span> <span class="nc">SchemaCommentProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="SchemaCommentProperty-2016"><a href="#SchemaCommentProperty-2016"><span class="linenos">2016</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SchemaCommentProperty-2023"><a href="#SchemaCommentProperty-2023"><span class="linenos">2023</span></a><span class="k">class</span> <span class="nc">SchemaCommentProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="SchemaCommentProperty-2024"><a href="#SchemaCommentProperty-2024"><span class="linenos">2024</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="SchemaCommentProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SchemaCommentProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="SchemaCommentProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;schemacommentproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SchemaCommentProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SchemaCommentProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SchemaCommentProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SchemaCommentProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SchemaCommentProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SchemaCommentProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SchemaCommentProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SchemaCommentProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SchemaCommentProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SchemaCommentProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21758,7 +28546,11 @@ Otherwise, this resets the expression.</li>
<dd id="SchemaCommentProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SchemaCommentProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SchemaCommentProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SchemaCommentProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SchemaCommentProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SchemaCommentProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SchemaCommentProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SchemaCommentProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SchemaCommentProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SchemaCommentProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SchemaCommentProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21802,18 +28594,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#SerdeProperties"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SerdeProperties-2019"><a href="#SerdeProperties-2019"><span class="linenos">2019</span></a><span class="k">class</span> <span class="nc">SerdeProperties</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="SerdeProperties-2020"><a href="#SerdeProperties-2020"><span class="linenos">2020</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SerdeProperties-2027"><a href="#SerdeProperties-2027"><span class="linenos">2027</span></a><span class="k">class</span> <span class="nc">SerdeProperties</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="SerdeProperties-2028"><a href="#SerdeProperties-2028"><span class="linenos">2028</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="SerdeProperties.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SerdeProperties.arg_types"></a>
+
+
+
+ </div>
+ <div id="SerdeProperties.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;serdeproperties&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SerdeProperties.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SerdeProperties.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SerdeProperties.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SerdeProperties.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SerdeProperties.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SerdeProperties.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SerdeProperties.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SerdeProperties.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SerdeProperties.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SerdeProperties.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21823,7 +28644,11 @@ Otherwise, this resets the expression.</li>
<dd id="SerdeProperties.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SerdeProperties.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SerdeProperties.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SerdeProperties.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SerdeProperties.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SerdeProperties.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SerdeProperties.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SerdeProperties.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SerdeProperties.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SerdeProperties.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SerdeProperties.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21867,18 +28692,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#SetProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SetProperty-2023"><a href="#SetProperty-2023"><span class="linenos">2023</span></a><span class="k">class</span> <span class="nc">SetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="SetProperty-2024"><a href="#SetProperty-2024"><span class="linenos">2024</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;multi&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SetProperty-2031"><a href="#SetProperty-2031"><span class="linenos">2031</span></a><span class="k">class</span> <span class="nc">SetProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="SetProperty-2032"><a href="#SetProperty-2032"><span class="linenos">2032</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;multi&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="SetProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;multi&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="SetProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;setproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SetProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SetProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SetProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SetProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SetProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SetProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SetProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SetProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SetProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21888,7 +28742,11 @@ Otherwise, this resets the expression.</li>
<dd id="SetProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SetProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SetProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SetProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SetProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SetProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SetProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SetProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SetProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SetProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SetProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21932,18 +28790,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#SettingsProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SettingsProperty-2027"><a href="#SettingsProperty-2027"><span class="linenos">2027</span></a><span class="k">class</span> <span class="nc">SettingsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="SettingsProperty-2028"><a href="#SettingsProperty-2028"><span class="linenos">2028</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SettingsProperty-2035"><a href="#SettingsProperty-2035"><span class="linenos">2035</span></a><span class="k">class</span> <span class="nc">SettingsProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="SettingsProperty-2036"><a href="#SettingsProperty-2036"><span class="linenos">2036</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="SettingsProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SettingsProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="SettingsProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;settingsproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SettingsProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SettingsProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SettingsProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SettingsProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SettingsProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SettingsProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SettingsProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SettingsProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SettingsProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SettingsProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -21953,7 +28840,11 @@ Otherwise, this resets the expression.</li>
<dd id="SettingsProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SettingsProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SettingsProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SettingsProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SettingsProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SettingsProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SettingsProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SettingsProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SettingsProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SettingsProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SettingsProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -21997,18 +28888,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#SortKeyProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SortKeyProperty-2031"><a href="#SortKeyProperty-2031"><span class="linenos">2031</span></a><span class="k">class</span> <span class="nc">SortKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="SortKeyProperty-2032"><a href="#SortKeyProperty-2032"><span class="linenos">2032</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;compound&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SortKeyProperty-2039"><a href="#SortKeyProperty-2039"><span class="linenos">2039</span></a><span class="k">class</span> <span class="nc">SortKeyProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="SortKeyProperty-2040"><a href="#SortKeyProperty-2040"><span class="linenos">2040</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;compound&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="SortKeyProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;compound&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SortKeyProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="SortKeyProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sortkeyproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SortKeyProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SortKeyProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SortKeyProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SortKeyProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SortKeyProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SortKeyProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SortKeyProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SortKeyProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SortKeyProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SortKeyProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22018,7 +28938,11 @@ Otherwise, this resets the expression.</li>
<dd id="SortKeyProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SortKeyProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SortKeyProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SortKeyProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SortKeyProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SortKeyProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SortKeyProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SortKeyProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SortKeyProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SortKeyProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SortKeyProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22062,18 +28986,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#SqlSecurityProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SqlSecurityProperty-2035"><a href="#SqlSecurityProperty-2035"><span class="linenos">2035</span></a><span class="k">class</span> <span class="nc">SqlSecurityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="SqlSecurityProperty-2036"><a href="#SqlSecurityProperty-2036"><span class="linenos">2036</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;definer&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SqlSecurityProperty-2043"><a href="#SqlSecurityProperty-2043"><span class="linenos">2043</span></a><span class="k">class</span> <span class="nc">SqlSecurityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="SqlSecurityProperty-2044"><a href="#SqlSecurityProperty-2044"><span class="linenos">2044</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;definer&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="SqlSecurityProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;definer&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SqlSecurityProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="SqlSecurityProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sqlsecurityproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SqlSecurityProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SqlSecurityProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SqlSecurityProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SqlSecurityProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SqlSecurityProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SqlSecurityProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SqlSecurityProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SqlSecurityProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SqlSecurityProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SqlSecurityProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22083,7 +29036,11 @@ Otherwise, this resets the expression.</li>
<dd id="SqlSecurityProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SqlSecurityProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SqlSecurityProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SqlSecurityProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SqlSecurityProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SqlSecurityProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SqlSecurityProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SqlSecurityProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SqlSecurityProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SqlSecurityProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SqlSecurityProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22127,18 +29084,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#StabilityProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StabilityProperty-2039"><a href="#StabilityProperty-2039"><span class="linenos">2039</span></a><span class="k">class</span> <span class="nc">StabilityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="StabilityProperty-2040"><a href="#StabilityProperty-2040"><span class="linenos">2040</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StabilityProperty-2047"><a href="#StabilityProperty-2047"><span class="linenos">2047</span></a><span class="k">class</span> <span class="nc">StabilityProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="StabilityProperty-2048"><a href="#StabilityProperty-2048"><span class="linenos">2048</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="StabilityProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StabilityProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="StabilityProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;stabilityproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StabilityProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StabilityProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StabilityProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StabilityProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StabilityProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StabilityProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StabilityProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StabilityProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StabilityProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StabilityProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22148,7 +29134,11 @@ Otherwise, this resets the expression.</li>
<dd id="StabilityProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StabilityProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StabilityProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StabilityProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StabilityProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StabilityProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StabilityProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StabilityProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StabilityProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StabilityProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StabilityProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22192,18 +29182,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#TemporaryProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TemporaryProperty-2043"><a href="#TemporaryProperty-2043"><span class="linenos">2043</span></a><span class="k">class</span> <span class="nc">TemporaryProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="TemporaryProperty-2044"><a href="#TemporaryProperty-2044"><span class="linenos">2044</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TemporaryProperty-2051"><a href="#TemporaryProperty-2051"><span class="linenos">2051</span></a><span class="k">class</span> <span class="nc">TemporaryProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="TemporaryProperty-2052"><a href="#TemporaryProperty-2052"><span class="linenos">2052</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{}</span>
</span></pre></div>
+ <div id="TemporaryProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TemporaryProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="TemporaryProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;temporaryproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TemporaryProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TemporaryProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TemporaryProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TemporaryProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TemporaryProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TemporaryProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TemporaryProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TemporaryProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TemporaryProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TemporaryProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22213,7 +29232,11 @@ Otherwise, this resets the expression.</li>
<dd id="TemporaryProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TemporaryProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TemporaryProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TemporaryProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TemporaryProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TemporaryProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TemporaryProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TemporaryProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TemporaryProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TemporaryProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TemporaryProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22257,18 +29280,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#TransientProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TransientProperty-2047"><a href="#TransientProperty-2047"><span class="linenos">2047</span></a><span class="k">class</span> <span class="nc">TransientProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="TransientProperty-2048"><a href="#TransientProperty-2048"><span class="linenos">2048</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TransientProperty-2055"><a href="#TransientProperty-2055"><span class="linenos">2055</span></a><span class="k">class</span> <span class="nc">TransientProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="TransientProperty-2056"><a href="#TransientProperty-2056"><span class="linenos">2056</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TransientProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TransientProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="TransientProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;transientproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TransientProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TransientProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TransientProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TransientProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TransientProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TransientProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TransientProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TransientProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TransientProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TransientProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22278,7 +29330,11 @@ Otherwise, this resets the expression.</li>
<dd id="TransientProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TransientProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TransientProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TransientProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TransientProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TransientProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TransientProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TransientProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TransientProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TransientProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TransientProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22322,18 +29378,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#VolatileProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="VolatileProperty-2051"><a href="#VolatileProperty-2051"><span class="linenos">2051</span></a><span class="k">class</span> <span class="nc">VolatileProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="VolatileProperty-2052"><a href="#VolatileProperty-2052"><span class="linenos">2052</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="VolatileProperty-2059"><a href="#VolatileProperty-2059"><span class="linenos">2059</span></a><span class="k">class</span> <span class="nc">VolatileProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="VolatileProperty-2060"><a href="#VolatileProperty-2060"><span class="linenos">2060</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="VolatileProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#VolatileProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="VolatileProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;volatileproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#VolatileProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="VolatileProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="VolatileProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="VolatileProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="VolatileProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="VolatileProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="VolatileProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="VolatileProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="VolatileProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="VolatileProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22343,7 +29428,11 @@ Otherwise, this resets the expression.</li>
<dd id="VolatileProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="VolatileProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="VolatileProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="VolatileProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="VolatileProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="VolatileProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="VolatileProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="VolatileProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="VolatileProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="VolatileProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="VolatileProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22387,18 +29476,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#WithDataProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="WithDataProperty-2055"><a href="#WithDataProperty-2055"><span class="linenos">2055</span></a><span class="k">class</span> <span class="nc">WithDataProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="WithDataProperty-2056"><a href="#WithDataProperty-2056"><span class="linenos">2056</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;statistics&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="WithDataProperty-2063"><a href="#WithDataProperty-2063"><span class="linenos">2063</span></a><span class="k">class</span> <span class="nc">WithDataProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="WithDataProperty-2064"><a href="#WithDataProperty-2064"><span class="linenos">2064</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;no&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;statistics&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="WithDataProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;no&#39;: True, &#39;statistics&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithDataProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="WithDataProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;withdataproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithDataProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="WithDataProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="WithDataProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="WithDataProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="WithDataProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="WithDataProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="WithDataProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="WithDataProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="WithDataProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="WithDataProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22408,7 +29526,11 @@ Otherwise, this resets the expression.</li>
<dd id="WithDataProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="WithDataProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="WithDataProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="WithDataProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="WithDataProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="WithDataProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="WithDataProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="WithDataProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="WithDataProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="WithDataProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="WithDataProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22452,18 +29574,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#WithJournalTableProperty"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="WithJournalTableProperty-2059"><a href="#WithJournalTableProperty-2059"><span class="linenos">2059</span></a><span class="k">class</span> <span class="nc">WithJournalTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
-</span><span id="WithJournalTableProperty-2060"><a href="#WithJournalTableProperty-2060"><span class="linenos">2060</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="WithJournalTableProperty-2067"><a href="#WithJournalTableProperty-2067"><span class="linenos">2067</span></a><span class="k">class</span> <span class="nc">WithJournalTableProperty</span><span class="p">(</span><span class="n">Property</span><span class="p">):</span>
+</span><span id="WithJournalTableProperty-2068"><a href="#WithJournalTableProperty-2068"><span class="linenos">2068</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="WithJournalTableProperty.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithJournalTableProperty.arg_types"></a>
+
+
+
+ </div>
+ <div id="WithJournalTableProperty.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;withjournaltableproperty&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithJournalTableProperty.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="WithJournalTableProperty.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="WithJournalTableProperty.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="WithJournalTableProperty.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="WithJournalTableProperty.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="WithJournalTableProperty.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="WithJournalTableProperty.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="WithJournalTableProperty.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="WithJournalTableProperty.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="WithJournalTableProperty.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22473,7 +29624,11 @@ Otherwise, this resets the expression.</li>
<dd id="WithJournalTableProperty.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="WithJournalTableProperty.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="WithJournalTableProperty.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="WithJournalTableProperty.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="WithJournalTableProperty.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="WithJournalTableProperty.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="WithJournalTableProperty.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="WithJournalTableProperty.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="WithJournalTableProperty.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="WithJournalTableProperty.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="WithJournalTableProperty.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22517,70 +29672,108 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Properties"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Properties-2063"><a href="#Properties-2063"><span class="linenos">2063</span></a><span class="k">class</span> <span class="nc">Properties</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Properties-2064"><a href="#Properties-2064"><span class="linenos">2064</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Properties-2065"><a href="#Properties-2065"><span class="linenos">2065</span></a>
-</span><span id="Properties-2066"><a href="#Properties-2066"><span class="linenos">2066</span></a> <span class="n">NAME_TO_PROPERTY</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Properties-2067"><a href="#Properties-2067"><span class="linenos">2067</span></a> <span class="s2">&quot;ALGORITHM&quot;</span><span class="p">:</span> <span class="n">AlgorithmProperty</span><span class="p">,</span>
-</span><span id="Properties-2068"><a href="#Properties-2068"><span class="linenos">2068</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">AutoIncrementProperty</span><span class="p">,</span>
-</span><span id="Properties-2069"><a href="#Properties-2069"><span class="linenos">2069</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">CharacterSetProperty</span><span class="p">,</span>
-</span><span id="Properties-2070"><a href="#Properties-2070"><span class="linenos">2070</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">CollateProperty</span><span class="p">,</span>
-</span><span id="Properties-2071"><a href="#Properties-2071"><span class="linenos">2071</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">SchemaCommentProperty</span><span class="p">,</span>
-</span><span id="Properties-2072"><a href="#Properties-2072"><span class="linenos">2072</span></a> <span class="s2">&quot;DEFINER&quot;</span><span class="p">:</span> <span class="n">DefinerProperty</span><span class="p">,</span>
-</span><span id="Properties-2073"><a href="#Properties-2073"><span class="linenos">2073</span></a> <span class="s2">&quot;DISTKEY&quot;</span><span class="p">:</span> <span class="n">DistKeyProperty</span><span class="p">,</span>
-</span><span id="Properties-2074"><a href="#Properties-2074"><span class="linenos">2074</span></a> <span class="s2">&quot;DISTSTYLE&quot;</span><span class="p">:</span> <span class="n">DistStyleProperty</span><span class="p">,</span>
-</span><span id="Properties-2075"><a href="#Properties-2075"><span class="linenos">2075</span></a> <span class="s2">&quot;ENGINE&quot;</span><span class="p">:</span> <span class="n">EngineProperty</span><span class="p">,</span>
-</span><span id="Properties-2076"><a href="#Properties-2076"><span class="linenos">2076</span></a> <span class="s2">&quot;EXECUTE AS&quot;</span><span class="p">:</span> <span class="n">ExecuteAsProperty</span><span class="p">,</span>
-</span><span id="Properties-2077"><a href="#Properties-2077"><span class="linenos">2077</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">FileFormatProperty</span><span class="p">,</span>
-</span><span id="Properties-2078"><a href="#Properties-2078"><span class="linenos">2078</span></a> <span class="s2">&quot;LANGUAGE&quot;</span><span class="p">:</span> <span class="n">LanguageProperty</span><span class="p">,</span>
-</span><span id="Properties-2079"><a href="#Properties-2079"><span class="linenos">2079</span></a> <span class="s2">&quot;LOCATION&quot;</span><span class="p">:</span> <span class="n">LocationProperty</span><span class="p">,</span>
-</span><span id="Properties-2080"><a href="#Properties-2080"><span class="linenos">2080</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">PartitionedByProperty</span><span class="p">,</span>
-</span><span id="Properties-2081"><a href="#Properties-2081"><span class="linenos">2081</span></a> <span class="s2">&quot;RETURNS&quot;</span><span class="p">:</span> <span class="n">ReturnsProperty</span><span class="p">,</span>
-</span><span id="Properties-2082"><a href="#Properties-2082"><span class="linenos">2082</span></a> <span class="s2">&quot;ROW_FORMAT&quot;</span><span class="p">:</span> <span class="n">RowFormatProperty</span><span class="p">,</span>
-</span><span id="Properties-2083"><a href="#Properties-2083"><span class="linenos">2083</span></a> <span class="s2">&quot;SORTKEY&quot;</span><span class="p">:</span> <span class="n">SortKeyProperty</span><span class="p">,</span>
-</span><span id="Properties-2084"><a href="#Properties-2084"><span class="linenos">2084</span></a> <span class="p">}</span>
-</span><span id="Properties-2085"><a href="#Properties-2085"><span class="linenos">2085</span></a>
-</span><span id="Properties-2086"><a href="#Properties-2086"><span class="linenos">2086</span></a> <span class="n">PROPERTY_TO_NAME</span> <span class="o">=</span> <span class="p">{</span><span class="n">v</span><span class="p">:</span> <span class="n">k</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
-</span><span id="Properties-2087"><a href="#Properties-2087"><span class="linenos">2087</span></a>
-</span><span id="Properties-2088"><a href="#Properties-2088"><span class="linenos">2088</span></a> <span class="c1"># CREATE property locations</span>
-</span><span id="Properties-2089"><a href="#Properties-2089"><span class="linenos">2089</span></a> <span class="c1"># Form: schema specified</span>
-</span><span id="Properties-2090"><a href="#Properties-2090"><span class="linenos">2090</span></a> <span class="c1"># create [POST_CREATE]</span>
-</span><span id="Properties-2091"><a href="#Properties-2091"><span class="linenos">2091</span></a> <span class="c1"># table a [POST_NAME]</span>
-</span><span id="Properties-2092"><a href="#Properties-2092"><span class="linenos">2092</span></a> <span class="c1"># (b int) [POST_SCHEMA]</span>
-</span><span id="Properties-2093"><a href="#Properties-2093"><span class="linenos">2093</span></a> <span class="c1"># with ([POST_WITH])</span>
-</span><span id="Properties-2094"><a href="#Properties-2094"><span class="linenos">2094</span></a> <span class="c1"># index (b) [POST_INDEX]</span>
-</span><span id="Properties-2095"><a href="#Properties-2095"><span class="linenos">2095</span></a> <span class="c1">#</span>
-</span><span id="Properties-2096"><a href="#Properties-2096"><span class="linenos">2096</span></a> <span class="c1"># Form: alias selection</span>
-</span><span id="Properties-2097"><a href="#Properties-2097"><span class="linenos">2097</span></a> <span class="c1"># create [POST_CREATE]</span>
-</span><span id="Properties-2098"><a href="#Properties-2098"><span class="linenos">2098</span></a> <span class="c1"># table a [POST_NAME]</span>
-</span><span id="Properties-2099"><a href="#Properties-2099"><span class="linenos">2099</span></a> <span class="c1"># as [POST_ALIAS] (select * from b) [POST_EXPRESSION]</span>
-</span><span id="Properties-2100"><a href="#Properties-2100"><span class="linenos">2100</span></a> <span class="c1"># index (c) [POST_INDEX]</span>
-</span><span id="Properties-2101"><a href="#Properties-2101"><span class="linenos">2101</span></a> <span class="k">class</span> <span class="nc">Location</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="Properties-2102"><a href="#Properties-2102"><span class="linenos">2102</span></a> <span class="n">POST_CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2103"><a href="#Properties-2103"><span class="linenos">2103</span></a> <span class="n">POST_NAME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2104"><a href="#Properties-2104"><span class="linenos">2104</span></a> <span class="n">POST_SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2105"><a href="#Properties-2105"><span class="linenos">2105</span></a> <span class="n">POST_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2106"><a href="#Properties-2106"><span class="linenos">2106</span></a> <span class="n">POST_ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2107"><a href="#Properties-2107"><span class="linenos">2107</span></a> <span class="n">POST_EXPRESSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2108"><a href="#Properties-2108"><span class="linenos">2108</span></a> <span class="n">POST_INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2109"><a href="#Properties-2109"><span class="linenos">2109</span></a> <span class="n">UNSUPPORTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties-2110"><a href="#Properties-2110"><span class="linenos">2110</span></a>
-</span><span id="Properties-2111"><a href="#Properties-2111"><span class="linenos">2111</span></a> <span class="nd">@classmethod</span>
-</span><span id="Properties-2112"><a href="#Properties-2112"><span class="linenos">2112</span></a> <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">properties_dict</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">-&gt;</span> <span class="n">Properties</span><span class="p">:</span>
-</span><span id="Properties-2113"><a href="#Properties-2113"><span class="linenos">2113</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Properties-2114"><a href="#Properties-2114"><span class="linenos">2114</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">properties_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="Properties-2115"><a href="#Properties-2115"><span class="linenos">2115</span></a> <span class="n">property_cls</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="Properties-2116"><a href="#Properties-2116"><span class="linenos">2116</span></a> <span class="k">if</span> <span class="n">property_cls</span><span class="p">:</span>
-</span><span id="Properties-2117"><a href="#Properties-2117"><span class="linenos">2117</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">property_cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
-</span><span id="Properties-2118"><a href="#Properties-2118"><span class="linenos">2118</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Properties-2119"><a href="#Properties-2119"><span class="linenos">2119</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Property</span><span class="p">(</span><span class="n">this</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">key</span><span class="p">),</span> <span class="n">value</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
-</span><span id="Properties-2120"><a href="#Properties-2120"><span class="linenos">2120</span></a>
-</span><span id="Properties-2121"><a href="#Properties-2121"><span class="linenos">2121</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">expressions</span><span class="p">)</span>
-</span></pre></div>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Properties-2071"><a href="#Properties-2071"><span class="linenos">2071</span></a><span class="k">class</span> <span class="nc">Properties</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Properties-2072"><a href="#Properties-2072"><span class="linenos">2072</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Properties-2073"><a href="#Properties-2073"><span class="linenos">2073</span></a>
+</span><span id="Properties-2074"><a href="#Properties-2074"><span class="linenos">2074</span></a> <span class="n">NAME_TO_PROPERTY</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Properties-2075"><a href="#Properties-2075"><span class="linenos">2075</span></a> <span class="s2">&quot;ALGORITHM&quot;</span><span class="p">:</span> <span class="n">AlgorithmProperty</span><span class="p">,</span>
+</span><span id="Properties-2076"><a href="#Properties-2076"><span class="linenos">2076</span></a> <span class="s2">&quot;AUTO_INCREMENT&quot;</span><span class="p">:</span> <span class="n">AutoIncrementProperty</span><span class="p">,</span>
+</span><span id="Properties-2077"><a href="#Properties-2077"><span class="linenos">2077</span></a> <span class="s2">&quot;CHARACTER SET&quot;</span><span class="p">:</span> <span class="n">CharacterSetProperty</span><span class="p">,</span>
+</span><span id="Properties-2078"><a href="#Properties-2078"><span class="linenos">2078</span></a> <span class="s2">&quot;COLLATE&quot;</span><span class="p">:</span> <span class="n">CollateProperty</span><span class="p">,</span>
+</span><span id="Properties-2079"><a href="#Properties-2079"><span class="linenos">2079</span></a> <span class="s2">&quot;COMMENT&quot;</span><span class="p">:</span> <span class="n">SchemaCommentProperty</span><span class="p">,</span>
+</span><span id="Properties-2080"><a href="#Properties-2080"><span class="linenos">2080</span></a> <span class="s2">&quot;DEFINER&quot;</span><span class="p">:</span> <span class="n">DefinerProperty</span><span class="p">,</span>
+</span><span id="Properties-2081"><a href="#Properties-2081"><span class="linenos">2081</span></a> <span class="s2">&quot;DISTKEY&quot;</span><span class="p">:</span> <span class="n">DistKeyProperty</span><span class="p">,</span>
+</span><span id="Properties-2082"><a href="#Properties-2082"><span class="linenos">2082</span></a> <span class="s2">&quot;DISTSTYLE&quot;</span><span class="p">:</span> <span class="n">DistStyleProperty</span><span class="p">,</span>
+</span><span id="Properties-2083"><a href="#Properties-2083"><span class="linenos">2083</span></a> <span class="s2">&quot;ENGINE&quot;</span><span class="p">:</span> <span class="n">EngineProperty</span><span class="p">,</span>
+</span><span id="Properties-2084"><a href="#Properties-2084"><span class="linenos">2084</span></a> <span class="s2">&quot;EXECUTE AS&quot;</span><span class="p">:</span> <span class="n">ExecuteAsProperty</span><span class="p">,</span>
+</span><span id="Properties-2085"><a href="#Properties-2085"><span class="linenos">2085</span></a> <span class="s2">&quot;FORMAT&quot;</span><span class="p">:</span> <span class="n">FileFormatProperty</span><span class="p">,</span>
+</span><span id="Properties-2086"><a href="#Properties-2086"><span class="linenos">2086</span></a> <span class="s2">&quot;LANGUAGE&quot;</span><span class="p">:</span> <span class="n">LanguageProperty</span><span class="p">,</span>
+</span><span id="Properties-2087"><a href="#Properties-2087"><span class="linenos">2087</span></a> <span class="s2">&quot;LOCATION&quot;</span><span class="p">:</span> <span class="n">LocationProperty</span><span class="p">,</span>
+</span><span id="Properties-2088"><a href="#Properties-2088"><span class="linenos">2088</span></a> <span class="s2">&quot;PARTITIONED_BY&quot;</span><span class="p">:</span> <span class="n">PartitionedByProperty</span><span class="p">,</span>
+</span><span id="Properties-2089"><a href="#Properties-2089"><span class="linenos">2089</span></a> <span class="s2">&quot;RETURNS&quot;</span><span class="p">:</span> <span class="n">ReturnsProperty</span><span class="p">,</span>
+</span><span id="Properties-2090"><a href="#Properties-2090"><span class="linenos">2090</span></a> <span class="s2">&quot;ROW_FORMAT&quot;</span><span class="p">:</span> <span class="n">RowFormatProperty</span><span class="p">,</span>
+</span><span id="Properties-2091"><a href="#Properties-2091"><span class="linenos">2091</span></a> <span class="s2">&quot;SORTKEY&quot;</span><span class="p">:</span> <span class="n">SortKeyProperty</span><span class="p">,</span>
+</span><span id="Properties-2092"><a href="#Properties-2092"><span class="linenos">2092</span></a> <span class="p">}</span>
+</span><span id="Properties-2093"><a href="#Properties-2093"><span class="linenos">2093</span></a>
+</span><span id="Properties-2094"><a href="#Properties-2094"><span class="linenos">2094</span></a> <span class="n">PROPERTY_TO_NAME</span> <span class="o">=</span> <span class="p">{</span><span class="n">v</span><span class="p">:</span> <span class="n">k</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
+</span><span id="Properties-2095"><a href="#Properties-2095"><span class="linenos">2095</span></a>
+</span><span id="Properties-2096"><a href="#Properties-2096"><span class="linenos">2096</span></a> <span class="c1"># CREATE property locations</span>
+</span><span id="Properties-2097"><a href="#Properties-2097"><span class="linenos">2097</span></a> <span class="c1"># Form: schema specified</span>
+</span><span id="Properties-2098"><a href="#Properties-2098"><span class="linenos">2098</span></a> <span class="c1"># create [POST_CREATE]</span>
+</span><span id="Properties-2099"><a href="#Properties-2099"><span class="linenos">2099</span></a> <span class="c1"># table a [POST_NAME]</span>
+</span><span id="Properties-2100"><a href="#Properties-2100"><span class="linenos">2100</span></a> <span class="c1"># (b int) [POST_SCHEMA]</span>
+</span><span id="Properties-2101"><a href="#Properties-2101"><span class="linenos">2101</span></a> <span class="c1"># with ([POST_WITH])</span>
+</span><span id="Properties-2102"><a href="#Properties-2102"><span class="linenos">2102</span></a> <span class="c1"># index (b) [POST_INDEX]</span>
+</span><span id="Properties-2103"><a href="#Properties-2103"><span class="linenos">2103</span></a> <span class="c1">#</span>
+</span><span id="Properties-2104"><a href="#Properties-2104"><span class="linenos">2104</span></a> <span class="c1"># Form: alias selection</span>
+</span><span id="Properties-2105"><a href="#Properties-2105"><span class="linenos">2105</span></a> <span class="c1"># create [POST_CREATE]</span>
+</span><span id="Properties-2106"><a href="#Properties-2106"><span class="linenos">2106</span></a> <span class="c1"># table a [POST_NAME]</span>
+</span><span id="Properties-2107"><a href="#Properties-2107"><span class="linenos">2107</span></a> <span class="c1"># as [POST_ALIAS] (select * from b) [POST_EXPRESSION]</span>
+</span><span id="Properties-2108"><a href="#Properties-2108"><span class="linenos">2108</span></a> <span class="c1"># index (c) [POST_INDEX]</span>
+</span><span id="Properties-2109"><a href="#Properties-2109"><span class="linenos">2109</span></a> <span class="k">class</span> <span class="nc">Location</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
+</span><span id="Properties-2110"><a href="#Properties-2110"><span class="linenos">2110</span></a> <span class="n">POST_CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2111"><a href="#Properties-2111"><span class="linenos">2111</span></a> <span class="n">POST_NAME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2112"><a href="#Properties-2112"><span class="linenos">2112</span></a> <span class="n">POST_SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2113"><a href="#Properties-2113"><span class="linenos">2113</span></a> <span class="n">POST_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2114"><a href="#Properties-2114"><span class="linenos">2114</span></a> <span class="n">POST_ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2115"><a href="#Properties-2115"><span class="linenos">2115</span></a> <span class="n">POST_EXPRESSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2116"><a href="#Properties-2116"><span class="linenos">2116</span></a> <span class="n">POST_INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2117"><a href="#Properties-2117"><span class="linenos">2117</span></a> <span class="n">UNSUPPORTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties-2118"><a href="#Properties-2118"><span class="linenos">2118</span></a>
+</span><span id="Properties-2119"><a href="#Properties-2119"><span class="linenos">2119</span></a> <span class="nd">@classmethod</span>
+</span><span id="Properties-2120"><a href="#Properties-2120"><span class="linenos">2120</span></a> <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">properties_dict</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">-&gt;</span> <span class="n">Properties</span><span class="p">:</span>
+</span><span id="Properties-2121"><a href="#Properties-2121"><span class="linenos">2121</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Properties-2122"><a href="#Properties-2122"><span class="linenos">2122</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">properties_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="Properties-2123"><a href="#Properties-2123"><span class="linenos">2123</span></a> <span class="n">property_cls</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="Properties-2124"><a href="#Properties-2124"><span class="linenos">2124</span></a> <span class="k">if</span> <span class="n">property_cls</span><span class="p">:</span>
+</span><span id="Properties-2125"><a href="#Properties-2125"><span class="linenos">2125</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">property_cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+</span><span id="Properties-2126"><a href="#Properties-2126"><span class="linenos">2126</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Properties-2127"><a href="#Properties-2127"><span class="linenos">2127</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Property</span><span class="p">(</span><span class="n">this</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">key</span><span class="p">),</span> <span class="n">value</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+</span><span id="Properties-2128"><a href="#Properties-2128"><span class="linenos">2128</span></a>
+</span><span id="Properties-2129"><a href="#Properties-2129"><span class="linenos">2129</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">expressions</span><span class="p">)</span>
+</span></pre></div>
+
+
+
+
+ <div id="Properties.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+ </div>
+ <a class="headerlink" href="#Properties.arg_types"></a>
+
+
+ </div>
+ <div id="Properties.NAME_TO_PROPERTY" class="classattr">
+ <div class="attr variable">
+ <span class="name">NAME_TO_PROPERTY</span> =
+<input id="Properties.NAME_TO_PROPERTY-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Properties.NAME_TO_PROPERTY-view-value"></label><span class="default_value">{&#39;ALGORITHM&#39;: &lt;class &#39;<a href="#AlgorithmProperty">sqlglot.expressions.AlgorithmProperty</a>&#39;&gt;, &#39;AUTO_INCREMENT&#39;: &lt;class &#39;<a href="#AutoIncrementProperty">sqlglot.expressions.AutoIncrementProperty</a>&#39;&gt;, &#39;CHARACTER SET&#39;: &lt;class &#39;<a href="#CharacterSetProperty">sqlglot.expressions.CharacterSetProperty</a>&#39;&gt;, &#39;COLLATE&#39;: &lt;class &#39;<a href="#CollateProperty">sqlglot.expressions.CollateProperty</a>&#39;&gt;, &#39;COMMENT&#39;: &lt;class &#39;<a href="#SchemaCommentProperty">sqlglot.expressions.SchemaCommentProperty</a>&#39;&gt;, &#39;DEFINER&#39;: &lt;class &#39;<a href="#DefinerProperty">sqlglot.expressions.DefinerProperty</a>&#39;&gt;, &#39;DISTKEY&#39;: &lt;class &#39;<a href="#DistKeyProperty">sqlglot.expressions.DistKeyProperty</a>&#39;&gt;, &#39;DISTSTYLE&#39;: &lt;class &#39;<a href="#DistStyleProperty">sqlglot.expressions.DistStyleProperty</a>&#39;&gt;, &#39;ENGINE&#39;: &lt;class &#39;<a href="#EngineProperty">sqlglot.expressions.EngineProperty</a>&#39;&gt;, &#39;EXECUTE AS&#39;: &lt;class &#39;<a href="#ExecuteAsProperty">sqlglot.expressions.ExecuteAsProperty</a>&#39;&gt;, &#39;FORMAT&#39;: &lt;class &#39;<a href="#FileFormatProperty">sqlglot.expressions.FileFormatProperty</a>&#39;&gt;, &#39;LANGUAGE&#39;: &lt;class &#39;<a href="#LanguageProperty">sqlglot.expressions.LanguageProperty</a>&#39;&gt;, &#39;LOCATION&#39;: &lt;class &#39;<a href="#LocationProperty">sqlglot.expressions.LocationProperty</a>&#39;&gt;, &#39;PARTITIONED_BY&#39;: &lt;class &#39;<a href="#PartitionedByProperty">sqlglot.expressions.PartitionedByProperty</a>&#39;&gt;, &#39;RETURNS&#39;: &lt;class &#39;<a href="#ReturnsProperty">sqlglot.expressions.ReturnsProperty</a>&#39;&gt;, &#39;ROW_FORMAT&#39;: &lt;class &#39;<a href="#RowFormatProperty">sqlglot.expressions.RowFormatProperty</a>&#39;&gt;, &#39;SORTKEY&#39;: &lt;class &#39;<a href="#SortKeyProperty">sqlglot.expressions.SortKeyProperty</a>&#39;&gt;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Properties.NAME_TO_PROPERTY"></a>
+
+ </div>
+ <div id="Properties.PROPERTY_TO_NAME" class="classattr">
+ <div class="attr variable">
+ <span class="name">PROPERTY_TO_NAME</span> =
+<input id="Properties.PROPERTY_TO_NAME-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Properties.PROPERTY_TO_NAME-view-value"></label><span class="default_value">{&lt;class &#39;<a href="#AlgorithmProperty">sqlglot.expressions.AlgorithmProperty</a>&#39;&gt;: &#39;ALGORITHM&#39;, &lt;class &#39;<a href="#AutoIncrementProperty">sqlglot.expressions.AutoIncrementProperty</a>&#39;&gt;: &#39;AUTO_INCREMENT&#39;, &lt;class &#39;<a href="#CharacterSetProperty">sqlglot.expressions.CharacterSetProperty</a>&#39;&gt;: &#39;CHARACTER SET&#39;, &lt;class &#39;<a href="#CollateProperty">sqlglot.expressions.CollateProperty</a>&#39;&gt;: &#39;COLLATE&#39;, &lt;class &#39;<a href="#SchemaCommentProperty">sqlglot.expressions.SchemaCommentProperty</a>&#39;&gt;: &#39;COMMENT&#39;, &lt;class &#39;<a href="#DefinerProperty">sqlglot.expressions.DefinerProperty</a>&#39;&gt;: &#39;DEFINER&#39;, &lt;class &#39;<a href="#DistKeyProperty">sqlglot.expressions.DistKeyProperty</a>&#39;&gt;: &#39;DISTKEY&#39;, &lt;class &#39;<a href="#DistStyleProperty">sqlglot.expressions.DistStyleProperty</a>&#39;&gt;: &#39;DISTSTYLE&#39;, &lt;class &#39;<a href="#EngineProperty">sqlglot.expressions.EngineProperty</a>&#39;&gt;: &#39;ENGINE&#39;, &lt;class &#39;<a href="#ExecuteAsProperty">sqlglot.expressions.ExecuteAsProperty</a>&#39;&gt;: &#39;EXECUTE AS&#39;, &lt;class &#39;<a href="#FileFormatProperty">sqlglot.expressions.FileFormatProperty</a>&#39;&gt;: &#39;FORMAT&#39;, &lt;class &#39;<a href="#LanguageProperty">sqlglot.expressions.LanguageProperty</a>&#39;&gt;: &#39;LANGUAGE&#39;, &lt;class &#39;<a href="#LocationProperty">sqlglot.expressions.LocationProperty</a>&#39;&gt;: &#39;LOCATION&#39;, &lt;class &#39;<a href="#PartitionedByProperty">sqlglot.expressions.PartitionedByProperty</a>&#39;&gt;: &#39;PARTITIONED_BY&#39;, &lt;class &#39;<a href="#ReturnsProperty">sqlglot.expressions.ReturnsProperty</a>&#39;&gt;: &#39;RETURNS&#39;, &lt;class &#39;<a href="#RowFormatProperty">sqlglot.expressions.RowFormatProperty</a>&#39;&gt;: &#39;ROW_FORMAT&#39;, &lt;class &#39;<a href="#SortKeyProperty">sqlglot.expressions.SortKeyProperty</a>&#39;&gt;: &#39;SORTKEY&#39;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Properties.PROPERTY_TO_NAME"></a>
+
+
+
+ </div>
<div id="Properties.from_dict" class="classattr">
<input id="Properties.from_dict-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -22593,28 +29786,45 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Properties.from_dict"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Properties.from_dict-2111"><a href="#Properties.from_dict-2111"><span class="linenos">2111</span></a> <span class="nd">@classmethod</span>
-</span><span id="Properties.from_dict-2112"><a href="#Properties.from_dict-2112"><span class="linenos">2112</span></a> <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">properties_dict</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">-&gt;</span> <span class="n">Properties</span><span class="p">:</span>
-</span><span id="Properties.from_dict-2113"><a href="#Properties.from_dict-2113"><span class="linenos">2113</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="Properties.from_dict-2114"><a href="#Properties.from_dict-2114"><span class="linenos">2114</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">properties_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="Properties.from_dict-2115"><a href="#Properties.from_dict-2115"><span class="linenos">2115</span></a> <span class="n">property_cls</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="Properties.from_dict-2116"><a href="#Properties.from_dict-2116"><span class="linenos">2116</span></a> <span class="k">if</span> <span class="n">property_cls</span><span class="p">:</span>
-</span><span id="Properties.from_dict-2117"><a href="#Properties.from_dict-2117"><span class="linenos">2117</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">property_cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
-</span><span id="Properties.from_dict-2118"><a href="#Properties.from_dict-2118"><span class="linenos">2118</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Properties.from_dict-2119"><a href="#Properties.from_dict-2119"><span class="linenos">2119</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Property</span><span class="p">(</span><span class="n">this</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">key</span><span class="p">),</span> <span class="n">value</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
-</span><span id="Properties.from_dict-2120"><a href="#Properties.from_dict-2120"><span class="linenos">2120</span></a>
-</span><span id="Properties.from_dict-2121"><a href="#Properties.from_dict-2121"><span class="linenos">2121</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">expressions</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Properties.from_dict-2119"><a href="#Properties.from_dict-2119"><span class="linenos">2119</span></a> <span class="nd">@classmethod</span>
+</span><span id="Properties.from_dict-2120"><a href="#Properties.from_dict-2120"><span class="linenos">2120</span></a> <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">properties_dict</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">-&gt;</span> <span class="n">Properties</span><span class="p">:</span>
+</span><span id="Properties.from_dict-2121"><a href="#Properties.from_dict-2121"><span class="linenos">2121</span></a> <span class="n">expressions</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="Properties.from_dict-2122"><a href="#Properties.from_dict-2122"><span class="linenos">2122</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">properties_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="Properties.from_dict-2123"><a href="#Properties.from_dict-2123"><span class="linenos">2123</span></a> <span class="n">property_cls</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="n">NAME_TO_PROPERTY</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="Properties.from_dict-2124"><a href="#Properties.from_dict-2124"><span class="linenos">2124</span></a> <span class="k">if</span> <span class="n">property_cls</span><span class="p">:</span>
+</span><span id="Properties.from_dict-2125"><a href="#Properties.from_dict-2125"><span class="linenos">2125</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">property_cls</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+</span><span id="Properties.from_dict-2126"><a href="#Properties.from_dict-2126"><span class="linenos">2126</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Properties.from_dict-2127"><a href="#Properties.from_dict-2127"><span class="linenos">2127</span></a> <span class="n">expressions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Property</span><span class="p">(</span><span class="n">this</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">key</span><span class="p">),</span> <span class="n">value</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+</span><span id="Properties.from_dict-2128"><a href="#Properties.from_dict-2128"><span class="linenos">2128</span></a>
+</span><span id="Properties.from_dict-2129"><a href="#Properties.from_dict-2129"><span class="linenos">2129</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="n">expressions</span><span class="p">)</span>
</span></pre></div>
</div>
+ <div id="Properties.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;properties&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Properties.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Properties.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Properties.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Properties.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Properties.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Properties.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Properties.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Properties.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Properties.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Properties.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22624,7 +29834,11 @@ Otherwise, this resets the expression.</li>
<dd id="Properties.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Properties.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Properties.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Properties.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Properties.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Properties.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Properties.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Properties.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Properties.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Properties.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Properties.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22668,15 +29882,15 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Properties.Location"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Properties.Location-2101"><a href="#Properties.Location-2101"><span class="linenos">2101</span></a> <span class="k">class</span> <span class="nc">Location</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="Properties.Location-2102"><a href="#Properties.Location-2102"><span class="linenos">2102</span></a> <span class="n">POST_CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2103"><a href="#Properties.Location-2103"><span class="linenos">2103</span></a> <span class="n">POST_NAME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2104"><a href="#Properties.Location-2104"><span class="linenos">2104</span></a> <span class="n">POST_SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2105"><a href="#Properties.Location-2105"><span class="linenos">2105</span></a> <span class="n">POST_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2106"><a href="#Properties.Location-2106"><span class="linenos">2106</span></a> <span class="n">POST_ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2107"><a href="#Properties.Location-2107"><span class="linenos">2107</span></a> <span class="n">POST_EXPRESSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2108"><a href="#Properties.Location-2108"><span class="linenos">2108</span></a> <span class="n">POST_INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="Properties.Location-2109"><a href="#Properties.Location-2109"><span class="linenos">2109</span></a> <span class="n">UNSUPPORTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Properties.Location-2109"><a href="#Properties.Location-2109"><span class="linenos">2109</span></a> <span class="k">class</span> <span class="nc">Location</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
+</span><span id="Properties.Location-2110"><a href="#Properties.Location-2110"><span class="linenos">2110</span></a> <span class="n">POST_CREATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2111"><a href="#Properties.Location-2111"><span class="linenos">2111</span></a> <span class="n">POST_NAME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2112"><a href="#Properties.Location-2112"><span class="linenos">2112</span></a> <span class="n">POST_SCHEMA</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2113"><a href="#Properties.Location-2113"><span class="linenos">2113</span></a> <span class="n">POST_WITH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2114"><a href="#Properties.Location-2114"><span class="linenos">2114</span></a> <span class="n">POST_ALIAS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2115"><a href="#Properties.Location-2115"><span class="linenos">2115</span></a> <span class="n">POST_EXPRESSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2116"><a href="#Properties.Location-2116"><span class="linenos">2116</span></a> <span class="n">POST_INDEX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="Properties.Location-2117"><a href="#Properties.Location-2117"><span class="linenos">2117</span></a> <span class="n">UNSUPPORTED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
</span></pre></div>
@@ -22802,18 +30016,36 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Qualify"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Qualify-2124"><a href="#Qualify-2124"><span class="linenos">2124</span></a><span class="k">class</span> <span class="nc">Qualify</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Qualify-2125"><a href="#Qualify-2125"><span class="linenos">2125</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Qualify-2132"><a href="#Qualify-2132"><span class="linenos">2132</span></a><span class="k">class</span> <span class="nc">Qualify</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Qualify-2133"><a href="#Qualify-2133"><span class="linenos">2133</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Qualify.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;qualify&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Qualify.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Qualify.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Qualify.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Qualify.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Qualify.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Qualify.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Qualify.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Qualify.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Qualify.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Qualify.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Qualify.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22823,7 +30055,11 @@ Otherwise, this resets the expression.</li>
<dd id="Qualify.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Qualify.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Qualify.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Qualify.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Qualify.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Qualify.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Qualify.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Qualify.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Qualify.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Qualify.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Qualify.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22867,18 +30103,36 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Return"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Return-2129"><a href="#Return-2129"><span class="linenos">2129</span></a><span class="k">class</span> <span class="nc">Return</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Return-2130"><a href="#Return-2130"><span class="linenos">2130</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Return-2137"><a href="#Return-2137"><span class="linenos">2137</span></a><span class="k">class</span> <span class="nc">Return</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Return-2138"><a href="#Return-2138"><span class="linenos">2138</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Return.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;return&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Return.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Return.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Return.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Return.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Return.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Return.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Return.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Return.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Return.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Return.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Return.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22888,7 +30142,11 @@ Otherwise, this resets the expression.</li>
<dd id="Return.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Return.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Return.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Return.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Return.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Return.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Return.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Return.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Return.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Return.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Return.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22932,18 +30190,47 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Reference"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Reference-2133"><a href="#Reference-2133"><span class="linenos">2133</span></a><span class="k">class</span> <span class="nc">Reference</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Reference-2134"><a href="#Reference-2134"><span class="linenos">2134</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Reference-2141"><a href="#Reference-2141"><span class="linenos">2141</span></a><span class="k">class</span> <span class="nc">Reference</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Reference-2142"><a href="#Reference-2142"><span class="linenos">2142</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Reference.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False, &#39;options&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Reference.arg_types"></a>
+
+
+
+ </div>
+ <div id="Reference.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;reference&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Reference.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Reference.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Reference.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Reference.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Reference.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Reference.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Reference.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Reference.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Reference.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Reference.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -22953,7 +30240,11 @@ Otherwise, this resets the expression.</li>
<dd id="Reference.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Reference.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Reference.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Reference.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Reference.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Reference.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Reference.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Reference.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Reference.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Reference.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Reference.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -22997,22 +30288,34 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Tuple"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tuple-2137"><a href="#Tuple-2137"><span class="linenos">2137</span></a><span class="k">class</span> <span class="nc">Tuple</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Tuple-2138"><a href="#Tuple-2138"><span class="linenos">2138</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Tuple-2139"><a href="#Tuple-2139"><span class="linenos">2139</span></a>
-</span><span id="Tuple-2140"><a href="#Tuple-2140"><span class="linenos">2140</span></a> <span class="k">def</span> <span class="nf">isin</span><span class="p">(</span>
-</span><span id="Tuple-2141"><a href="#Tuple-2141"><span class="linenos">2141</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">query</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Tuple-2142"><a href="#Tuple-2142"><span class="linenos">2142</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">In</span><span class="p">:</span>
-</span><span id="Tuple-2143"><a href="#Tuple-2143"><span class="linenos">2143</span></a> <span class="k">return</span> <span class="n">In</span><span class="p">(</span>
-</span><span id="Tuple-2144"><a href="#Tuple-2144"><span class="linenos">2144</span></a> <span class="n">this</span><span class="o">=</span><span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">),</span>
-</span><span id="Tuple-2145"><a href="#Tuple-2145"><span class="linenos">2145</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">],</span>
-</span><span id="Tuple-2146"><a href="#Tuple-2146"><span class="linenos">2146</span></a> <span class="n">query</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="k">if</span> <span class="n">query</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Tuple-2147"><a href="#Tuple-2147"><span class="linenos">2147</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tuple-2145"><a href="#Tuple-2145"><span class="linenos">2145</span></a><span class="k">class</span> <span class="nc">Tuple</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Tuple-2146"><a href="#Tuple-2146"><span class="linenos">2146</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Tuple-2147"><a href="#Tuple-2147"><span class="linenos">2147</span></a>
+</span><span id="Tuple-2148"><a href="#Tuple-2148"><span class="linenos">2148</span></a> <span class="k">def</span> <span class="nf">isin</span><span class="p">(</span>
+</span><span id="Tuple-2149"><a href="#Tuple-2149"><span class="linenos">2149</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">query</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Tuple-2150"><a href="#Tuple-2150"><span class="linenos">2150</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">In</span><span class="p">:</span>
+</span><span id="Tuple-2151"><a href="#Tuple-2151"><span class="linenos">2151</span></a> <span class="k">return</span> <span class="n">In</span><span class="p">(</span>
+</span><span id="Tuple-2152"><a href="#Tuple-2152"><span class="linenos">2152</span></a> <span class="n">this</span><span class="o">=</span><span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">),</span>
+</span><span id="Tuple-2153"><a href="#Tuple-2153"><span class="linenos">2153</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">],</span>
+</span><span id="Tuple-2154"><a href="#Tuple-2154"><span class="linenos">2154</span></a> <span class="n">query</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="k">if</span> <span class="n">query</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Tuple-2155"><a href="#Tuple-2155"><span class="linenos">2155</span></a> <span class="p">)</span>
</span></pre></div>
+ <div id="Tuple.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Tuple.arg_types"></a>
+
+
+
+ </div>
<div id="Tuple.isin" class="classattr">
<input id="Tuple.isin-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -23024,25 +30327,42 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Tuple.isin"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tuple.isin-2140"><a href="#Tuple.isin-2140"><span class="linenos">2140</span></a> <span class="k">def</span> <span class="nf">isin</span><span class="p">(</span>
-</span><span id="Tuple.isin-2141"><a href="#Tuple.isin-2141"><span class="linenos">2141</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">query</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Tuple.isin-2142"><a href="#Tuple.isin-2142"><span class="linenos">2142</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">In</span><span class="p">:</span>
-</span><span id="Tuple.isin-2143"><a href="#Tuple.isin-2143"><span class="linenos">2143</span></a> <span class="k">return</span> <span class="n">In</span><span class="p">(</span>
-</span><span id="Tuple.isin-2144"><a href="#Tuple.isin-2144"><span class="linenos">2144</span></a> <span class="n">this</span><span class="o">=</span><span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">),</span>
-</span><span id="Tuple.isin-2145"><a href="#Tuple.isin-2145"><span class="linenos">2145</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">],</span>
-</span><span id="Tuple.isin-2146"><a href="#Tuple.isin-2146"><span class="linenos">2146</span></a> <span class="n">query</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="k">if</span> <span class="n">query</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Tuple.isin-2147"><a href="#Tuple.isin-2147"><span class="linenos">2147</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tuple.isin-2148"><a href="#Tuple.isin-2148"><span class="linenos">2148</span></a> <span class="k">def</span> <span class="nf">isin</span><span class="p">(</span>
+</span><span id="Tuple.isin-2149"><a href="#Tuple.isin-2149"><span class="linenos">2149</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">query</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Tuple.isin-2150"><a href="#Tuple.isin-2150"><span class="linenos">2150</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">In</span><span class="p">:</span>
+</span><span id="Tuple.isin-2151"><a href="#Tuple.isin-2151"><span class="linenos">2151</span></a> <span class="k">return</span> <span class="n">In</span><span class="p">(</span>
+</span><span id="Tuple.isin-2152"><a href="#Tuple.isin-2152"><span class="linenos">2152</span></a> <span class="n">this</span><span class="o">=</span><span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">),</span>
+</span><span id="Tuple.isin-2153"><a href="#Tuple.isin-2153"><span class="linenos">2153</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">],</span>
+</span><span id="Tuple.isin-2154"><a href="#Tuple.isin-2154"><span class="linenos">2154</span></a> <span class="n">query</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="k">if</span> <span class="n">query</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Tuple.isin-2155"><a href="#Tuple.isin-2155"><span class="linenos">2155</span></a> <span class="p">)</span>
</span></pre></div>
</div>
+ <div id="Tuple.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tuple&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Tuple.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Tuple.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Tuple.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Tuple.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Tuple.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Tuple.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Tuple.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Tuple.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Tuple.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Tuple.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -23052,7 +30372,11 @@ Otherwise, this resets the expression.</li>
<dd id="Tuple.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Tuple.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Tuple.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Tuple.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Tuple.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Tuple.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Tuple.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Tuple.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Tuple.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Tuple.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Tuple.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -23096,84 +30420,84 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Subqueryable"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable-2150"><a href="#Subqueryable-2150"><span class="linenos">2150</span></a><span class="k">class</span> <span class="nc">Subqueryable</span><span class="p">(</span><span class="n">Unionable</span><span class="p">):</span>
-</span><span id="Subqueryable-2151"><a href="#Subqueryable-2151"><span class="linenos">2151</span></a> <span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">alias</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subquery</span><span class="p">:</span>
-</span><span id="Subqueryable-2152"><a href="#Subqueryable-2152"><span class="linenos">2152</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Subqueryable-2153"><a href="#Subqueryable-2153"><span class="linenos">2153</span></a><span class="sd"> Convert this expression to an aliased expression that can be used as a Subquery.</span>
-</span><span id="Subqueryable-2154"><a href="#Subqueryable-2154"><span class="linenos">2154</span></a>
-</span><span id="Subqueryable-2155"><a href="#Subqueryable-2155"><span class="linenos">2155</span></a><span class="sd"> Example:</span>
-</span><span id="Subqueryable-2156"><a href="#Subqueryable-2156"><span class="linenos">2156</span></a><span class="sd"> &gt;&gt;&gt; subquery = Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).subquery()</span>
-</span><span id="Subqueryable-2157"><a href="#Subqueryable-2157"><span class="linenos">2157</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(subquery).sql()</span>
-</span><span id="Subqueryable-2158"><a href="#Subqueryable-2158"><span class="linenos">2158</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl)&#39;</span>
-</span><span id="Subqueryable-2159"><a href="#Subqueryable-2159"><span class="linenos">2159</span></a>
-</span><span id="Subqueryable-2160"><a href="#Subqueryable-2160"><span class="linenos">2160</span></a><span class="sd"> Args:</span>
-</span><span id="Subqueryable-2161"><a href="#Subqueryable-2161"><span class="linenos">2161</span></a><span class="sd"> alias (str | Identifier): an optional alias for the subquery</span>
-</span><span id="Subqueryable-2162"><a href="#Subqueryable-2162"><span class="linenos">2162</span></a><span class="sd"> copy (bool): if `False`, modify this expression instance in-place.</span>
-</span><span id="Subqueryable-2163"><a href="#Subqueryable-2163"><span class="linenos">2163</span></a>
-</span><span id="Subqueryable-2164"><a href="#Subqueryable-2164"><span class="linenos">2164</span></a><span class="sd"> Returns:</span>
-</span><span id="Subqueryable-2165"><a href="#Subqueryable-2165"><span class="linenos">2165</span></a><span class="sd"> Alias: the subquery</span>
-</span><span id="Subqueryable-2166"><a href="#Subqueryable-2166"><span class="linenos">2166</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Subqueryable-2167"><a href="#Subqueryable-2167"><span class="linenos">2167</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Subqueryable-2168"><a href="#Subqueryable-2168"><span class="linenos">2168</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="Subqueryable-2169"><a href="#Subqueryable-2169"><span class="linenos">2169</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span>
-</span><span id="Subqueryable-2170"><a href="#Subqueryable-2170"><span class="linenos">2170</span></a>
-</span><span id="Subqueryable-2171"><a href="#Subqueryable-2171"><span class="linenos">2171</span></a> <span class="k">return</span> <span class="n">Subquery</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="Subqueryable-2172"><a href="#Subqueryable-2172"><span class="linenos">2172</span></a>
-</span><span id="Subqueryable-2173"><a href="#Subqueryable-2173"><span class="linenos">2173</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="Subqueryable-2174"><a href="#Subqueryable-2174"><span class="linenos">2174</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Subqueryable-2175"><a href="#Subqueryable-2175"><span class="linenos">2175</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Subqueryable-2176"><a href="#Subqueryable-2176"><span class="linenos">2176</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span>
-</span><span id="Subqueryable-2177"><a href="#Subqueryable-2177"><span class="linenos">2177</span></a>
-</span><span id="Subqueryable-2178"><a href="#Subqueryable-2178"><span class="linenos">2178</span></a> <span class="nd">@property</span>
-</span><span id="Subqueryable-2179"><a href="#Subqueryable-2179"><span class="linenos">2179</span></a> <span class="k">def</span> <span class="nf">ctes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Subqueryable-2180"><a href="#Subqueryable-2180"><span class="linenos">2180</span></a> <span class="n">with_</span> <span class="o">=</span> <span class="bp">self</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">&quot;with&quot;</span><span class="p">)</span>
-</span><span id="Subqueryable-2181"><a href="#Subqueryable-2181"><span class="linenos">2181</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">with_</span><span class="p">:</span>
-</span><span id="Subqueryable-2182"><a href="#Subqueryable-2182"><span class="linenos">2182</span></a> <span class="k">return</span> <span class="p">[]</span>
-</span><span id="Subqueryable-2183"><a href="#Subqueryable-2183"><span class="linenos">2183</span></a> <span class="k">return</span> <span class="n">with_</span><span class="o">.</span><span class="n">expressions</span>
-</span><span id="Subqueryable-2184"><a href="#Subqueryable-2184"><span class="linenos">2184</span></a>
-</span><span id="Subqueryable-2185"><a href="#Subqueryable-2185"><span class="linenos">2185</span></a> <span class="nd">@property</span>
-</span><span id="Subqueryable-2186"><a href="#Subqueryable-2186"><span class="linenos">2186</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Subqueryable-2187"><a href="#Subqueryable-2187"><span class="linenos">2187</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `selects`&quot;</span><span class="p">)</span>
-</span><span id="Subqueryable-2188"><a href="#Subqueryable-2188"><span class="linenos">2188</span></a>
-</span><span id="Subqueryable-2189"><a href="#Subqueryable-2189"><span class="linenos">2189</span></a> <span class="nd">@property</span>
-</span><span id="Subqueryable-2190"><a href="#Subqueryable-2190"><span class="linenos">2190</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Subqueryable-2191"><a href="#Subqueryable-2191"><span class="linenos">2191</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `named_selects`&quot;</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable-2158"><a href="#Subqueryable-2158"><span class="linenos">2158</span></a><span class="k">class</span> <span class="nc">Subqueryable</span><span class="p">(</span><span class="n">Unionable</span><span class="p">):</span>
+</span><span id="Subqueryable-2159"><a href="#Subqueryable-2159"><span class="linenos">2159</span></a> <span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">alias</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subquery</span><span class="p">:</span>
+</span><span id="Subqueryable-2160"><a href="#Subqueryable-2160"><span class="linenos">2160</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Subqueryable-2161"><a href="#Subqueryable-2161"><span class="linenos">2161</span></a><span class="sd"> Convert this expression to an aliased expression that can be used as a Subquery.</span>
+</span><span id="Subqueryable-2162"><a href="#Subqueryable-2162"><span class="linenos">2162</span></a>
+</span><span id="Subqueryable-2163"><a href="#Subqueryable-2163"><span class="linenos">2163</span></a><span class="sd"> Example:</span>
+</span><span id="Subqueryable-2164"><a href="#Subqueryable-2164"><span class="linenos">2164</span></a><span class="sd"> &gt;&gt;&gt; subquery = Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).subquery()</span>
+</span><span id="Subqueryable-2165"><a href="#Subqueryable-2165"><span class="linenos">2165</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(subquery).sql()</span>
+</span><span id="Subqueryable-2166"><a href="#Subqueryable-2166"><span class="linenos">2166</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl)&#39;</span>
+</span><span id="Subqueryable-2167"><a href="#Subqueryable-2167"><span class="linenos">2167</span></a>
+</span><span id="Subqueryable-2168"><a href="#Subqueryable-2168"><span class="linenos">2168</span></a><span class="sd"> Args:</span>
+</span><span id="Subqueryable-2169"><a href="#Subqueryable-2169"><span class="linenos">2169</span></a><span class="sd"> alias (str | Identifier): an optional alias for the subquery</span>
+</span><span id="Subqueryable-2170"><a href="#Subqueryable-2170"><span class="linenos">2170</span></a><span class="sd"> copy (bool): if `False`, modify this expression instance in-place.</span>
+</span><span id="Subqueryable-2171"><a href="#Subqueryable-2171"><span class="linenos">2171</span></a>
+</span><span id="Subqueryable-2172"><a href="#Subqueryable-2172"><span class="linenos">2172</span></a><span class="sd"> Returns:</span>
+</span><span id="Subqueryable-2173"><a href="#Subqueryable-2173"><span class="linenos">2173</span></a><span class="sd"> Alias: the subquery</span>
+</span><span id="Subqueryable-2174"><a href="#Subqueryable-2174"><span class="linenos">2174</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Subqueryable-2175"><a href="#Subqueryable-2175"><span class="linenos">2175</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Subqueryable-2176"><a href="#Subqueryable-2176"><span class="linenos">2176</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="Subqueryable-2177"><a href="#Subqueryable-2177"><span class="linenos">2177</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span>
+</span><span id="Subqueryable-2178"><a href="#Subqueryable-2178"><span class="linenos">2178</span></a>
+</span><span id="Subqueryable-2179"><a href="#Subqueryable-2179"><span class="linenos">2179</span></a> <span class="k">return</span> <span class="n">Subquery</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="Subqueryable-2180"><a href="#Subqueryable-2180"><span class="linenos">2180</span></a>
+</span><span id="Subqueryable-2181"><a href="#Subqueryable-2181"><span class="linenos">2181</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="Subqueryable-2182"><a href="#Subqueryable-2182"><span class="linenos">2182</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Subqueryable-2183"><a href="#Subqueryable-2183"><span class="linenos">2183</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Subqueryable-2184"><a href="#Subqueryable-2184"><span class="linenos">2184</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span>
+</span><span id="Subqueryable-2185"><a href="#Subqueryable-2185"><span class="linenos">2185</span></a>
+</span><span id="Subqueryable-2186"><a href="#Subqueryable-2186"><span class="linenos">2186</span></a> <span class="nd">@property</span>
+</span><span id="Subqueryable-2187"><a href="#Subqueryable-2187"><span class="linenos">2187</span></a> <span class="k">def</span> <span class="nf">ctes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Subqueryable-2188"><a href="#Subqueryable-2188"><span class="linenos">2188</span></a> <span class="n">with_</span> <span class="o">=</span> <span class="bp">self</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">&quot;with&quot;</span><span class="p">)</span>
+</span><span id="Subqueryable-2189"><a href="#Subqueryable-2189"><span class="linenos">2189</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">with_</span><span class="p">:</span>
+</span><span id="Subqueryable-2190"><a href="#Subqueryable-2190"><span class="linenos">2190</span></a> <span class="k">return</span> <span class="p">[]</span>
+</span><span id="Subqueryable-2191"><a href="#Subqueryable-2191"><span class="linenos">2191</span></a> <span class="k">return</span> <span class="n">with_</span><span class="o">.</span><span class="n">expressions</span>
</span><span id="Subqueryable-2192"><a href="#Subqueryable-2192"><span class="linenos">2192</span></a>
-</span><span id="Subqueryable-2193"><a href="#Subqueryable-2193"><span class="linenos">2193</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
-</span><span id="Subqueryable-2194"><a href="#Subqueryable-2194"><span class="linenos">2194</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Subqueryable-2195"><a href="#Subqueryable-2195"><span class="linenos">2195</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Subqueryable-2196"><a href="#Subqueryable-2196"><span class="linenos">2196</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Subqueryable-2197"><a href="#Subqueryable-2197"><span class="linenos">2197</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Subqueryable-2198"><a href="#Subqueryable-2198"><span class="linenos">2198</span></a> <span class="n">append</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="Subqueryable-2199"><a href="#Subqueryable-2199"><span class="linenos">2199</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="Subqueryable-2200"><a href="#Subqueryable-2200"><span class="linenos">2200</span></a> <span class="n">copy</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="Subqueryable-2201"><a href="#Subqueryable-2201"><span class="linenos">2201</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Subqueryable-2202"><a href="#Subqueryable-2202"><span class="linenos">2202</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subqueryable</span><span class="p">:</span>
-</span><span id="Subqueryable-2203"><a href="#Subqueryable-2203"><span class="linenos">2203</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Subqueryable-2204"><a href="#Subqueryable-2204"><span class="linenos">2204</span></a><span class="sd"> Append to or set the common table expressions.</span>
-</span><span id="Subqueryable-2205"><a href="#Subqueryable-2205"><span class="linenos">2205</span></a>
-</span><span id="Subqueryable-2206"><a href="#Subqueryable-2206"><span class="linenos">2206</span></a><span class="sd"> Example:</span>
-</span><span id="Subqueryable-2207"><a href="#Subqueryable-2207"><span class="linenos">2207</span></a><span class="sd"> &gt;&gt;&gt; Select().with_(&quot;tbl2&quot;, as_=&quot;SELECT * FROM tbl&quot;).select(&quot;x&quot;).from_(&quot;tbl2&quot;).sql()</span>
-</span><span id="Subqueryable-2208"><a href="#Subqueryable-2208"><span class="linenos">2208</span></a><span class="sd"> &#39;WITH tbl2 AS (SELECT * FROM tbl) SELECT x FROM tbl2&#39;</span>
-</span><span id="Subqueryable-2209"><a href="#Subqueryable-2209"><span class="linenos">2209</span></a>
-</span><span id="Subqueryable-2210"><a href="#Subqueryable-2210"><span class="linenos">2210</span></a><span class="sd"> Args:</span>
-</span><span id="Subqueryable-2211"><a href="#Subqueryable-2211"><span class="linenos">2211</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
-</span><span id="Subqueryable-2212"><a href="#Subqueryable-2212"><span class="linenos">2212</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
-</span><span id="Subqueryable-2213"><a href="#Subqueryable-2213"><span class="linenos">2213</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
-</span><span id="Subqueryable-2214"><a href="#Subqueryable-2214"><span class="linenos">2214</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Subqueryable-2215"><a href="#Subqueryable-2215"><span class="linenos">2215</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
-</span><span id="Subqueryable-2216"><a href="#Subqueryable-2216"><span class="linenos">2216</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Subqueryable-2217"><a href="#Subqueryable-2217"><span class="linenos">2217</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Subqueryable-2218"><a href="#Subqueryable-2218"><span class="linenos">2218</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Subqueryable-2219"><a href="#Subqueryable-2219"><span class="linenos">2219</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Subqueryable-2220"><a href="#Subqueryable-2220"><span class="linenos">2220</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Subqueryable-2221"><a href="#Subqueryable-2221"><span class="linenos">2221</span></a>
-</span><span id="Subqueryable-2222"><a href="#Subqueryable-2222"><span class="linenos">2222</span></a><span class="sd"> Returns:</span>
-</span><span id="Subqueryable-2223"><a href="#Subqueryable-2223"><span class="linenos">2223</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Subqueryable-2224"><a href="#Subqueryable-2224"><span class="linenos">2224</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Subqueryable-2225"><a href="#Subqueryable-2225"><span class="linenos">2225</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="Subqueryable-2226"><a href="#Subqueryable-2226"><span class="linenos">2226</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Subqueryable-2227"><a href="#Subqueryable-2227"><span class="linenos">2227</span></a> <span class="p">)</span>
+</span><span id="Subqueryable-2193"><a href="#Subqueryable-2193"><span class="linenos">2193</span></a> <span class="nd">@property</span>
+</span><span id="Subqueryable-2194"><a href="#Subqueryable-2194"><span class="linenos">2194</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Subqueryable-2195"><a href="#Subqueryable-2195"><span class="linenos">2195</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `selects`&quot;</span><span class="p">)</span>
+</span><span id="Subqueryable-2196"><a href="#Subqueryable-2196"><span class="linenos">2196</span></a>
+</span><span id="Subqueryable-2197"><a href="#Subqueryable-2197"><span class="linenos">2197</span></a> <span class="nd">@property</span>
+</span><span id="Subqueryable-2198"><a href="#Subqueryable-2198"><span class="linenos">2198</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Subqueryable-2199"><a href="#Subqueryable-2199"><span class="linenos">2199</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Subqueryable objects must implement `named_selects`&quot;</span><span class="p">)</span>
+</span><span id="Subqueryable-2200"><a href="#Subqueryable-2200"><span class="linenos">2200</span></a>
+</span><span id="Subqueryable-2201"><a href="#Subqueryable-2201"><span class="linenos">2201</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
+</span><span id="Subqueryable-2202"><a href="#Subqueryable-2202"><span class="linenos">2202</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Subqueryable-2203"><a href="#Subqueryable-2203"><span class="linenos">2203</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Subqueryable-2204"><a href="#Subqueryable-2204"><span class="linenos">2204</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Subqueryable-2205"><a href="#Subqueryable-2205"><span class="linenos">2205</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Subqueryable-2206"><a href="#Subqueryable-2206"><span class="linenos">2206</span></a> <span class="n">append</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="Subqueryable-2207"><a href="#Subqueryable-2207"><span class="linenos">2207</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="Subqueryable-2208"><a href="#Subqueryable-2208"><span class="linenos">2208</span></a> <span class="n">copy</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="Subqueryable-2209"><a href="#Subqueryable-2209"><span class="linenos">2209</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Subqueryable-2210"><a href="#Subqueryable-2210"><span class="linenos">2210</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subqueryable</span><span class="p">:</span>
+</span><span id="Subqueryable-2211"><a href="#Subqueryable-2211"><span class="linenos">2211</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Subqueryable-2212"><a href="#Subqueryable-2212"><span class="linenos">2212</span></a><span class="sd"> Append to or set the common table expressions.</span>
+</span><span id="Subqueryable-2213"><a href="#Subqueryable-2213"><span class="linenos">2213</span></a>
+</span><span id="Subqueryable-2214"><a href="#Subqueryable-2214"><span class="linenos">2214</span></a><span class="sd"> Example:</span>
+</span><span id="Subqueryable-2215"><a href="#Subqueryable-2215"><span class="linenos">2215</span></a><span class="sd"> &gt;&gt;&gt; Select().with_(&quot;tbl2&quot;, as_=&quot;SELECT * FROM tbl&quot;).select(&quot;x&quot;).from_(&quot;tbl2&quot;).sql()</span>
+</span><span id="Subqueryable-2216"><a href="#Subqueryable-2216"><span class="linenos">2216</span></a><span class="sd"> &#39;WITH tbl2 AS (SELECT * FROM tbl) SELECT x FROM tbl2&#39;</span>
+</span><span id="Subqueryable-2217"><a href="#Subqueryable-2217"><span class="linenos">2217</span></a>
+</span><span id="Subqueryable-2218"><a href="#Subqueryable-2218"><span class="linenos">2218</span></a><span class="sd"> Args:</span>
+</span><span id="Subqueryable-2219"><a href="#Subqueryable-2219"><span class="linenos">2219</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
+</span><span id="Subqueryable-2220"><a href="#Subqueryable-2220"><span class="linenos">2220</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
+</span><span id="Subqueryable-2221"><a href="#Subqueryable-2221"><span class="linenos">2221</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
+</span><span id="Subqueryable-2222"><a href="#Subqueryable-2222"><span class="linenos">2222</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Subqueryable-2223"><a href="#Subqueryable-2223"><span class="linenos">2223</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
+</span><span id="Subqueryable-2224"><a href="#Subqueryable-2224"><span class="linenos">2224</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Subqueryable-2225"><a href="#Subqueryable-2225"><span class="linenos">2225</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Subqueryable-2226"><a href="#Subqueryable-2226"><span class="linenos">2226</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Subqueryable-2227"><a href="#Subqueryable-2227"><span class="linenos">2227</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Subqueryable-2228"><a href="#Subqueryable-2228"><span class="linenos">2228</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Subqueryable-2229"><a href="#Subqueryable-2229"><span class="linenos">2229</span></a>
+</span><span id="Subqueryable-2230"><a href="#Subqueryable-2230"><span class="linenos">2230</span></a><span class="sd"> Returns:</span>
+</span><span id="Subqueryable-2231"><a href="#Subqueryable-2231"><span class="linenos">2231</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Subqueryable-2232"><a href="#Subqueryable-2232"><span class="linenos">2232</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Subqueryable-2233"><a href="#Subqueryable-2233"><span class="linenos">2233</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="Subqueryable-2234"><a href="#Subqueryable-2234"><span class="linenos">2234</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Subqueryable-2235"><a href="#Subqueryable-2235"><span class="linenos">2235</span></a> <span class="p">)</span>
</span></pre></div>
@@ -23190,27 +30514,27 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Subqueryable.subquery"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable.subquery-2151"><a href="#Subqueryable.subquery-2151"><span class="linenos">2151</span></a> <span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">alias</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subquery</span><span class="p">:</span>
-</span><span id="Subqueryable.subquery-2152"><a href="#Subqueryable.subquery-2152"><span class="linenos">2152</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Subqueryable.subquery-2153"><a href="#Subqueryable.subquery-2153"><span class="linenos">2153</span></a><span class="sd"> Convert this expression to an aliased expression that can be used as a Subquery.</span>
-</span><span id="Subqueryable.subquery-2154"><a href="#Subqueryable.subquery-2154"><span class="linenos">2154</span></a>
-</span><span id="Subqueryable.subquery-2155"><a href="#Subqueryable.subquery-2155"><span class="linenos">2155</span></a><span class="sd"> Example:</span>
-</span><span id="Subqueryable.subquery-2156"><a href="#Subqueryable.subquery-2156"><span class="linenos">2156</span></a><span class="sd"> &gt;&gt;&gt; subquery = Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).subquery()</span>
-</span><span id="Subqueryable.subquery-2157"><a href="#Subqueryable.subquery-2157"><span class="linenos">2157</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(subquery).sql()</span>
-</span><span id="Subqueryable.subquery-2158"><a href="#Subqueryable.subquery-2158"><span class="linenos">2158</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl)&#39;</span>
-</span><span id="Subqueryable.subquery-2159"><a href="#Subqueryable.subquery-2159"><span class="linenos">2159</span></a>
-</span><span id="Subqueryable.subquery-2160"><a href="#Subqueryable.subquery-2160"><span class="linenos">2160</span></a><span class="sd"> Args:</span>
-</span><span id="Subqueryable.subquery-2161"><a href="#Subqueryable.subquery-2161"><span class="linenos">2161</span></a><span class="sd"> alias (str | Identifier): an optional alias for the subquery</span>
-</span><span id="Subqueryable.subquery-2162"><a href="#Subqueryable.subquery-2162"><span class="linenos">2162</span></a><span class="sd"> copy (bool): if `False`, modify this expression instance in-place.</span>
-</span><span id="Subqueryable.subquery-2163"><a href="#Subqueryable.subquery-2163"><span class="linenos">2163</span></a>
-</span><span id="Subqueryable.subquery-2164"><a href="#Subqueryable.subquery-2164"><span class="linenos">2164</span></a><span class="sd"> Returns:</span>
-</span><span id="Subqueryable.subquery-2165"><a href="#Subqueryable.subquery-2165"><span class="linenos">2165</span></a><span class="sd"> Alias: the subquery</span>
-</span><span id="Subqueryable.subquery-2166"><a href="#Subqueryable.subquery-2166"><span class="linenos">2166</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Subqueryable.subquery-2167"><a href="#Subqueryable.subquery-2167"><span class="linenos">2167</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Subqueryable.subquery-2168"><a href="#Subqueryable.subquery-2168"><span class="linenos">2168</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="Subqueryable.subquery-2169"><a href="#Subqueryable.subquery-2169"><span class="linenos">2169</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span>
-</span><span id="Subqueryable.subquery-2170"><a href="#Subqueryable.subquery-2170"><span class="linenos">2170</span></a>
-</span><span id="Subqueryable.subquery-2171"><a href="#Subqueryable.subquery-2171"><span class="linenos">2171</span></a> <span class="k">return</span> <span class="n">Subquery</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable.subquery-2159"><a href="#Subqueryable.subquery-2159"><span class="linenos">2159</span></a> <span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">alias</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subquery</span><span class="p">:</span>
+</span><span id="Subqueryable.subquery-2160"><a href="#Subqueryable.subquery-2160"><span class="linenos">2160</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Subqueryable.subquery-2161"><a href="#Subqueryable.subquery-2161"><span class="linenos">2161</span></a><span class="sd"> Convert this expression to an aliased expression that can be used as a Subquery.</span>
+</span><span id="Subqueryable.subquery-2162"><a href="#Subqueryable.subquery-2162"><span class="linenos">2162</span></a>
+</span><span id="Subqueryable.subquery-2163"><a href="#Subqueryable.subquery-2163"><span class="linenos">2163</span></a><span class="sd"> Example:</span>
+</span><span id="Subqueryable.subquery-2164"><a href="#Subqueryable.subquery-2164"><span class="linenos">2164</span></a><span class="sd"> &gt;&gt;&gt; subquery = Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).subquery()</span>
+</span><span id="Subqueryable.subquery-2165"><a href="#Subqueryable.subquery-2165"><span class="linenos">2165</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(subquery).sql()</span>
+</span><span id="Subqueryable.subquery-2166"><a href="#Subqueryable.subquery-2166"><span class="linenos">2166</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl)&#39;</span>
+</span><span id="Subqueryable.subquery-2167"><a href="#Subqueryable.subquery-2167"><span class="linenos">2167</span></a>
+</span><span id="Subqueryable.subquery-2168"><a href="#Subqueryable.subquery-2168"><span class="linenos">2168</span></a><span class="sd"> Args:</span>
+</span><span id="Subqueryable.subquery-2169"><a href="#Subqueryable.subquery-2169"><span class="linenos">2169</span></a><span class="sd"> alias (str | Identifier): an optional alias for the subquery</span>
+</span><span id="Subqueryable.subquery-2170"><a href="#Subqueryable.subquery-2170"><span class="linenos">2170</span></a><span class="sd"> copy (bool): if `False`, modify this expression instance in-place.</span>
+</span><span id="Subqueryable.subquery-2171"><a href="#Subqueryable.subquery-2171"><span class="linenos">2171</span></a>
+</span><span id="Subqueryable.subquery-2172"><a href="#Subqueryable.subquery-2172"><span class="linenos">2172</span></a><span class="sd"> Returns:</span>
+</span><span id="Subqueryable.subquery-2173"><a href="#Subqueryable.subquery-2173"><span class="linenos">2173</span></a><span class="sd"> Alias: the subquery</span>
+</span><span id="Subqueryable.subquery-2174"><a href="#Subqueryable.subquery-2174"><span class="linenos">2174</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Subqueryable.subquery-2175"><a href="#Subqueryable.subquery-2175"><span class="linenos">2175</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Subqueryable.subquery-2176"><a href="#Subqueryable.subquery-2176"><span class="linenos">2176</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="Subqueryable.subquery-2177"><a href="#Subqueryable.subquery-2177"><span class="linenos">2177</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span>
+</span><span id="Subqueryable.subquery-2178"><a href="#Subqueryable.subquery-2178"><span class="linenos">2178</span></a>
+</span><span id="Subqueryable.subquery-2179"><a href="#Subqueryable.subquery-2179"><span class="linenos">2179</span></a> <span class="k">return</span> <span class="n">Subquery</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
</span></pre></div>
@@ -23254,16 +30578,49 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Subqueryable.limit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable.limit-2173"><a href="#Subqueryable.limit-2173"><span class="linenos">2173</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="Subqueryable.limit-2174"><a href="#Subqueryable.limit-2174"><span class="linenos">2174</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Subqueryable.limit-2175"><a href="#Subqueryable.limit-2175"><span class="linenos">2175</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Subqueryable.limit-2176"><a href="#Subqueryable.limit-2176"><span class="linenos">2176</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable.limit-2181"><a href="#Subqueryable.limit-2181"><span class="linenos">2181</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="Subqueryable.limit-2182"><a href="#Subqueryable.limit-2182"><span class="linenos">2182</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Subqueryable.limit-2183"><a href="#Subqueryable.limit-2183"><span class="linenos">2183</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Subqueryable.limit-2184"><a href="#Subqueryable.limit-2184"><span class="linenos">2184</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span>
</span></pre></div>
</div>
+ <div id="Subqueryable.ctes" class="classattr">
+ <div class="attr variable">
+ <span class="name">ctes</span>
+
+
+ </div>
+ <a class="headerlink" href="#Subqueryable.ctes"></a>
+
+
+
+ </div>
+ <div id="Subqueryable.selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#Subqueryable.selects"></a>
+
+
+
+ </div>
+ <div id="Subqueryable.named_selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">named_selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#Subqueryable.named_selects"></a>
+
+
+
+ </div>
<div id="Subqueryable.with_" class="classattr">
<input id="Subqueryable.with_-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -23275,41 +30632,41 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Subqueryable.with_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable.with_-2193"><a href="#Subqueryable.with_-2193"><span class="linenos">2193</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
-</span><span id="Subqueryable.with_-2194"><a href="#Subqueryable.with_-2194"><span class="linenos">2194</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Subqueryable.with_-2195"><a href="#Subqueryable.with_-2195"><span class="linenos">2195</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Subqueryable.with_-2196"><a href="#Subqueryable.with_-2196"><span class="linenos">2196</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Subqueryable.with_-2197"><a href="#Subqueryable.with_-2197"><span class="linenos">2197</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Subqueryable.with_-2198"><a href="#Subqueryable.with_-2198"><span class="linenos">2198</span></a> <span class="n">append</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="Subqueryable.with_-2199"><a href="#Subqueryable.with_-2199"><span class="linenos">2199</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="Subqueryable.with_-2200"><a href="#Subqueryable.with_-2200"><span class="linenos">2200</span></a> <span class="n">copy</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="Subqueryable.with_-2201"><a href="#Subqueryable.with_-2201"><span class="linenos">2201</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Subqueryable.with_-2202"><a href="#Subqueryable.with_-2202"><span class="linenos">2202</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subqueryable</span><span class="p">:</span>
-</span><span id="Subqueryable.with_-2203"><a href="#Subqueryable.with_-2203"><span class="linenos">2203</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Subqueryable.with_-2204"><a href="#Subqueryable.with_-2204"><span class="linenos">2204</span></a><span class="sd"> Append to or set the common table expressions.</span>
-</span><span id="Subqueryable.with_-2205"><a href="#Subqueryable.with_-2205"><span class="linenos">2205</span></a>
-</span><span id="Subqueryable.with_-2206"><a href="#Subqueryable.with_-2206"><span class="linenos">2206</span></a><span class="sd"> Example:</span>
-</span><span id="Subqueryable.with_-2207"><a href="#Subqueryable.with_-2207"><span class="linenos">2207</span></a><span class="sd"> &gt;&gt;&gt; Select().with_(&quot;tbl2&quot;, as_=&quot;SELECT * FROM tbl&quot;).select(&quot;x&quot;).from_(&quot;tbl2&quot;).sql()</span>
-</span><span id="Subqueryable.with_-2208"><a href="#Subqueryable.with_-2208"><span class="linenos">2208</span></a><span class="sd"> &#39;WITH tbl2 AS (SELECT * FROM tbl) SELECT x FROM tbl2&#39;</span>
-</span><span id="Subqueryable.with_-2209"><a href="#Subqueryable.with_-2209"><span class="linenos">2209</span></a>
-</span><span id="Subqueryable.with_-2210"><a href="#Subqueryable.with_-2210"><span class="linenos">2210</span></a><span class="sd"> Args:</span>
-</span><span id="Subqueryable.with_-2211"><a href="#Subqueryable.with_-2211"><span class="linenos">2211</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
-</span><span id="Subqueryable.with_-2212"><a href="#Subqueryable.with_-2212"><span class="linenos">2212</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
-</span><span id="Subqueryable.with_-2213"><a href="#Subqueryable.with_-2213"><span class="linenos">2213</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
-</span><span id="Subqueryable.with_-2214"><a href="#Subqueryable.with_-2214"><span class="linenos">2214</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Subqueryable.with_-2215"><a href="#Subqueryable.with_-2215"><span class="linenos">2215</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
-</span><span id="Subqueryable.with_-2216"><a href="#Subqueryable.with_-2216"><span class="linenos">2216</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Subqueryable.with_-2217"><a href="#Subqueryable.with_-2217"><span class="linenos">2217</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Subqueryable.with_-2218"><a href="#Subqueryable.with_-2218"><span class="linenos">2218</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Subqueryable.with_-2219"><a href="#Subqueryable.with_-2219"><span class="linenos">2219</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Subqueryable.with_-2220"><a href="#Subqueryable.with_-2220"><span class="linenos">2220</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Subqueryable.with_-2221"><a href="#Subqueryable.with_-2221"><span class="linenos">2221</span></a>
-</span><span id="Subqueryable.with_-2222"><a href="#Subqueryable.with_-2222"><span class="linenos">2222</span></a><span class="sd"> Returns:</span>
-</span><span id="Subqueryable.with_-2223"><a href="#Subqueryable.with_-2223"><span class="linenos">2223</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Subqueryable.with_-2224"><a href="#Subqueryable.with_-2224"><span class="linenos">2224</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Subqueryable.with_-2225"><a href="#Subqueryable.with_-2225"><span class="linenos">2225</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
-</span><span id="Subqueryable.with_-2226"><a href="#Subqueryable.with_-2226"><span class="linenos">2226</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Subqueryable.with_-2227"><a href="#Subqueryable.with_-2227"><span class="linenos">2227</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Subqueryable.with_-2201"><a href="#Subqueryable.with_-2201"><span class="linenos">2201</span></a> <span class="k">def</span> <span class="nf">with_</span><span class="p">(</span>
+</span><span id="Subqueryable.with_-2202"><a href="#Subqueryable.with_-2202"><span class="linenos">2202</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Subqueryable.with_-2203"><a href="#Subqueryable.with_-2203"><span class="linenos">2203</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Subqueryable.with_-2204"><a href="#Subqueryable.with_-2204"><span class="linenos">2204</span></a> <span class="n">as_</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Subqueryable.with_-2205"><a href="#Subqueryable.with_-2205"><span class="linenos">2205</span></a> <span class="n">recursive</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Subqueryable.with_-2206"><a href="#Subqueryable.with_-2206"><span class="linenos">2206</span></a> <span class="n">append</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="Subqueryable.with_-2207"><a href="#Subqueryable.with_-2207"><span class="linenos">2207</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="Subqueryable.with_-2208"><a href="#Subqueryable.with_-2208"><span class="linenos">2208</span></a> <span class="n">copy</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="Subqueryable.with_-2209"><a href="#Subqueryable.with_-2209"><span class="linenos">2209</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Subqueryable.with_-2210"><a href="#Subqueryable.with_-2210"><span class="linenos">2210</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Subqueryable</span><span class="p">:</span>
+</span><span id="Subqueryable.with_-2211"><a href="#Subqueryable.with_-2211"><span class="linenos">2211</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Subqueryable.with_-2212"><a href="#Subqueryable.with_-2212"><span class="linenos">2212</span></a><span class="sd"> Append to or set the common table expressions.</span>
+</span><span id="Subqueryable.with_-2213"><a href="#Subqueryable.with_-2213"><span class="linenos">2213</span></a>
+</span><span id="Subqueryable.with_-2214"><a href="#Subqueryable.with_-2214"><span class="linenos">2214</span></a><span class="sd"> Example:</span>
+</span><span id="Subqueryable.with_-2215"><a href="#Subqueryable.with_-2215"><span class="linenos">2215</span></a><span class="sd"> &gt;&gt;&gt; Select().with_(&quot;tbl2&quot;, as_=&quot;SELECT * FROM tbl&quot;).select(&quot;x&quot;).from_(&quot;tbl2&quot;).sql()</span>
+</span><span id="Subqueryable.with_-2216"><a href="#Subqueryable.with_-2216"><span class="linenos">2216</span></a><span class="sd"> &#39;WITH tbl2 AS (SELECT * FROM tbl) SELECT x FROM tbl2&#39;</span>
+</span><span id="Subqueryable.with_-2217"><a href="#Subqueryable.with_-2217"><span class="linenos">2217</span></a>
+</span><span id="Subqueryable.with_-2218"><a href="#Subqueryable.with_-2218"><span class="linenos">2218</span></a><span class="sd"> Args:</span>
+</span><span id="Subqueryable.with_-2219"><a href="#Subqueryable.with_-2219"><span class="linenos">2219</span></a><span class="sd"> alias: the SQL code string to parse as the table name.</span>
+</span><span id="Subqueryable.with_-2220"><a href="#Subqueryable.with_-2220"><span class="linenos">2220</span></a><span class="sd"> If an `Expression` instance is passed, this is used as-is.</span>
+</span><span id="Subqueryable.with_-2221"><a href="#Subqueryable.with_-2221"><span class="linenos">2221</span></a><span class="sd"> as_: the SQL code string to parse as the table expression.</span>
+</span><span id="Subqueryable.with_-2222"><a href="#Subqueryable.with_-2222"><span class="linenos">2222</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Subqueryable.with_-2223"><a href="#Subqueryable.with_-2223"><span class="linenos">2223</span></a><span class="sd"> recursive: set the RECURSIVE part of the expression. Defaults to `False`.</span>
+</span><span id="Subqueryable.with_-2224"><a href="#Subqueryable.with_-2224"><span class="linenos">2224</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Subqueryable.with_-2225"><a href="#Subqueryable.with_-2225"><span class="linenos">2225</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Subqueryable.with_-2226"><a href="#Subqueryable.with_-2226"><span class="linenos">2226</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Subqueryable.with_-2227"><a href="#Subqueryable.with_-2227"><span class="linenos">2227</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Subqueryable.with_-2228"><a href="#Subqueryable.with_-2228"><span class="linenos">2228</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Subqueryable.with_-2229"><a href="#Subqueryable.with_-2229"><span class="linenos">2229</span></a>
+</span><span id="Subqueryable.with_-2230"><a href="#Subqueryable.with_-2230"><span class="linenos">2230</span></a><span class="sd"> Returns:</span>
+</span><span id="Subqueryable.with_-2231"><a href="#Subqueryable.with_-2231"><span class="linenos">2231</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Subqueryable.with_-2232"><a href="#Subqueryable.with_-2232"><span class="linenos">2232</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Subqueryable.with_-2233"><a href="#Subqueryable.with_-2233"><span class="linenos">2233</span></a> <span class="k">return</span> <span class="n">_apply_cte_builder</span><span class="p">(</span>
+</span><span id="Subqueryable.with_-2234"><a href="#Subqueryable.with_-2234"><span class="linenos">2234</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">alias</span><span class="p">,</span> <span class="n">as_</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="n">recursive</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Subqueryable.with_-2235"><a href="#Subqueryable.with_-2235"><span class="linenos">2235</span></a> <span class="p">)</span>
</span></pre></div>
@@ -23349,11 +30706,29 @@ Otherwise, this resets the expressions.</li>
</div>
+ <div id="Subqueryable.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;subqueryable&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Subqueryable.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Subqueryable.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Subqueryable.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Subqueryable.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Subqueryable.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Subqueryable.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Subqueryable.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Subqueryable.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Subqueryable.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Subqueryable.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Subqueryable.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -23363,7 +30738,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Subqueryable.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Subqueryable.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Subqueryable.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Subqueryable.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Subqueryable.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Subqueryable.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Subqueryable.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Subqueryable.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Subqueryable.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Subqueryable.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Subqueryable.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -23402,6 +30781,215 @@ Otherwise, this resets the expressions.</li>
</dl>
</div>
</section>
+ <section id="QUERY_MODIFIERS">
+ <div class="attr variable">
+ <span class="name">QUERY_MODIFIERS</span> =
+<input id="QUERY_MODIFIERS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="QUERY_MODIFIERS-view-value"></label><span class="default_value">{&#39;match&#39;: False, &#39;laterals&#39;: False, &#39;joins&#39;: False, &#39;pivots&#39;: False, &#39;where&#39;: False, &#39;group&#39;: False, &#39;having&#39;: False, &#39;qualify&#39;: False, &#39;windows&#39;: False, &#39;distribute&#39;: False, &#39;sort&#39;: False, &#39;cluster&#39;: False, &#39;order&#39;: False, &#39;limit&#39;: False, &#39;offset&#39;: False, &#39;locks&#39;: False, &#39;sample&#39;: False, &#39;settings&#39;: False, &#39;format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#QUERY_MODIFIERS"></a>
+
+
+
+ </section>
+ <section id="WithTableHint">
+ <input id="WithTableHint-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">WithTableHint</span><wbr>(<span class="base"><a href="#Expression">Expression</a></span>):
+
+ <label class="view-source-button" for="WithTableHint-view-source"><span>View Source</span></label>
+
+ </div>
+ <a class="headerlink" href="#WithTableHint"></a>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="WithTableHint-2262"><a href="#WithTableHint-2262"><span class="linenos">2262</span></a><span class="k">class</span> <span class="nc">WithTableHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="WithTableHint-2263"><a href="#WithTableHint-2263"><span class="linenos">2263</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span></pre></div>
+
+
+
+
+ <div id="WithTableHint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithTableHint.arg_types"></a>
+
+
+
+ </div>
+ <div id="WithTableHint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;withtablehint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#WithTableHint.key"></a>
+
+
+
+ </div>
+ <div class="inherited">
+ <h5>Inherited Members</h5>
+ <dl>
+ <div><dt><a href="#Expression">Expression</a></dt>
+ <dd id="WithTableHint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="WithTableHint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="WithTableHint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="WithTableHint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="WithTableHint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="WithTableHint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="WithTableHint.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="WithTableHint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
+ <dd id="WithTableHint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
+ <dd id="WithTableHint.text" class="function"><a href="#Expression.text">text</a></dd>
+ <dd id="WithTableHint.is_string" class="variable"><a href="#Expression.is_string">is_string</a></dd>
+ <dd id="WithTableHint.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
+ <dd id="WithTableHint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
+ <dd id="WithTableHint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
+ <dd id="WithTableHint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="WithTableHint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="WithTableHint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="WithTableHint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="WithTableHint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="WithTableHint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
+ <dd id="WithTableHint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
+ <dd id="WithTableHint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
+ <dd id="WithTableHint.append" class="function"><a href="#Expression.append">append</a></dd>
+ <dd id="WithTableHint.set" class="function"><a href="#Expression.set">set</a></dd>
+ <dd id="WithTableHint.depth" class="variable"><a href="#Expression.depth">depth</a></dd>
+ <dd id="WithTableHint.iter_expressions" class="function"><a href="#Expression.iter_expressions">iter_expressions</a></dd>
+ <dd id="WithTableHint.find" class="function"><a href="#Expression.find">find</a></dd>
+ <dd id="WithTableHint.find_all" class="function"><a href="#Expression.find_all">find_all</a></dd>
+ <dd id="WithTableHint.find_ancestor" class="function"><a href="#Expression.find_ancestor">find_ancestor</a></dd>
+ <dd id="WithTableHint.parent_select" class="variable"><a href="#Expression.parent_select">parent_select</a></dd>
+ <dd id="WithTableHint.same_parent" class="variable"><a href="#Expression.same_parent">same_parent</a></dd>
+ <dd id="WithTableHint.root" class="function"><a href="#Expression.root">root</a></dd>
+ <dd id="WithTableHint.walk" class="function"><a href="#Expression.walk">walk</a></dd>
+ <dd id="WithTableHint.dfs" class="function"><a href="#Expression.dfs">dfs</a></dd>
+ <dd id="WithTableHint.bfs" class="function"><a href="#Expression.bfs">bfs</a></dd>
+ <dd id="WithTableHint.unnest" class="function"><a href="#Expression.unnest">unnest</a></dd>
+ <dd id="WithTableHint.unalias" class="function"><a href="#Expression.unalias">unalias</a></dd>
+ <dd id="WithTableHint.unnest_operands" class="function"><a href="#Expression.unnest_operands">unnest_operands</a></dd>
+ <dd id="WithTableHint.flatten" class="function"><a href="#Expression.flatten">flatten</a></dd>
+ <dd id="WithTableHint.sql" class="function"><a href="#Expression.sql">sql</a></dd>
+ <dd id="WithTableHint.transform" class="function"><a href="#Expression.transform">transform</a></dd>
+ <dd id="WithTableHint.replace" class="function"><a href="#Expression.replace">replace</a></dd>
+ <dd id="WithTableHint.pop" class="function"><a href="#Expression.pop">pop</a></dd>
+ <dd id="WithTableHint.assert_is" class="function"><a href="#Expression.assert_is">assert_is</a></dd>
+ <dd id="WithTableHint.error_messages" class="function"><a href="#Expression.error_messages">error_messages</a></dd>
+ <dd id="WithTableHint.dump" class="function"><a href="#Expression.dump">dump</a></dd>
+ <dd id="WithTableHint.load" class="function"><a href="#Expression.load">load</a></dd>
+
+ </div>
+ </dl>
+ </div>
+ </section>
+ <section id="IndexTableHint">
+ <input id="IndexTableHint-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">IndexTableHint</span><wbr>(<span class="base"><a href="#Expression">Expression</a></span>):
+
+ <label class="view-source-button" for="IndexTableHint-view-source"><span>View Source</span></label>
+
+ </div>
+ <a class="headerlink" href="#IndexTableHint"></a>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="IndexTableHint-2267"><a href="#IndexTableHint-2267"><span class="linenos">2267</span></a><span class="k">class</span> <span class="nc">IndexTableHint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="IndexTableHint-2268"><a href="#IndexTableHint-2268"><span class="linenos">2268</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span></pre></div>
+
+
+
+
+ <div id="IndexTableHint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False, &#39;target&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#IndexTableHint.arg_types"></a>
+
+
+
+ </div>
+ <div id="IndexTableHint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;indextablehint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#IndexTableHint.key"></a>
+
+
+
+ </div>
+ <div class="inherited">
+ <h5>Inherited Members</h5>
+ <dl>
+ <div><dt><a href="#Expression">Expression</a></dt>
+ <dd id="IndexTableHint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="IndexTableHint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="IndexTableHint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="IndexTableHint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="IndexTableHint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="IndexTableHint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="IndexTableHint.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="IndexTableHint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
+ <dd id="IndexTableHint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
+ <dd id="IndexTableHint.text" class="function"><a href="#Expression.text">text</a></dd>
+ <dd id="IndexTableHint.is_string" class="variable"><a href="#Expression.is_string">is_string</a></dd>
+ <dd id="IndexTableHint.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
+ <dd id="IndexTableHint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
+ <dd id="IndexTableHint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
+ <dd id="IndexTableHint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="IndexTableHint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="IndexTableHint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="IndexTableHint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="IndexTableHint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="IndexTableHint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
+ <dd id="IndexTableHint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
+ <dd id="IndexTableHint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
+ <dd id="IndexTableHint.append" class="function"><a href="#Expression.append">append</a></dd>
+ <dd id="IndexTableHint.set" class="function"><a href="#Expression.set">set</a></dd>
+ <dd id="IndexTableHint.depth" class="variable"><a href="#Expression.depth">depth</a></dd>
+ <dd id="IndexTableHint.iter_expressions" class="function"><a href="#Expression.iter_expressions">iter_expressions</a></dd>
+ <dd id="IndexTableHint.find" class="function"><a href="#Expression.find">find</a></dd>
+ <dd id="IndexTableHint.find_all" class="function"><a href="#Expression.find_all">find_all</a></dd>
+ <dd id="IndexTableHint.find_ancestor" class="function"><a href="#Expression.find_ancestor">find_ancestor</a></dd>
+ <dd id="IndexTableHint.parent_select" class="variable"><a href="#Expression.parent_select">parent_select</a></dd>
+ <dd id="IndexTableHint.same_parent" class="variable"><a href="#Expression.same_parent">same_parent</a></dd>
+ <dd id="IndexTableHint.root" class="function"><a href="#Expression.root">root</a></dd>
+ <dd id="IndexTableHint.walk" class="function"><a href="#Expression.walk">walk</a></dd>
+ <dd id="IndexTableHint.dfs" class="function"><a href="#Expression.dfs">dfs</a></dd>
+ <dd id="IndexTableHint.bfs" class="function"><a href="#Expression.bfs">bfs</a></dd>
+ <dd id="IndexTableHint.unnest" class="function"><a href="#Expression.unnest">unnest</a></dd>
+ <dd id="IndexTableHint.unalias" class="function"><a href="#Expression.unalias">unalias</a></dd>
+ <dd id="IndexTableHint.unnest_operands" class="function"><a href="#Expression.unnest_operands">unnest_operands</a></dd>
+ <dd id="IndexTableHint.flatten" class="function"><a href="#Expression.flatten">flatten</a></dd>
+ <dd id="IndexTableHint.sql" class="function"><a href="#Expression.sql">sql</a></dd>
+ <dd id="IndexTableHint.transform" class="function"><a href="#Expression.transform">transform</a></dd>
+ <dd id="IndexTableHint.replace" class="function"><a href="#Expression.replace">replace</a></dd>
+ <dd id="IndexTableHint.pop" class="function"><a href="#Expression.pop">pop</a></dd>
+ <dd id="IndexTableHint.assert_is" class="function"><a href="#Expression.assert_is">assert_is</a></dd>
+ <dd id="IndexTableHint.error_messages" class="function"><a href="#Expression.error_messages">error_messages</a></dd>
+ <dd id="IndexTableHint.dump" class="function"><a href="#Expression.dump">dump</a></dd>
+ <dd id="IndexTableHint.load" class="function"><a href="#Expression.load">load</a></dd>
+
+ </div>
+ </dl>
+ </div>
+ </section>
<section id="Table">
<input id="Table-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr class">
@@ -23413,40 +31001,75 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Table"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Table-2253"><a href="#Table-2253"><span class="linenos">2253</span></a><span class="k">class</span> <span class="nc">Table</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Table-2254"><a href="#Table-2254"><span class="linenos">2254</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Table-2255"><a href="#Table-2255"><span class="linenos">2255</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Table-2256"><a href="#Table-2256"><span class="linenos">2256</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2257"><a href="#Table-2257"><span class="linenos">2257</span></a> <span class="s2">&quot;db&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2258"><a href="#Table-2258"><span class="linenos">2258</span></a> <span class="s2">&quot;catalog&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2259"><a href="#Table-2259"><span class="linenos">2259</span></a> <span class="s2">&quot;laterals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2260"><a href="#Table-2260"><span class="linenos">2260</span></a> <span class="s2">&quot;joins&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2261"><a href="#Table-2261"><span class="linenos">2261</span></a> <span class="s2">&quot;pivots&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2262"><a href="#Table-2262"><span class="linenos">2262</span></a> <span class="s2">&quot;hints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2263"><a href="#Table-2263"><span class="linenos">2263</span></a> <span class="s2">&quot;system_time&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Table-2264"><a href="#Table-2264"><span class="linenos">2264</span></a> <span class="p">}</span>
-</span><span id="Table-2265"><a href="#Table-2265"><span class="linenos">2265</span></a>
-</span><span id="Table-2266"><a href="#Table-2266"><span class="linenos">2266</span></a> <span class="nd">@property</span>
-</span><span id="Table-2267"><a href="#Table-2267"><span class="linenos">2267</span></a> <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Table-2268"><a href="#Table-2268"><span class="linenos">2268</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">)</span>
-</span><span id="Table-2269"><a href="#Table-2269"><span class="linenos">2269</span></a>
-</span><span id="Table-2270"><a href="#Table-2270"><span class="linenos">2270</span></a> <span class="nd">@property</span>
-</span><span id="Table-2271"><a href="#Table-2271"><span class="linenos">2271</span></a> <span class="k">def</span> <span class="nf">catalog</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Table-2272"><a href="#Table-2272"><span class="linenos">2272</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">)</span>
-</span><span id="Table-2273"><a href="#Table-2273"><span class="linenos">2273</span></a>
-</span><span id="Table-2274"><a href="#Table-2274"><span class="linenos">2274</span></a> <span class="nd">@property</span>
-</span><span id="Table-2275"><a href="#Table-2275"><span class="linenos">2275</span></a> <span class="k">def</span> <span class="nf">parts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Identifier</span><span class="p">]:</span>
-</span><span id="Table-2276"><a href="#Table-2276"><span class="linenos">2276</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the parts of a table in order catalog, db, table.&quot;&quot;&quot;</span>
-</span><span id="Table-2277"><a href="#Table-2277"><span class="linenos">2277</span></a> <span class="k">return</span> <span class="p">[</span>
-</span><span id="Table-2278"><a href="#Table-2278"><span class="linenos">2278</span></a> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Identifier</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">part</span><span class="p">])</span>
-</span><span id="Table-2279"><a href="#Table-2279"><span class="linenos">2279</span></a> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">)</span>
-</span><span id="Table-2280"><a href="#Table-2280"><span class="linenos">2280</span></a> <span class="k">if</span> <span class="bp">self</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="n">part</span><span class="p">)</span>
-</span><span id="Table-2281"><a href="#Table-2281"><span class="linenos">2281</span></a> <span class="p">]</span>
-</span></pre></div>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Table-2271"><a href="#Table-2271"><span class="linenos">2271</span></a><span class="k">class</span> <span class="nc">Table</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Table-2272"><a href="#Table-2272"><span class="linenos">2272</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Table-2273"><a href="#Table-2273"><span class="linenos">2273</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Table-2274"><a href="#Table-2274"><span class="linenos">2274</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2275"><a href="#Table-2275"><span class="linenos">2275</span></a> <span class="s2">&quot;db&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2276"><a href="#Table-2276"><span class="linenos">2276</span></a> <span class="s2">&quot;catalog&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2277"><a href="#Table-2277"><span class="linenos">2277</span></a> <span class="s2">&quot;laterals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2278"><a href="#Table-2278"><span class="linenos">2278</span></a> <span class="s2">&quot;joins&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2279"><a href="#Table-2279"><span class="linenos">2279</span></a> <span class="s2">&quot;pivots&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2280"><a href="#Table-2280"><span class="linenos">2280</span></a> <span class="s2">&quot;hints&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2281"><a href="#Table-2281"><span class="linenos">2281</span></a> <span class="s2">&quot;system_time&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Table-2282"><a href="#Table-2282"><span class="linenos">2282</span></a> <span class="p">}</span>
+</span><span id="Table-2283"><a href="#Table-2283"><span class="linenos">2283</span></a>
+</span><span id="Table-2284"><a href="#Table-2284"><span class="linenos">2284</span></a> <span class="nd">@property</span>
+</span><span id="Table-2285"><a href="#Table-2285"><span class="linenos">2285</span></a> <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Table-2286"><a href="#Table-2286"><span class="linenos">2286</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">)</span>
+</span><span id="Table-2287"><a href="#Table-2287"><span class="linenos">2287</span></a>
+</span><span id="Table-2288"><a href="#Table-2288"><span class="linenos">2288</span></a> <span class="nd">@property</span>
+</span><span id="Table-2289"><a href="#Table-2289"><span class="linenos">2289</span></a> <span class="k">def</span> <span class="nf">catalog</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Table-2290"><a href="#Table-2290"><span class="linenos">2290</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">)</span>
+</span><span id="Table-2291"><a href="#Table-2291"><span class="linenos">2291</span></a>
+</span><span id="Table-2292"><a href="#Table-2292"><span class="linenos">2292</span></a> <span class="nd">@property</span>
+</span><span id="Table-2293"><a href="#Table-2293"><span class="linenos">2293</span></a> <span class="k">def</span> <span class="nf">parts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Identifier</span><span class="p">]:</span>
+</span><span id="Table-2294"><a href="#Table-2294"><span class="linenos">2294</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the parts of a table in order catalog, db, table.&quot;&quot;&quot;</span>
+</span><span id="Table-2295"><a href="#Table-2295"><span class="linenos">2295</span></a> <span class="k">return</span> <span class="p">[</span>
+</span><span id="Table-2296"><a href="#Table-2296"><span class="linenos">2296</span></a> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Identifier</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">part</span><span class="p">])</span>
+</span><span id="Table-2297"><a href="#Table-2297"><span class="linenos">2297</span></a> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">)</span>
+</span><span id="Table-2298"><a href="#Table-2298"><span class="linenos">2298</span></a> <span class="k">if</span> <span class="bp">self</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="n">part</span><span class="p">)</span>
+</span><span id="Table-2299"><a href="#Table-2299"><span class="linenos">2299</span></a> <span class="p">]</span>
+</span></pre></div>
+
+
+
+
+ <div id="Table.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Table.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Table.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;alias&#39;: False, &#39;db&#39;: False, &#39;catalog&#39;: False, &#39;laterals&#39;: False, &#39;joins&#39;: False, &#39;pivots&#39;: False, &#39;hints&#39;: False, &#39;system_time&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Table.arg_types"></a>
+
+
+
+ </div>
+ <div id="Table.db" class="classattr">
+ <div class="attr variable">
+ <span class="name">db</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Table.db"></a>
+
+
+ </div>
+ <div id="Table.catalog" class="classattr">
+ <div class="attr variable">
+ <span class="name">catalog</span><span class="annotation">: str</span>
+
+ </div>
+ <a class="headerlink" href="#Table.catalog"></a>
+
+ </div>
<div id="Table.parts" class="classattr">
<div class="attr variable">
<span class="name">parts</span><span class="annotation">: List[<a href="#Identifier">sqlglot.expressions.Identifier</a>]</span>
@@ -23460,11 +31083,28 @@ Otherwise, this resets the expressions.</li>
</div>
+ <div id="Table.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;table&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Table.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Table.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Table.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Table.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Table.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Table.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Table.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Table.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Table.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Table.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -23474,7 +31114,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Table.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Table.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Table.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Table.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Table.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Table.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Table.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Table.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Table.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Table.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Table.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -23518,22 +31162,51 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#SystemTime"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SystemTime-2285"><a href="#SystemTime-2285"><span class="linenos">2285</span></a><span class="k">class</span> <span class="nc">SystemTime</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="SystemTime-2286"><a href="#SystemTime-2286"><span class="linenos">2286</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="SystemTime-2287"><a href="#SystemTime-2287"><span class="linenos">2287</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="SystemTime-2288"><a href="#SystemTime-2288"><span class="linenos">2288</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="SystemTime-2289"><a href="#SystemTime-2289"><span class="linenos">2289</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="SystemTime-2290"><a href="#SystemTime-2290"><span class="linenos">2290</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SystemTime-2303"><a href="#SystemTime-2303"><span class="linenos">2303</span></a><span class="k">class</span> <span class="nc">SystemTime</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="SystemTime-2304"><a href="#SystemTime-2304"><span class="linenos">2304</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="SystemTime-2305"><a href="#SystemTime-2305"><span class="linenos">2305</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="SystemTime-2306"><a href="#SystemTime-2306"><span class="linenos">2306</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="SystemTime-2307"><a href="#SystemTime-2307"><span class="linenos">2307</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="SystemTime-2308"><a href="#SystemTime-2308"><span class="linenos">2308</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="SystemTime.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: False, &#39;kind&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SystemTime.arg_types"></a>
+
+
+
+ </div>
+ <div id="SystemTime.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;systemtime&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SystemTime.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SystemTime.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SystemTime.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SystemTime.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SystemTime.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SystemTime.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SystemTime.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SystemTime.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SystemTime.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SystemTime.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -23543,7 +31216,11 @@ Otherwise, this resets the expressions.</li>
<dd id="SystemTime.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SystemTime.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SystemTime.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SystemTime.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SystemTime.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SystemTime.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SystemTime.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SystemTime.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SystemTime.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SystemTime.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SystemTime.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -23587,101 +31264,114 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Union"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Union-2293"><a href="#Union-2293"><span class="linenos">2293</span></a><span class="k">class</span> <span class="nc">Union</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
-</span><span id="Union-2294"><a href="#Union-2294"><span class="linenos">2294</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Union-2295"><a href="#Union-2295"><span class="linenos">2295</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Union-2296"><a href="#Union-2296"><span class="linenos">2296</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Union-2297"><a href="#Union-2297"><span class="linenos">2297</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Union-2298"><a href="#Union-2298"><span class="linenos">2298</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Union-2299"><a href="#Union-2299"><span class="linenos">2299</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
-</span><span id="Union-2300"><a href="#Union-2300"><span class="linenos">2300</span></a> <span class="p">}</span>
-</span><span id="Union-2301"><a href="#Union-2301"><span class="linenos">2301</span></a>
-</span><span id="Union-2302"><a href="#Union-2302"><span class="linenos">2302</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="Union-2303"><a href="#Union-2303"><span class="linenos">2303</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Union-2304"><a href="#Union-2304"><span class="linenos">2304</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Union-2305"><a href="#Union-2305"><span class="linenos">2305</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Union-2306"><a href="#Union-2306"><span class="linenos">2306</span></a><span class="sd"> Set the LIMIT expression.</span>
-</span><span id="Union-2307"><a href="#Union-2307"><span class="linenos">2307</span></a>
-</span><span id="Union-2308"><a href="#Union-2308"><span class="linenos">2308</span></a><span class="sd"> Example:</span>
-</span><span id="Union-2309"><a href="#Union-2309"><span class="linenos">2309</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;1&quot;).union(select(&quot;1&quot;)).limit(1).sql()</span>
-</span><span id="Union-2310"><a href="#Union-2310"><span class="linenos">2310</span></a><span class="sd"> &#39;SELECT * FROM (SELECT 1 UNION SELECT 1) AS _l_0 LIMIT 1&#39;</span>
-</span><span id="Union-2311"><a href="#Union-2311"><span class="linenos">2311</span></a>
-</span><span id="Union-2312"><a href="#Union-2312"><span class="linenos">2312</span></a><span class="sd"> Args:</span>
-</span><span id="Union-2313"><a href="#Union-2313"><span class="linenos">2313</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Union-2314"><a href="#Union-2314"><span class="linenos">2314</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="Union-2315"><a href="#Union-2315"><span class="linenos">2315</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
-</span><span id="Union-2316"><a href="#Union-2316"><span class="linenos">2316</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
-</span><span id="Union-2317"><a href="#Union-2317"><span class="linenos">2317</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Union-2318"><a href="#Union-2318"><span class="linenos">2318</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Union-2319"><a href="#Union-2319"><span class="linenos">2319</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Union-2320"><a href="#Union-2320"><span class="linenos">2320</span></a>
-</span><span id="Union-2321"><a href="#Union-2321"><span class="linenos">2321</span></a><span class="sd"> Returns:</span>
-</span><span id="Union-2322"><a href="#Union-2322"><span class="linenos">2322</span></a><span class="sd"> The limited subqueryable.</span>
-</span><span id="Union-2323"><a href="#Union-2323"><span class="linenos">2323</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Union-2324"><a href="#Union-2324"><span class="linenos">2324</span></a> <span class="k">return</span> <span class="p">(</span>
-</span><span id="Union-2325"><a href="#Union-2325"><span class="linenos">2325</span></a> <span class="n">select</span><span class="p">(</span><span class="s2">&quot;*&quot;</span><span class="p">)</span>
-</span><span id="Union-2326"><a href="#Union-2326"><span class="linenos">2326</span></a> <span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="o">=</span><span class="s2">&quot;_l_0&quot;</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
-</span><span id="Union-2327"><a href="#Union-2327"><span class="linenos">2327</span></a> <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="Union-2328"><a href="#Union-2328"><span class="linenos">2328</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Union-2311"><a href="#Union-2311"><span class="linenos">2311</span></a><span class="k">class</span> <span class="nc">Union</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
+</span><span id="Union-2312"><a href="#Union-2312"><span class="linenos">2312</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Union-2313"><a href="#Union-2313"><span class="linenos">2313</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Union-2314"><a href="#Union-2314"><span class="linenos">2314</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Union-2315"><a href="#Union-2315"><span class="linenos">2315</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Union-2316"><a href="#Union-2316"><span class="linenos">2316</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Union-2317"><a href="#Union-2317"><span class="linenos">2317</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
+</span><span id="Union-2318"><a href="#Union-2318"><span class="linenos">2318</span></a> <span class="p">}</span>
+</span><span id="Union-2319"><a href="#Union-2319"><span class="linenos">2319</span></a>
+</span><span id="Union-2320"><a href="#Union-2320"><span class="linenos">2320</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="Union-2321"><a href="#Union-2321"><span class="linenos">2321</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Union-2322"><a href="#Union-2322"><span class="linenos">2322</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Union-2323"><a href="#Union-2323"><span class="linenos">2323</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Union-2324"><a href="#Union-2324"><span class="linenos">2324</span></a><span class="sd"> Set the LIMIT expression.</span>
+</span><span id="Union-2325"><a href="#Union-2325"><span class="linenos">2325</span></a>
+</span><span id="Union-2326"><a href="#Union-2326"><span class="linenos">2326</span></a><span class="sd"> Example:</span>
+</span><span id="Union-2327"><a href="#Union-2327"><span class="linenos">2327</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;1&quot;).union(select(&quot;1&quot;)).limit(1).sql()</span>
+</span><span id="Union-2328"><a href="#Union-2328"><span class="linenos">2328</span></a><span class="sd"> &#39;SELECT * FROM (SELECT 1 UNION SELECT 1) AS _l_0 LIMIT 1&#39;</span>
</span><span id="Union-2329"><a href="#Union-2329"><span class="linenos">2329</span></a>
-</span><span id="Union-2330"><a href="#Union-2330"><span class="linenos">2330</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
-</span><span id="Union-2331"><a href="#Union-2331"><span class="linenos">2331</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Union-2332"><a href="#Union-2332"><span class="linenos">2332</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Union-2333"><a href="#Union-2333"><span class="linenos">2333</span></a> <span class="n">append</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="Union-2334"><a href="#Union-2334"><span class="linenos">2334</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="Union-2335"><a href="#Union-2335"><span class="linenos">2335</span></a> <span class="n">copy</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="Union-2336"><a href="#Union-2336"><span class="linenos">2336</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Union-2337"><a href="#Union-2337"><span class="linenos">2337</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
-</span><span id="Union-2338"><a href="#Union-2338"><span class="linenos">2338</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Append to or set the SELECT of the union recursively.</span>
-</span><span id="Union-2339"><a href="#Union-2339"><span class="linenos">2339</span></a>
-</span><span id="Union-2340"><a href="#Union-2340"><span class="linenos">2340</span></a><span class="sd"> Example:</span>
-</span><span id="Union-2341"><a href="#Union-2341"><span class="linenos">2341</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
-</span><span id="Union-2342"><a href="#Union-2342"><span class="linenos">2342</span></a><span class="sd"> &gt;&gt;&gt; parse_one(&quot;select a from x union select a from y union select a from z&quot;).select(&quot;b&quot;).sql()</span>
-</span><span id="Union-2343"><a href="#Union-2343"><span class="linenos">2343</span></a><span class="sd"> &#39;SELECT a, b FROM x UNION SELECT a, b FROM y UNION SELECT a, b FROM z&#39;</span>
-</span><span id="Union-2344"><a href="#Union-2344"><span class="linenos">2344</span></a>
-</span><span id="Union-2345"><a href="#Union-2345"><span class="linenos">2345</span></a><span class="sd"> Args:</span>
-</span><span id="Union-2346"><a href="#Union-2346"><span class="linenos">2346</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Union-2347"><a href="#Union-2347"><span class="linenos">2347</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Union-2348"><a href="#Union-2348"><span class="linenos">2348</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Union-2349"><a href="#Union-2349"><span class="linenos">2349</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Union-2350"><a href="#Union-2350"><span class="linenos">2350</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Union-2351"><a href="#Union-2351"><span class="linenos">2351</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Union-2352"><a href="#Union-2352"><span class="linenos">2352</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Union-2353"><a href="#Union-2353"><span class="linenos">2353</span></a>
-</span><span id="Union-2354"><a href="#Union-2354"><span class="linenos">2354</span></a><span class="sd"> Returns:</span>
-</span><span id="Union-2355"><a href="#Union-2355"><span class="linenos">2355</span></a><span class="sd"> Union: the modified expression.</span>
-</span><span id="Union-2356"><a href="#Union-2356"><span class="linenos">2356</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Union-2357"><a href="#Union-2357"><span class="linenos">2357</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span>
-</span><span id="Union-2358"><a href="#Union-2358"><span class="linenos">2358</span></a> <span class="n">this</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="Union-2359"><a href="#Union-2359"><span class="linenos">2359</span></a> <span class="n">this</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span>
-</span><span id="Union-2360"><a href="#Union-2360"><span class="linenos">2360</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Union-2361"><a href="#Union-2361"><span class="linenos">2361</span></a> <span class="p">)</span>
-</span><span id="Union-2362"><a href="#Union-2362"><span class="linenos">2362</span></a> <span class="k">return</span> <span class="n">this</span>
-</span><span id="Union-2363"><a href="#Union-2363"><span class="linenos">2363</span></a>
-</span><span id="Union-2364"><a href="#Union-2364"><span class="linenos">2364</span></a> <span class="nd">@property</span>
-</span><span id="Union-2365"><a href="#Union-2365"><span class="linenos">2365</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Union-2366"><a href="#Union-2366"><span class="linenos">2366</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">named_selects</span>
-</span><span id="Union-2367"><a href="#Union-2367"><span class="linenos">2367</span></a>
-</span><span id="Union-2368"><a href="#Union-2368"><span class="linenos">2368</span></a> <span class="nd">@property</span>
-</span><span id="Union-2369"><a href="#Union-2369"><span class="linenos">2369</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Union-2370"><a href="#Union-2370"><span class="linenos">2370</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span>
+</span><span id="Union-2330"><a href="#Union-2330"><span class="linenos">2330</span></a><span class="sd"> Args:</span>
+</span><span id="Union-2331"><a href="#Union-2331"><span class="linenos">2331</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Union-2332"><a href="#Union-2332"><span class="linenos">2332</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="Union-2333"><a href="#Union-2333"><span class="linenos">2333</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
+</span><span id="Union-2334"><a href="#Union-2334"><span class="linenos">2334</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
+</span><span id="Union-2335"><a href="#Union-2335"><span class="linenos">2335</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Union-2336"><a href="#Union-2336"><span class="linenos">2336</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Union-2337"><a href="#Union-2337"><span class="linenos">2337</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Union-2338"><a href="#Union-2338"><span class="linenos">2338</span></a>
+</span><span id="Union-2339"><a href="#Union-2339"><span class="linenos">2339</span></a><span class="sd"> Returns:</span>
+</span><span id="Union-2340"><a href="#Union-2340"><span class="linenos">2340</span></a><span class="sd"> The limited subqueryable.</span>
+</span><span id="Union-2341"><a href="#Union-2341"><span class="linenos">2341</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Union-2342"><a href="#Union-2342"><span class="linenos">2342</span></a> <span class="k">return</span> <span class="p">(</span>
+</span><span id="Union-2343"><a href="#Union-2343"><span class="linenos">2343</span></a> <span class="n">select</span><span class="p">(</span><span class="s2">&quot;*&quot;</span><span class="p">)</span>
+</span><span id="Union-2344"><a href="#Union-2344"><span class="linenos">2344</span></a> <span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="o">=</span><span class="s2">&quot;_l_0&quot;</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
+</span><span id="Union-2345"><a href="#Union-2345"><span class="linenos">2345</span></a> <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="Union-2346"><a href="#Union-2346"><span class="linenos">2346</span></a> <span class="p">)</span>
+</span><span id="Union-2347"><a href="#Union-2347"><span class="linenos">2347</span></a>
+</span><span id="Union-2348"><a href="#Union-2348"><span class="linenos">2348</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
+</span><span id="Union-2349"><a href="#Union-2349"><span class="linenos">2349</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Union-2350"><a href="#Union-2350"><span class="linenos">2350</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Union-2351"><a href="#Union-2351"><span class="linenos">2351</span></a> <span class="n">append</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="Union-2352"><a href="#Union-2352"><span class="linenos">2352</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="Union-2353"><a href="#Union-2353"><span class="linenos">2353</span></a> <span class="n">copy</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="Union-2354"><a href="#Union-2354"><span class="linenos">2354</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Union-2355"><a href="#Union-2355"><span class="linenos">2355</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
+</span><span id="Union-2356"><a href="#Union-2356"><span class="linenos">2356</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Append to or set the SELECT of the union recursively.</span>
+</span><span id="Union-2357"><a href="#Union-2357"><span class="linenos">2357</span></a>
+</span><span id="Union-2358"><a href="#Union-2358"><span class="linenos">2358</span></a><span class="sd"> Example:</span>
+</span><span id="Union-2359"><a href="#Union-2359"><span class="linenos">2359</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
+</span><span id="Union-2360"><a href="#Union-2360"><span class="linenos">2360</span></a><span class="sd"> &gt;&gt;&gt; parse_one(&quot;select a from x union select a from y union select a from z&quot;).select(&quot;b&quot;).sql()</span>
+</span><span id="Union-2361"><a href="#Union-2361"><span class="linenos">2361</span></a><span class="sd"> &#39;SELECT a, b FROM x UNION SELECT a, b FROM y UNION SELECT a, b FROM z&#39;</span>
+</span><span id="Union-2362"><a href="#Union-2362"><span class="linenos">2362</span></a>
+</span><span id="Union-2363"><a href="#Union-2363"><span class="linenos">2363</span></a><span class="sd"> Args:</span>
+</span><span id="Union-2364"><a href="#Union-2364"><span class="linenos">2364</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Union-2365"><a href="#Union-2365"><span class="linenos">2365</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Union-2366"><a href="#Union-2366"><span class="linenos">2366</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Union-2367"><a href="#Union-2367"><span class="linenos">2367</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Union-2368"><a href="#Union-2368"><span class="linenos">2368</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Union-2369"><a href="#Union-2369"><span class="linenos">2369</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Union-2370"><a href="#Union-2370"><span class="linenos">2370</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
</span><span id="Union-2371"><a href="#Union-2371"><span class="linenos">2371</span></a>
-</span><span id="Union-2372"><a href="#Union-2372"><span class="linenos">2372</span></a> <span class="nd">@property</span>
-</span><span id="Union-2373"><a href="#Union-2373"><span class="linenos">2373</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Union-2374"><a href="#Union-2374"><span class="linenos">2374</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">selects</span>
-</span><span id="Union-2375"><a href="#Union-2375"><span class="linenos">2375</span></a>
-</span><span id="Union-2376"><a href="#Union-2376"><span class="linenos">2376</span></a> <span class="nd">@property</span>
-</span><span id="Union-2377"><a href="#Union-2377"><span class="linenos">2377</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Union-2378"><a href="#Union-2378"><span class="linenos">2378</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
-</span><span id="Union-2379"><a href="#Union-2379"><span class="linenos">2379</span></a>
-</span><span id="Union-2380"><a href="#Union-2380"><span class="linenos">2380</span></a> <span class="nd">@property</span>
-</span><span id="Union-2381"><a href="#Union-2381"><span class="linenos">2381</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Union-2382"><a href="#Union-2382"><span class="linenos">2382</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
-</span></pre></div>
-
+</span><span id="Union-2372"><a href="#Union-2372"><span class="linenos">2372</span></a><span class="sd"> Returns:</span>
+</span><span id="Union-2373"><a href="#Union-2373"><span class="linenos">2373</span></a><span class="sd"> Union: the modified expression.</span>
+</span><span id="Union-2374"><a href="#Union-2374"><span class="linenos">2374</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Union-2375"><a href="#Union-2375"><span class="linenos">2375</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span>
+</span><span id="Union-2376"><a href="#Union-2376"><span class="linenos">2376</span></a> <span class="n">this</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="Union-2377"><a href="#Union-2377"><span class="linenos">2377</span></a> <span class="n">this</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span>
+</span><span id="Union-2378"><a href="#Union-2378"><span class="linenos">2378</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Union-2379"><a href="#Union-2379"><span class="linenos">2379</span></a> <span class="p">)</span>
+</span><span id="Union-2380"><a href="#Union-2380"><span class="linenos">2380</span></a> <span class="k">return</span> <span class="n">this</span>
+</span><span id="Union-2381"><a href="#Union-2381"><span class="linenos">2381</span></a>
+</span><span id="Union-2382"><a href="#Union-2382"><span class="linenos">2382</span></a> <span class="nd">@property</span>
+</span><span id="Union-2383"><a href="#Union-2383"><span class="linenos">2383</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Union-2384"><a href="#Union-2384"><span class="linenos">2384</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">named_selects</span>
+</span><span id="Union-2385"><a href="#Union-2385"><span class="linenos">2385</span></a>
+</span><span id="Union-2386"><a href="#Union-2386"><span class="linenos">2386</span></a> <span class="nd">@property</span>
+</span><span id="Union-2387"><a href="#Union-2387"><span class="linenos">2387</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Union-2388"><a href="#Union-2388"><span class="linenos">2388</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span>
+</span><span id="Union-2389"><a href="#Union-2389"><span class="linenos">2389</span></a>
+</span><span id="Union-2390"><a href="#Union-2390"><span class="linenos">2390</span></a> <span class="nd">@property</span>
+</span><span id="Union-2391"><a href="#Union-2391"><span class="linenos">2391</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Union-2392"><a href="#Union-2392"><span class="linenos">2392</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">selects</span>
+</span><span id="Union-2393"><a href="#Union-2393"><span class="linenos">2393</span></a>
+</span><span id="Union-2394"><a href="#Union-2394"><span class="linenos">2394</span></a> <span class="nd">@property</span>
+</span><span id="Union-2395"><a href="#Union-2395"><span class="linenos">2395</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Union-2396"><a href="#Union-2396"><span class="linenos">2396</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
+</span><span id="Union-2397"><a href="#Union-2397"><span class="linenos">2397</span></a>
+</span><span id="Union-2398"><a href="#Union-2398"><span class="linenos">2398</span></a> <span class="nd">@property</span>
+</span><span id="Union-2399"><a href="#Union-2399"><span class="linenos">2399</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Union-2400"><a href="#Union-2400"><span class="linenos">2400</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
+</span></pre></div>
+
+
+
+
+ <div id="Union.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Union.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Union.arg_types-view-value"></label><span class="default_value">{&#39;with&#39;: False, &#39;this&#39;: True, &#39;expression&#39;: True, &#39;distinct&#39;: False, &#39;match&#39;: False, &#39;laterals&#39;: False, &#39;joins&#39;: False, &#39;pivots&#39;: False, &#39;where&#39;: False, &#39;group&#39;: False, &#39;having&#39;: False, &#39;qualify&#39;: False, &#39;windows&#39;: False, &#39;distribute&#39;: False, &#39;sort&#39;: False, &#39;cluster&#39;: False, &#39;order&#39;: False, &#39;limit&#39;: False, &#39;offset&#39;: False, &#39;locks&#39;: False, &#39;sample&#39;: False, &#39;settings&#39;: False, &#39;format&#39;: False}</span>
+
+ </div>
+ <a class="headerlink" href="#Union.arg_types"></a>
+
+ </div>
<div id="Union.limit" class="classattr">
<input id="Union.limit-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -23693,33 +31383,33 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Union.limit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Union.limit-2302"><a href="#Union.limit-2302"><span class="linenos">2302</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="Union.limit-2303"><a href="#Union.limit-2303"><span class="linenos">2303</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Union.limit-2304"><a href="#Union.limit-2304"><span class="linenos">2304</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Union.limit-2305"><a href="#Union.limit-2305"><span class="linenos">2305</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Union.limit-2306"><a href="#Union.limit-2306"><span class="linenos">2306</span></a><span class="sd"> Set the LIMIT expression.</span>
-</span><span id="Union.limit-2307"><a href="#Union.limit-2307"><span class="linenos">2307</span></a>
-</span><span id="Union.limit-2308"><a href="#Union.limit-2308"><span class="linenos">2308</span></a><span class="sd"> Example:</span>
-</span><span id="Union.limit-2309"><a href="#Union.limit-2309"><span class="linenos">2309</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;1&quot;).union(select(&quot;1&quot;)).limit(1).sql()</span>
-</span><span id="Union.limit-2310"><a href="#Union.limit-2310"><span class="linenos">2310</span></a><span class="sd"> &#39;SELECT * FROM (SELECT 1 UNION SELECT 1) AS _l_0 LIMIT 1&#39;</span>
-</span><span id="Union.limit-2311"><a href="#Union.limit-2311"><span class="linenos">2311</span></a>
-</span><span id="Union.limit-2312"><a href="#Union.limit-2312"><span class="linenos">2312</span></a><span class="sd"> Args:</span>
-</span><span id="Union.limit-2313"><a href="#Union.limit-2313"><span class="linenos">2313</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Union.limit-2314"><a href="#Union.limit-2314"><span class="linenos">2314</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="Union.limit-2315"><a href="#Union.limit-2315"><span class="linenos">2315</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
-</span><span id="Union.limit-2316"><a href="#Union.limit-2316"><span class="linenos">2316</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
-</span><span id="Union.limit-2317"><a href="#Union.limit-2317"><span class="linenos">2317</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Union.limit-2318"><a href="#Union.limit-2318"><span class="linenos">2318</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Union.limit-2319"><a href="#Union.limit-2319"><span class="linenos">2319</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Union.limit-2320"><a href="#Union.limit-2320"><span class="linenos">2320</span></a>
-</span><span id="Union.limit-2321"><a href="#Union.limit-2321"><span class="linenos">2321</span></a><span class="sd"> Returns:</span>
-</span><span id="Union.limit-2322"><a href="#Union.limit-2322"><span class="linenos">2322</span></a><span class="sd"> The limited subqueryable.</span>
-</span><span id="Union.limit-2323"><a href="#Union.limit-2323"><span class="linenos">2323</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Union.limit-2324"><a href="#Union.limit-2324"><span class="linenos">2324</span></a> <span class="k">return</span> <span class="p">(</span>
-</span><span id="Union.limit-2325"><a href="#Union.limit-2325"><span class="linenos">2325</span></a> <span class="n">select</span><span class="p">(</span><span class="s2">&quot;*&quot;</span><span class="p">)</span>
-</span><span id="Union.limit-2326"><a href="#Union.limit-2326"><span class="linenos">2326</span></a> <span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="o">=</span><span class="s2">&quot;_l_0&quot;</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
-</span><span id="Union.limit-2327"><a href="#Union.limit-2327"><span class="linenos">2327</span></a> <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="Union.limit-2328"><a href="#Union.limit-2328"><span class="linenos">2328</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Union.limit-2320"><a href="#Union.limit-2320"><span class="linenos">2320</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="Union.limit-2321"><a href="#Union.limit-2321"><span class="linenos">2321</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Union.limit-2322"><a href="#Union.limit-2322"><span class="linenos">2322</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Union.limit-2323"><a href="#Union.limit-2323"><span class="linenos">2323</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Union.limit-2324"><a href="#Union.limit-2324"><span class="linenos">2324</span></a><span class="sd"> Set the LIMIT expression.</span>
+</span><span id="Union.limit-2325"><a href="#Union.limit-2325"><span class="linenos">2325</span></a>
+</span><span id="Union.limit-2326"><a href="#Union.limit-2326"><span class="linenos">2326</span></a><span class="sd"> Example:</span>
+</span><span id="Union.limit-2327"><a href="#Union.limit-2327"><span class="linenos">2327</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;1&quot;).union(select(&quot;1&quot;)).limit(1).sql()</span>
+</span><span id="Union.limit-2328"><a href="#Union.limit-2328"><span class="linenos">2328</span></a><span class="sd"> &#39;SELECT * FROM (SELECT 1 UNION SELECT 1) AS _l_0 LIMIT 1&#39;</span>
+</span><span id="Union.limit-2329"><a href="#Union.limit-2329"><span class="linenos">2329</span></a>
+</span><span id="Union.limit-2330"><a href="#Union.limit-2330"><span class="linenos">2330</span></a><span class="sd"> Args:</span>
+</span><span id="Union.limit-2331"><a href="#Union.limit-2331"><span class="linenos">2331</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Union.limit-2332"><a href="#Union.limit-2332"><span class="linenos">2332</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="Union.limit-2333"><a href="#Union.limit-2333"><span class="linenos">2333</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
+</span><span id="Union.limit-2334"><a href="#Union.limit-2334"><span class="linenos">2334</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
+</span><span id="Union.limit-2335"><a href="#Union.limit-2335"><span class="linenos">2335</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Union.limit-2336"><a href="#Union.limit-2336"><span class="linenos">2336</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Union.limit-2337"><a href="#Union.limit-2337"><span class="linenos">2337</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Union.limit-2338"><a href="#Union.limit-2338"><span class="linenos">2338</span></a>
+</span><span id="Union.limit-2339"><a href="#Union.limit-2339"><span class="linenos">2339</span></a><span class="sd"> Returns:</span>
+</span><span id="Union.limit-2340"><a href="#Union.limit-2340"><span class="linenos">2340</span></a><span class="sd"> The limited subqueryable.</span>
+</span><span id="Union.limit-2341"><a href="#Union.limit-2341"><span class="linenos">2341</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Union.limit-2342"><a href="#Union.limit-2342"><span class="linenos">2342</span></a> <span class="k">return</span> <span class="p">(</span>
+</span><span id="Union.limit-2343"><a href="#Union.limit-2343"><span class="linenos">2343</span></a> <span class="n">select</span><span class="p">(</span><span class="s2">&quot;*&quot;</span><span class="p">)</span>
+</span><span id="Union.limit-2344"><a href="#Union.limit-2344"><span class="linenos">2344</span></a> <span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="o">=</span><span class="s2">&quot;_l_0&quot;</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
+</span><span id="Union.limit-2345"><a href="#Union.limit-2345"><span class="linenos">2345</span></a> <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="Union.limit-2346"><a href="#Union.limit-2346"><span class="linenos">2346</span></a> <span class="p">)</span>
</span></pre></div>
@@ -23767,39 +31457,39 @@ If another <code><a href="#Expression">Expression</a></code> instance is passed,
</div>
<a class="headerlink" href="#Union.select"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Union.select-2330"><a href="#Union.select-2330"><span class="linenos">2330</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
-</span><span id="Union.select-2331"><a href="#Union.select-2331"><span class="linenos">2331</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Union.select-2332"><a href="#Union.select-2332"><span class="linenos">2332</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Union.select-2333"><a href="#Union.select-2333"><span class="linenos">2333</span></a> <span class="n">append</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="Union.select-2334"><a href="#Union.select-2334"><span class="linenos">2334</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="Union.select-2335"><a href="#Union.select-2335"><span class="linenos">2335</span></a> <span class="n">copy</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="Union.select-2336"><a href="#Union.select-2336"><span class="linenos">2336</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Union.select-2337"><a href="#Union.select-2337"><span class="linenos">2337</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
-</span><span id="Union.select-2338"><a href="#Union.select-2338"><span class="linenos">2338</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Append to or set the SELECT of the union recursively.</span>
-</span><span id="Union.select-2339"><a href="#Union.select-2339"><span class="linenos">2339</span></a>
-</span><span id="Union.select-2340"><a href="#Union.select-2340"><span class="linenos">2340</span></a><span class="sd"> Example:</span>
-</span><span id="Union.select-2341"><a href="#Union.select-2341"><span class="linenos">2341</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
-</span><span id="Union.select-2342"><a href="#Union.select-2342"><span class="linenos">2342</span></a><span class="sd"> &gt;&gt;&gt; parse_one(&quot;select a from x union select a from y union select a from z&quot;).select(&quot;b&quot;).sql()</span>
-</span><span id="Union.select-2343"><a href="#Union.select-2343"><span class="linenos">2343</span></a><span class="sd"> &#39;SELECT a, b FROM x UNION SELECT a, b FROM y UNION SELECT a, b FROM z&#39;</span>
-</span><span id="Union.select-2344"><a href="#Union.select-2344"><span class="linenos">2344</span></a>
-</span><span id="Union.select-2345"><a href="#Union.select-2345"><span class="linenos">2345</span></a><span class="sd"> Args:</span>
-</span><span id="Union.select-2346"><a href="#Union.select-2346"><span class="linenos">2346</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Union.select-2347"><a href="#Union.select-2347"><span class="linenos">2347</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Union.select-2348"><a href="#Union.select-2348"><span class="linenos">2348</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Union.select-2349"><a href="#Union.select-2349"><span class="linenos">2349</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Union.select-2350"><a href="#Union.select-2350"><span class="linenos">2350</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Union.select-2351"><a href="#Union.select-2351"><span class="linenos">2351</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Union.select-2352"><a href="#Union.select-2352"><span class="linenos">2352</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Union.select-2353"><a href="#Union.select-2353"><span class="linenos">2353</span></a>
-</span><span id="Union.select-2354"><a href="#Union.select-2354"><span class="linenos">2354</span></a><span class="sd"> Returns:</span>
-</span><span id="Union.select-2355"><a href="#Union.select-2355"><span class="linenos">2355</span></a><span class="sd"> Union: the modified expression.</span>
-</span><span id="Union.select-2356"><a href="#Union.select-2356"><span class="linenos">2356</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Union.select-2357"><a href="#Union.select-2357"><span class="linenos">2357</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span>
-</span><span id="Union.select-2358"><a href="#Union.select-2358"><span class="linenos">2358</span></a> <span class="n">this</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="Union.select-2359"><a href="#Union.select-2359"><span class="linenos">2359</span></a> <span class="n">this</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span>
-</span><span id="Union.select-2360"><a href="#Union.select-2360"><span class="linenos">2360</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Union.select-2361"><a href="#Union.select-2361"><span class="linenos">2361</span></a> <span class="p">)</span>
-</span><span id="Union.select-2362"><a href="#Union.select-2362"><span class="linenos">2362</span></a> <span class="k">return</span> <span class="n">this</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Union.select-2348"><a href="#Union.select-2348"><span class="linenos">2348</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
+</span><span id="Union.select-2349"><a href="#Union.select-2349"><span class="linenos">2349</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Union.select-2350"><a href="#Union.select-2350"><span class="linenos">2350</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Union.select-2351"><a href="#Union.select-2351"><span class="linenos">2351</span></a> <span class="n">append</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="Union.select-2352"><a href="#Union.select-2352"><span class="linenos">2352</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="Union.select-2353"><a href="#Union.select-2353"><span class="linenos">2353</span></a> <span class="n">copy</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="Union.select-2354"><a href="#Union.select-2354"><span class="linenos">2354</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Union.select-2355"><a href="#Union.select-2355"><span class="linenos">2355</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
+</span><span id="Union.select-2356"><a href="#Union.select-2356"><span class="linenos">2356</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Append to or set the SELECT of the union recursively.</span>
+</span><span id="Union.select-2357"><a href="#Union.select-2357"><span class="linenos">2357</span></a>
+</span><span id="Union.select-2358"><a href="#Union.select-2358"><span class="linenos">2358</span></a><span class="sd"> Example:</span>
+</span><span id="Union.select-2359"><a href="#Union.select-2359"><span class="linenos">2359</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
+</span><span id="Union.select-2360"><a href="#Union.select-2360"><span class="linenos">2360</span></a><span class="sd"> &gt;&gt;&gt; parse_one(&quot;select a from x union select a from y union select a from z&quot;).select(&quot;b&quot;).sql()</span>
+</span><span id="Union.select-2361"><a href="#Union.select-2361"><span class="linenos">2361</span></a><span class="sd"> &#39;SELECT a, b FROM x UNION SELECT a, b FROM y UNION SELECT a, b FROM z&#39;</span>
+</span><span id="Union.select-2362"><a href="#Union.select-2362"><span class="linenos">2362</span></a>
+</span><span id="Union.select-2363"><a href="#Union.select-2363"><span class="linenos">2363</span></a><span class="sd"> Args:</span>
+</span><span id="Union.select-2364"><a href="#Union.select-2364"><span class="linenos">2364</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Union.select-2365"><a href="#Union.select-2365"><span class="linenos">2365</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Union.select-2366"><a href="#Union.select-2366"><span class="linenos">2366</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Union.select-2367"><a href="#Union.select-2367"><span class="linenos">2367</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Union.select-2368"><a href="#Union.select-2368"><span class="linenos">2368</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Union.select-2369"><a href="#Union.select-2369"><span class="linenos">2369</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Union.select-2370"><a href="#Union.select-2370"><span class="linenos">2370</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Union.select-2371"><a href="#Union.select-2371"><span class="linenos">2371</span></a>
+</span><span id="Union.select-2372"><a href="#Union.select-2372"><span class="linenos">2372</span></a><span class="sd"> Returns:</span>
+</span><span id="Union.select-2373"><a href="#Union.select-2373"><span class="linenos">2373</span></a><span class="sd"> Union: the modified expression.</span>
+</span><span id="Union.select-2374"><a href="#Union.select-2374"><span class="linenos">2374</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Union.select-2375"><a href="#Union.select-2375"><span class="linenos">2375</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> <span class="k">if</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span>
+</span><span id="Union.select-2376"><a href="#Union.select-2376"><span class="linenos">2376</span></a> <span class="n">this</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="Union.select-2377"><a href="#Union.select-2377"><span class="linenos">2377</span></a> <span class="n">this</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">unnest</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span>
+</span><span id="Union.select-2378"><a href="#Union.select-2378"><span class="linenos">2378</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span> <span class="n">append</span><span class="o">=</span><span class="n">append</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Union.select-2379"><a href="#Union.select-2379"><span class="linenos">2379</span></a> <span class="p">)</span>
+</span><span id="Union.select-2380"><a href="#Union.select-2380"><span class="linenos">2380</span></a> <span class="k">return</span> <span class="n">this</span>
</span></pre></div>
@@ -23837,6 +31527,17 @@ Otherwise, this resets the expressions.</li>
</div>
+ <div id="Union.named_selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">named_selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#Union.named_selects"></a>
+
+
+
+ </div>
<div id="Union.is_star" class="classattr">
<div class="attr variable">
<span class="name">is_star</span><span class="annotation">: bool</span>
@@ -23850,11 +31551,61 @@ Otherwise, this resets the expressions.</li>
</div>
+ <div id="Union.selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">selects</span>
+
+
+ </div>
+ <a class="headerlink" href="#Union.selects"></a>
+
+
+
+ </div>
+ <div id="Union.left" class="classattr">
+ <div class="attr variable">
+ <span class="name">left</span>
+
+
+ </div>
+ <a class="headerlink" href="#Union.left"></a>
+
+
+
+ </div>
+ <div id="Union.right" class="classattr">
+ <div class="attr variable">
+ <span class="name">right</span>
+
+
+ </div>
+ <a class="headerlink" href="#Union.right"></a>
+
+
+
+ </div>
+ <div id="Union.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;union&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Union.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Union.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Union.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Union.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Union.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Union.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Union.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Union.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Union.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Union.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -23863,7 +31614,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Union.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
<dd id="Union.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Union.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Union.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Union.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Union.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Union.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Union.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Union.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Union.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Union.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -23895,6 +31650,7 @@ Otherwise, this resets the expressions.</li>
</div>
<div><dt><a href="#Subqueryable">Subqueryable</a></dt>
<dd id="Union.subquery" class="function"><a href="#Subqueryable.subquery">subquery</a></dd>
+ <dd id="Union.ctes" class="variable"><a href="#Subqueryable.ctes">ctes</a></dd>
<dd id="Union.with_" class="function"><a href="#Subqueryable.with_">with_</a></dd>
</div>
@@ -23918,18 +31674,35 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Except"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Except-2385"><a href="#Except-2385"><span class="linenos">2385</span></a><span class="k">class</span> <span class="nc">Except</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
-</span><span id="Except-2386"><a href="#Except-2386"><span class="linenos">2386</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Except-2403"><a href="#Except-2403"><span class="linenos">2403</span></a><span class="k">class</span> <span class="nc">Except</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
+</span><span id="Except-2404"><a href="#Except-2404"><span class="linenos">2404</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Except.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;except&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Except.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Except.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Except.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Except.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Except.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Except.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Except.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Except.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Except.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Except.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -23938,7 +31711,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Except.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
<dd id="Except.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Except.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Except.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Except.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Except.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Except.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Except.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Except.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Except.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Except.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -23969,13 +31746,19 @@ Otherwise, this resets the expressions.</li>
</div>
<div><dt><a href="#Union">Union</a></dt>
- <dd id="Except.limit" class="function"><a href="#Union.limit">limit</a></dd>
+ <dd id="Except.arg_types" class="variable"><a href="#Union.arg_types">arg_types</a></dd>
+ <dd id="Except.limit" class="function"><a href="#Union.limit">limit</a></dd>
<dd id="Except.select" class="function"><a href="#Union.select">select</a></dd>
+ <dd id="Except.named_selects" class="variable"><a href="#Union.named_selects">named_selects</a></dd>
<dd id="Except.is_star" class="variable"><a href="#Union.is_star">is_star</a></dd>
+ <dd id="Except.selects" class="variable"><a href="#Union.selects">selects</a></dd>
+ <dd id="Except.left" class="variable"><a href="#Union.left">left</a></dd>
+ <dd id="Except.right" class="variable"><a href="#Union.right">right</a></dd>
</div>
<div><dt><a href="#Subqueryable">Subqueryable</a></dt>
<dd id="Except.subquery" class="function"><a href="#Subqueryable.subquery">subquery</a></dd>
+ <dd id="Except.ctes" class="variable"><a href="#Subqueryable.ctes">ctes</a></dd>
<dd id="Except.with_" class="function"><a href="#Subqueryable.with_">with_</a></dd>
</div>
@@ -23999,18 +31782,35 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Intersect"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Intersect-2389"><a href="#Intersect-2389"><span class="linenos">2389</span></a><span class="k">class</span> <span class="nc">Intersect</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
-</span><span id="Intersect-2390"><a href="#Intersect-2390"><span class="linenos">2390</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Intersect-2407"><a href="#Intersect-2407"><span class="linenos">2407</span></a><span class="k">class</span> <span class="nc">Intersect</span><span class="p">(</span><span class="n">Union</span><span class="p">):</span>
+</span><span id="Intersect-2408"><a href="#Intersect-2408"><span class="linenos">2408</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Intersect.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;intersect&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Intersect.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Intersect.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Intersect.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Intersect.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Intersect.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Intersect.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Intersect.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Intersect.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Intersect.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Intersect.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24019,7 +31819,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Intersect.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
<dd id="Intersect.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Intersect.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Intersect.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Intersect.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Intersect.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Intersect.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Intersect.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Intersect.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Intersect.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Intersect.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24050,13 +31854,19 @@ Otherwise, this resets the expressions.</li>
</div>
<div><dt><a href="#Union">Union</a></dt>
- <dd id="Intersect.limit" class="function"><a href="#Union.limit">limit</a></dd>
+ <dd id="Intersect.arg_types" class="variable"><a href="#Union.arg_types">arg_types</a></dd>
+ <dd id="Intersect.limit" class="function"><a href="#Union.limit">limit</a></dd>
<dd id="Intersect.select" class="function"><a href="#Union.select">select</a></dd>
+ <dd id="Intersect.named_selects" class="variable"><a href="#Union.named_selects">named_selects</a></dd>
<dd id="Intersect.is_star" class="variable"><a href="#Union.is_star">is_star</a></dd>
+ <dd id="Intersect.selects" class="variable"><a href="#Union.selects">selects</a></dd>
+ <dd id="Intersect.left" class="variable"><a href="#Union.left">left</a></dd>
+ <dd id="Intersect.right" class="variable"><a href="#Union.right">right</a></dd>
</div>
<div><dt><a href="#Subqueryable">Subqueryable</a></dt>
<dd id="Intersect.subquery" class="function"><a href="#Subqueryable.subquery">subquery</a></dd>
+ <dd id="Intersect.ctes" class="variable"><a href="#Subqueryable.ctes">ctes</a></dd>
<dd id="Intersect.with_" class="function"><a href="#Subqueryable.with_">with_</a></dd>
</div>
@@ -24080,23 +31890,52 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Unnest"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Unnest-2393"><a href="#Unnest-2393"><span class="linenos">2393</span></a><span class="k">class</span> <span class="nc">Unnest</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
-</span><span id="Unnest-2394"><a href="#Unnest-2394"><span class="linenos">2394</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Unnest-2395"><a href="#Unnest-2395"><span class="linenos">2395</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Unnest-2396"><a href="#Unnest-2396"><span class="linenos">2396</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Unnest-2397"><a href="#Unnest-2397"><span class="linenos">2397</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Unnest-2398"><a href="#Unnest-2398"><span class="linenos">2398</span></a> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Unnest-2399"><a href="#Unnest-2399"><span class="linenos">2399</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Unnest-2411"><a href="#Unnest-2411"><span class="linenos">2411</span></a><span class="k">class</span> <span class="nc">Unnest</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
+</span><span id="Unnest-2412"><a href="#Unnest-2412"><span class="linenos">2412</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Unnest-2413"><a href="#Unnest-2413"><span class="linenos">2413</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Unnest-2414"><a href="#Unnest-2414"><span class="linenos">2414</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Unnest-2415"><a href="#Unnest-2415"><span class="linenos">2415</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Unnest-2416"><a href="#Unnest-2416"><span class="linenos">2416</span></a> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Unnest-2417"><a href="#Unnest-2417"><span class="linenos">2417</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Unnest.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;ordinality&#39;: False, &#39;alias&#39;: False, &#39;offset&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Unnest.arg_types"></a>
+
+
+
+ </div>
+ <div id="Unnest.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unnest&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Unnest.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Unnest.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Unnest.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Unnest.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Unnest.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Unnest.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Unnest.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Unnest.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Unnest.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Unnest.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24106,7 +31945,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Unnest.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Unnest.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Unnest.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Unnest.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Unnest.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Unnest.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Unnest.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Unnest.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Unnest.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Unnest.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Unnest.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24136,6 +31979,15 @@ Otherwise, this resets the expressions.</li>
<dd id="Unnest.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#UDTF">UDTF</a></dt>
+ <dd id="Unnest.selects" class="variable"><a href="#UDTF.selects">selects</a></dd>
+
+ </div>
+ <div><dt><a href="#DerivedTable">DerivedTable</a></dt>
+ <dd id="Unnest.alias_column_names" class="variable"><a href="#DerivedTable.alias_column_names">alias_column_names</a></dd>
+ <dd id="Unnest.named_selects" class="variable"><a href="#DerivedTable.named_selects">named_selects</a></dd>
+
+ </div>
<div><dt><a href="#Unionable">Unionable</a></dt>
<dd id="Unnest.union" class="function"><a href="#Unionable.union">union</a></dd>
<dd id="Unnest.intersect" class="function"><a href="#Unionable.intersect">intersect</a></dd>
@@ -24156,25 +32008,56 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Update"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Update-2402"><a href="#Update-2402"><span class="linenos">2402</span></a><span class="k">class</span> <span class="nc">Update</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Update-2403"><a href="#Update-2403"><span class="linenos">2403</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Update-2404"><a href="#Update-2404"><span class="linenos">2404</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Update-2405"><a href="#Update-2405"><span class="linenos">2405</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Update-2406"><a href="#Update-2406"><span class="linenos">2406</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Update-2407"><a href="#Update-2407"><span class="linenos">2407</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Update-2408"><a href="#Update-2408"><span class="linenos">2408</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Update-2409"><a href="#Update-2409"><span class="linenos">2409</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Update-2410"><a href="#Update-2410"><span class="linenos">2410</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Update-2420"><a href="#Update-2420"><span class="linenos">2420</span></a><span class="k">class</span> <span class="nc">Update</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Update-2421"><a href="#Update-2421"><span class="linenos">2421</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Update-2422"><a href="#Update-2422"><span class="linenos">2422</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Update-2423"><a href="#Update-2423"><span class="linenos">2423</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Update-2424"><a href="#Update-2424"><span class="linenos">2424</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Update-2425"><a href="#Update-2425"><span class="linenos">2425</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Update-2426"><a href="#Update-2426"><span class="linenos">2426</span></a> <span class="s2">&quot;where&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Update-2427"><a href="#Update-2427"><span class="linenos">2427</span></a> <span class="s2">&quot;returning&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Update-2428"><a href="#Update-2428"><span class="linenos">2428</span></a> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Update-2429"><a href="#Update-2429"><span class="linenos">2429</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Update.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Update.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Update.arg_types-view-value"></label><span class="default_value">{&#39;with&#39;: False, &#39;this&#39;: False, &#39;expressions&#39;: True, &#39;from&#39;: False, &#39;where&#39;: False, &#39;returning&#39;: False, &#39;limit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Update.arg_types"></a>
+
+
+
+ </div>
+ <div id="Update.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;update&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Update.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Update.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Update.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Update.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Update.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Update.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Update.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Update.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Update.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Update.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24184,7 +32067,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Update.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Update.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Update.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Update.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Update.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Update.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Update.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Update.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Update.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Update.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Update.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24228,22 +32115,51 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Values"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Values-2413"><a href="#Values-2413"><span class="linenos">2413</span></a><span class="k">class</span> <span class="nc">Values</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
-</span><span id="Values-2414"><a href="#Values-2414"><span class="linenos">2414</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Values-2415"><a href="#Values-2415"><span class="linenos">2415</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Values-2416"><a href="#Values-2416"><span class="linenos">2416</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Values-2417"><a href="#Values-2417"><span class="linenos">2417</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Values-2418"><a href="#Values-2418"><span class="linenos">2418</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Values-2432"><a href="#Values-2432"><span class="linenos">2432</span></a><span class="k">class</span> <span class="nc">Values</span><span class="p">(</span><span class="n">UDTF</span><span class="p">):</span>
+</span><span id="Values-2433"><a href="#Values-2433"><span class="linenos">2433</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Values-2434"><a href="#Values-2434"><span class="linenos">2434</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Values-2435"><a href="#Values-2435"><span class="linenos">2435</span></a> <span class="s2">&quot;ordinality&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Values-2436"><a href="#Values-2436"><span class="linenos">2436</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Values-2437"><a href="#Values-2437"><span class="linenos">2437</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Values.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;ordinality&#39;: False, &#39;alias&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Values.arg_types"></a>
+
+
+
+ </div>
+ <div id="Values.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;values&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Values.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Values.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Values.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Values.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Values.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Values.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Values.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Values.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Values.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Values.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24253,7 +32169,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Values.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Values.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Values.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Values.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Values.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Values.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Values.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Values.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Values.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Values.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Values.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24283,6 +32203,15 @@ Otherwise, this resets the expressions.</li>
<dd id="Values.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#UDTF">UDTF</a></dt>
+ <dd id="Values.selects" class="variable"><a href="#UDTF.selects">selects</a></dd>
+
+ </div>
+ <div><dt><a href="#DerivedTable">DerivedTable</a></dt>
+ <dd id="Values.alias_column_names" class="variable"><a href="#DerivedTable.alias_column_names">alias_column_names</a></dd>
+ <dd id="Values.named_selects" class="variable"><a href="#DerivedTable.named_selects">named_selects</a></dd>
+
+ </div>
<div><dt><a href="#Unionable">Unionable</a></dt>
<dd id="Values.union" class="function"><a href="#Unionable.union">union</a></dd>
<dd id="Values.intersect" class="function"><a href="#Unionable.intersect">intersect</a></dd>
@@ -24303,18 +32232,36 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Var"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Var-2421"><a href="#Var-2421"><span class="linenos">2421</span></a><span class="k">class</span> <span class="nc">Var</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Var-2422"><a href="#Var-2422"><span class="linenos">2422</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Var-2440"><a href="#Var-2440"><span class="linenos">2440</span></a><span class="k">class</span> <span class="nc">Var</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Var-2441"><a href="#Var-2441"><span class="linenos">2441</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Var.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;var&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Var.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Var.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Var.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Var.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Var.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Var.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Var.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Var.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Var.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Var.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Var.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24324,7 +32271,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Var.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Var.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Var.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Var.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Var.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Var.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Var.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Var.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Var.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Var.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Var.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24368,18 +32319,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Schema"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Schema-2425"><a href="#Schema-2425"><span class="linenos">2425</span></a><span class="k">class</span> <span class="nc">Schema</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Schema-2426"><a href="#Schema-2426"><span class="linenos">2426</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Schema-2444"><a href="#Schema-2444"><span class="linenos">2444</span></a><span class="k">class</span> <span class="nc">Schema</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Schema-2445"><a href="#Schema-2445"><span class="linenos">2445</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Schema.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Schema.arg_types"></a>
+
+
+
+ </div>
+ <div id="Schema.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;schema&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Schema.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Schema.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Schema.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Schema.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Schema.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Schema.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Schema.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Schema.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Schema.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Schema.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24389,7 +32369,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Schema.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Schema.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Schema.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Schema.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Schema.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Schema.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Schema.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Schema.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Schema.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Schema.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Schema.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24433,18 +32417,47 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Lock"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Lock-2431"><a href="#Lock-2431"><span class="linenos">2431</span></a><span class="k">class</span> <span class="nc">Lock</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Lock-2432"><a href="#Lock-2432"><span class="linenos">2432</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;wait&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Lock-2450"><a href="#Lock-2450"><span class="linenos">2450</span></a><span class="k">class</span> <span class="nc">Lock</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Lock-2451"><a href="#Lock-2451"><span class="linenos">2451</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;update&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;wait&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Lock.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;update&#39;: True, &#39;expressions&#39;: False, &#39;wait&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lock.arg_types"></a>
+
+
+
+ </div>
+ <div id="Lock.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lock&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lock.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Lock.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Lock.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Lock.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Lock.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Lock.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Lock.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Lock.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Lock.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Lock.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -24454,7 +32467,11 @@ Otherwise, this resets the expressions.</li>
<dd id="Lock.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Lock.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Lock.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Lock.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Lock.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Lock.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Lock.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Lock.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Lock.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Lock.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Lock.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -24498,551 +32515,532 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Select"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select-2435"><a href="#Select-2435"><span class="linenos">2435</span></a><span class="k">class</span> <span class="nc">Select</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
-</span><span id="Select-2436"><a href="#Select-2436"><span class="linenos">2436</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Select-2437"><a href="#Select-2437"><span class="linenos">2437</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2438"><a href="#Select-2438"><span class="linenos">2438</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2439"><a href="#Select-2439"><span class="linenos">2439</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2440"><a href="#Select-2440"><span class="linenos">2440</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2441"><a href="#Select-2441"><span class="linenos">2441</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2442"><a href="#Select-2442"><span class="linenos">2442</span></a> <span class="s2">&quot;into&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2443"><a href="#Select-2443"><span class="linenos">2443</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Select-2444"><a href="#Select-2444"><span class="linenos">2444</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
-</span><span id="Select-2445"><a href="#Select-2445"><span class="linenos">2445</span></a> <span class="p">}</span>
-</span><span id="Select-2446"><a href="#Select-2446"><span class="linenos">2446</span></a>
-</span><span id="Select-2447"><a href="#Select-2447"><span class="linenos">2447</span></a> <span class="k">def</span> <span class="nf">from_</span><span class="p">(</span>
-</span><span id="Select-2448"><a href="#Select-2448"><span class="linenos">2448</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Select-2449"><a href="#Select-2449"><span class="linenos">2449</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2450"><a href="#Select-2450"><span class="linenos">2450</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2451"><a href="#Select-2451"><span class="linenos">2451</span></a><span class="sd"> Set the FROM expression.</span>
-</span><span id="Select-2452"><a href="#Select-2452"><span class="linenos">2452</span></a>
-</span><span id="Select-2453"><a href="#Select-2453"><span class="linenos">2453</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2454"><a href="#Select-2454"><span class="linenos">2454</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sql()</span>
-</span><span id="Select-2455"><a href="#Select-2455"><span class="linenos">2455</span></a><span class="sd"> &#39;SELECT x FROM tbl&#39;</span>
-</span><span id="Select-2456"><a href="#Select-2456"><span class="linenos">2456</span></a>
-</span><span id="Select-2457"><a href="#Select-2457"><span class="linenos">2457</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2458"><a href="#Select-2458"><span class="linenos">2458</span></a><span class="sd"> expression : the SQL code strings to parse.</span>
-</span><span id="Select-2459"><a href="#Select-2459"><span class="linenos">2459</span></a><span class="sd"> If a `From` instance is passed, this is used as-is.</span>
-</span><span id="Select-2460"><a href="#Select-2460"><span class="linenos">2460</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `From`.</span>
-</span><span id="Select-2461"><a href="#Select-2461"><span class="linenos">2461</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2462"><a href="#Select-2462"><span class="linenos">2462</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2463"><a href="#Select-2463"><span class="linenos">2463</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2464"><a href="#Select-2464"><span class="linenos">2464</span></a>
-</span><span id="Select-2465"><a href="#Select-2465"><span class="linenos">2465</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2466"><a href="#Select-2466"><span class="linenos">2466</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2467"><a href="#Select-2467"><span class="linenos">2467</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2468"><a href="#Select-2468"><span class="linenos">2468</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Select-2469"><a href="#Select-2469"><span class="linenos">2469</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Select-2470"><a href="#Select-2470"><span class="linenos">2470</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2471"><a href="#Select-2471"><span class="linenos">2471</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;from&quot;</span><span class="p">,</span>
-</span><span id="Select-2472"><a href="#Select-2472"><span class="linenos">2472</span></a> <span class="n">into</span><span class="o">=</span><span class="n">From</span><span class="p">,</span>
-</span><span id="Select-2473"><a href="#Select-2473"><span class="linenos">2473</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span>
-</span><span id="Select-2474"><a href="#Select-2474"><span class="linenos">2474</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2475"><a href="#Select-2475"><span class="linenos">2475</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2476"><a href="#Select-2476"><span class="linenos">2476</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2477"><a href="#Select-2477"><span class="linenos">2477</span></a> <span class="p">)</span>
-</span><span id="Select-2478"><a href="#Select-2478"><span class="linenos">2478</span></a>
-</span><span id="Select-2479"><a href="#Select-2479"><span class="linenos">2479</span></a> <span class="k">def</span> <span class="nf">group_by</span><span class="p">(</span>
-</span><span id="Select-2480"><a href="#Select-2480"><span class="linenos">2480</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2481"><a href="#Select-2481"><span class="linenos">2481</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2482"><a href="#Select-2482"><span class="linenos">2482</span></a> <span class="n">append</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="Select-2483"><a href="#Select-2483"><span class="linenos">2483</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="Select-2484"><a href="#Select-2484"><span class="linenos">2484</span></a> <span class="n">copy</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="Select-2485"><a href="#Select-2485"><span class="linenos">2485</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2486"><a href="#Select-2486"><span class="linenos">2486</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2487"><a href="#Select-2487"><span class="linenos">2487</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2488"><a href="#Select-2488"><span class="linenos">2488</span></a><span class="sd"> Set the GROUP BY expression.</span>
-</span><span id="Select-2489"><a href="#Select-2489"><span class="linenos">2489</span></a>
-</span><span id="Select-2490"><a href="#Select-2490"><span class="linenos">2490</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2491"><a href="#Select-2491"><span class="linenos">2491</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;, &quot;COUNT(1)&quot;).group_by(&quot;x&quot;).sql()</span>
-</span><span id="Select-2492"><a href="#Select-2492"><span class="linenos">2492</span></a><span class="sd"> &#39;SELECT x, COUNT(1) FROM tbl GROUP BY x&#39;</span>
-</span><span id="Select-2493"><a href="#Select-2493"><span class="linenos">2493</span></a>
-</span><span id="Select-2494"><a href="#Select-2494"><span class="linenos">2494</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2495"><a href="#Select-2495"><span class="linenos">2495</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2496"><a href="#Select-2496"><span class="linenos">2496</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select-2497"><a href="#Select-2497"><span class="linenos">2497</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Group`.</span>
-</span><span id="Select-2498"><a href="#Select-2498"><span class="linenos">2498</span></a><span class="sd"> If nothing is passed in then a group by is not applied to the expression</span>
-</span><span id="Select-2499"><a href="#Select-2499"><span class="linenos">2499</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2500"><a href="#Select-2500"><span class="linenos">2500</span></a><span class="sd"> Otherwise, this flattens all the `Group` expression into a single expression.</span>
-</span><span id="Select-2501"><a href="#Select-2501"><span class="linenos">2501</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2502"><a href="#Select-2502"><span class="linenos">2502</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2503"><a href="#Select-2503"><span class="linenos">2503</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2504"><a href="#Select-2504"><span class="linenos">2504</span></a>
-</span><span id="Select-2505"><a href="#Select-2505"><span class="linenos">2505</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2506"><a href="#Select-2506"><span class="linenos">2506</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2507"><a href="#Select-2507"><span class="linenos">2507</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2508"><a href="#Select-2508"><span class="linenos">2508</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="Select-2509"><a href="#Select-2509"><span class="linenos">2509</span></a> <span class="k">return</span> <span class="bp">self</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-</span><span id="Select-2510"><a href="#Select-2510"><span class="linenos">2510</span></a>
-</span><span id="Select-2511"><a href="#Select-2511"><span class="linenos">2511</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select-2512"><a href="#Select-2512"><span class="linenos">2512</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2513"><a href="#Select-2513"><span class="linenos">2513</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2514"><a href="#Select-2514"><span class="linenos">2514</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;group&quot;</span><span class="p">,</span>
-</span><span id="Select-2515"><a href="#Select-2515"><span class="linenos">2515</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2516"><a href="#Select-2516"><span class="linenos">2516</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2517"><a href="#Select-2517"><span class="linenos">2517</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;GROUP BY&quot;</span><span class="p">,</span>
-</span><span id="Select-2518"><a href="#Select-2518"><span class="linenos">2518</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Group</span><span class="p">,</span>
-</span><span id="Select-2519"><a href="#Select-2519"><span class="linenos">2519</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2520"><a href="#Select-2520"><span class="linenos">2520</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2521"><a href="#Select-2521"><span class="linenos">2521</span></a> <span class="p">)</span>
-</span><span id="Select-2522"><a href="#Select-2522"><span class="linenos">2522</span></a>
-</span><span id="Select-2523"><a href="#Select-2523"><span class="linenos">2523</span></a> <span class="k">def</span> <span class="nf">order_by</span><span class="p">(</span>
-</span><span id="Select-2524"><a href="#Select-2524"><span class="linenos">2524</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2525"><a href="#Select-2525"><span class="linenos">2525</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2526"><a href="#Select-2526"><span class="linenos">2526</span></a> <span class="n">append</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="Select-2527"><a href="#Select-2527"><span class="linenos">2527</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="Select-2528"><a href="#Select-2528"><span class="linenos">2528</span></a> <span class="n">copy</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="Select-2529"><a href="#Select-2529"><span class="linenos">2529</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2530"><a href="#Select-2530"><span class="linenos">2530</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2531"><a href="#Select-2531"><span class="linenos">2531</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2532"><a href="#Select-2532"><span class="linenos">2532</span></a><span class="sd"> Set the ORDER BY expression.</span>
-</span><span id="Select-2533"><a href="#Select-2533"><span class="linenos">2533</span></a>
-</span><span id="Select-2534"><a href="#Select-2534"><span class="linenos">2534</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2535"><a href="#Select-2535"><span class="linenos">2535</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).order_by(&quot;x DESC&quot;).sql()</span>
-</span><span id="Select-2536"><a href="#Select-2536"><span class="linenos">2536</span></a><span class="sd"> &#39;SELECT x FROM tbl ORDER BY x DESC&#39;</span>
-</span><span id="Select-2537"><a href="#Select-2537"><span class="linenos">2537</span></a>
-</span><span id="Select-2538"><a href="#Select-2538"><span class="linenos">2538</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2539"><a href="#Select-2539"><span class="linenos">2539</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2540"><a href="#Select-2540"><span class="linenos">2540</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select-2541"><a href="#Select-2541"><span class="linenos">2541</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Order`.</span>
-</span><span id="Select-2542"><a href="#Select-2542"><span class="linenos">2542</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2543"><a href="#Select-2543"><span class="linenos">2543</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="Select-2544"><a href="#Select-2544"><span class="linenos">2544</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2545"><a href="#Select-2545"><span class="linenos">2545</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2546"><a href="#Select-2546"><span class="linenos">2546</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2547"><a href="#Select-2547"><span class="linenos">2547</span></a>
-</span><span id="Select-2548"><a href="#Select-2548"><span class="linenos">2548</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2549"><a href="#Select-2549"><span class="linenos">2549</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2550"><a href="#Select-2550"><span class="linenos">2550</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2551"><a href="#Select-2551"><span class="linenos">2551</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select-2552"><a href="#Select-2552"><span class="linenos">2552</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2553"><a href="#Select-2553"><span class="linenos">2553</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2554"><a href="#Select-2554"><span class="linenos">2554</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;order&quot;</span><span class="p">,</span>
-</span><span id="Select-2555"><a href="#Select-2555"><span class="linenos">2555</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2556"><a href="#Select-2556"><span class="linenos">2556</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2557"><a href="#Select-2557"><span class="linenos">2557</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;ORDER BY&quot;</span><span class="p">,</span>
-</span><span id="Select-2558"><a href="#Select-2558"><span class="linenos">2558</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Order</span><span class="p">,</span>
-</span><span id="Select-2559"><a href="#Select-2559"><span class="linenos">2559</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2560"><a href="#Select-2560"><span class="linenos">2560</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2561"><a href="#Select-2561"><span class="linenos">2561</span></a> <span class="p">)</span>
-</span><span id="Select-2562"><a href="#Select-2562"><span class="linenos">2562</span></a>
-</span><span id="Select-2563"><a href="#Select-2563"><span class="linenos">2563</span></a> <span class="k">def</span> <span class="nf">sort_by</span><span class="p">(</span>
-</span><span id="Select-2564"><a href="#Select-2564"><span class="linenos">2564</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2565"><a href="#Select-2565"><span class="linenos">2565</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2566"><a href="#Select-2566"><span class="linenos">2566</span></a> <span class="n">append</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="Select-2567"><a href="#Select-2567"><span class="linenos">2567</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="Select-2568"><a href="#Select-2568"><span class="linenos">2568</span></a> <span class="n">copy</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="Select-2569"><a href="#Select-2569"><span class="linenos">2569</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2570"><a href="#Select-2570"><span class="linenos">2570</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2571"><a href="#Select-2571"><span class="linenos">2571</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2572"><a href="#Select-2572"><span class="linenos">2572</span></a><span class="sd"> Set the SORT BY expression.</span>
-</span><span id="Select-2573"><a href="#Select-2573"><span class="linenos">2573</span></a>
-</span><span id="Select-2574"><a href="#Select-2574"><span class="linenos">2574</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2575"><a href="#Select-2575"><span class="linenos">2575</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sort_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
-</span><span id="Select-2576"><a href="#Select-2576"><span class="linenos">2576</span></a><span class="sd"> &#39;SELECT x FROM tbl SORT BY x DESC&#39;</span>
-</span><span id="Select-2577"><a href="#Select-2577"><span class="linenos">2577</span></a>
-</span><span id="Select-2578"><a href="#Select-2578"><span class="linenos">2578</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2579"><a href="#Select-2579"><span class="linenos">2579</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2580"><a href="#Select-2580"><span class="linenos">2580</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select-2581"><a href="#Select-2581"><span class="linenos">2581</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `SORT`.</span>
-</span><span id="Select-2582"><a href="#Select-2582"><span class="linenos">2582</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2583"><a href="#Select-2583"><span class="linenos">2583</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="Select-2584"><a href="#Select-2584"><span class="linenos">2584</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2585"><a href="#Select-2585"><span class="linenos">2585</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2586"><a href="#Select-2586"><span class="linenos">2586</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2587"><a href="#Select-2587"><span class="linenos">2587</span></a>
-</span><span id="Select-2588"><a href="#Select-2588"><span class="linenos">2588</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2589"><a href="#Select-2589"><span class="linenos">2589</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2590"><a href="#Select-2590"><span class="linenos">2590</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2591"><a href="#Select-2591"><span class="linenos">2591</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select-2592"><a href="#Select-2592"><span class="linenos">2592</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2593"><a href="#Select-2593"><span class="linenos">2593</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2594"><a href="#Select-2594"><span class="linenos">2594</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;sort&quot;</span><span class="p">,</span>
-</span><span id="Select-2595"><a href="#Select-2595"><span class="linenos">2595</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2596"><a href="#Select-2596"><span class="linenos">2596</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2597"><a href="#Select-2597"><span class="linenos">2597</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;SORT BY&quot;</span><span class="p">,</span>
-</span><span id="Select-2598"><a href="#Select-2598"><span class="linenos">2598</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Sort</span><span class="p">,</span>
-</span><span id="Select-2599"><a href="#Select-2599"><span class="linenos">2599</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2600"><a href="#Select-2600"><span class="linenos">2600</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2601"><a href="#Select-2601"><span class="linenos">2601</span></a> <span class="p">)</span>
-</span><span id="Select-2602"><a href="#Select-2602"><span class="linenos">2602</span></a>
-</span><span id="Select-2603"><a href="#Select-2603"><span class="linenos">2603</span></a> <span class="k">def</span> <span class="nf">cluster_by</span><span class="p">(</span>
-</span><span id="Select-2604"><a href="#Select-2604"><span class="linenos">2604</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2605"><a href="#Select-2605"><span class="linenos">2605</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2606"><a href="#Select-2606"><span class="linenos">2606</span></a> <span class="n">append</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="Select-2607"><a href="#Select-2607"><span class="linenos">2607</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="Select-2608"><a href="#Select-2608"><span class="linenos">2608</span></a> <span class="n">copy</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="Select-2609"><a href="#Select-2609"><span class="linenos">2609</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2610"><a href="#Select-2610"><span class="linenos">2610</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2611"><a href="#Select-2611"><span class="linenos">2611</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2612"><a href="#Select-2612"><span class="linenos">2612</span></a><span class="sd"> Set the CLUSTER BY expression.</span>
-</span><span id="Select-2613"><a href="#Select-2613"><span class="linenos">2613</span></a>
-</span><span id="Select-2614"><a href="#Select-2614"><span class="linenos">2614</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2615"><a href="#Select-2615"><span class="linenos">2615</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).cluster_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
-</span><span id="Select-2616"><a href="#Select-2616"><span class="linenos">2616</span></a><span class="sd"> &#39;SELECT x FROM tbl CLUSTER BY x DESC&#39;</span>
-</span><span id="Select-2617"><a href="#Select-2617"><span class="linenos">2617</span></a>
-</span><span id="Select-2618"><a href="#Select-2618"><span class="linenos">2618</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2619"><a href="#Select-2619"><span class="linenos">2619</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2620"><a href="#Select-2620"><span class="linenos">2620</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select-2621"><a href="#Select-2621"><span class="linenos">2621</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Cluster`.</span>
-</span><span id="Select-2622"><a href="#Select-2622"><span class="linenos">2622</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2623"><a href="#Select-2623"><span class="linenos">2623</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="Select-2624"><a href="#Select-2624"><span class="linenos">2624</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2625"><a href="#Select-2625"><span class="linenos">2625</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2626"><a href="#Select-2626"><span class="linenos">2626</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2627"><a href="#Select-2627"><span class="linenos">2627</span></a>
-</span><span id="Select-2628"><a href="#Select-2628"><span class="linenos">2628</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2629"><a href="#Select-2629"><span class="linenos">2629</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2630"><a href="#Select-2630"><span class="linenos">2630</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2631"><a href="#Select-2631"><span class="linenos">2631</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select-2632"><a href="#Select-2632"><span class="linenos">2632</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2633"><a href="#Select-2633"><span class="linenos">2633</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2634"><a href="#Select-2634"><span class="linenos">2634</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;cluster&quot;</span><span class="p">,</span>
-</span><span id="Select-2635"><a href="#Select-2635"><span class="linenos">2635</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2636"><a href="#Select-2636"><span class="linenos">2636</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2637"><a href="#Select-2637"><span class="linenos">2637</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">,</span>
-</span><span id="Select-2638"><a href="#Select-2638"><span class="linenos">2638</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Cluster</span><span class="p">,</span>
-</span><span id="Select-2639"><a href="#Select-2639"><span class="linenos">2639</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2640"><a href="#Select-2640"><span class="linenos">2640</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2641"><a href="#Select-2641"><span class="linenos">2641</span></a> <span class="p">)</span>
-</span><span id="Select-2642"><a href="#Select-2642"><span class="linenos">2642</span></a>
-</span><span id="Select-2643"><a href="#Select-2643"><span class="linenos">2643</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="Select-2644"><a href="#Select-2644"><span class="linenos">2644</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Select-2645"><a href="#Select-2645"><span class="linenos">2645</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2646"><a href="#Select-2646"><span class="linenos">2646</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2647"><a href="#Select-2647"><span class="linenos">2647</span></a><span class="sd"> Set the LIMIT expression.</span>
-</span><span id="Select-2648"><a href="#Select-2648"><span class="linenos">2648</span></a>
-</span><span id="Select-2649"><a href="#Select-2649"><span class="linenos">2649</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2650"><a href="#Select-2650"><span class="linenos">2650</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).limit(10).sql()</span>
-</span><span id="Select-2651"><a href="#Select-2651"><span class="linenos">2651</span></a><span class="sd"> &#39;SELECT x FROM tbl LIMIT 10&#39;</span>
-</span><span id="Select-2652"><a href="#Select-2652"><span class="linenos">2652</span></a>
-</span><span id="Select-2653"><a href="#Select-2653"><span class="linenos">2653</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2654"><a href="#Select-2654"><span class="linenos">2654</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Select-2655"><a href="#Select-2655"><span class="linenos">2655</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="Select-2656"><a href="#Select-2656"><span class="linenos">2656</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
-</span><span id="Select-2657"><a href="#Select-2657"><span class="linenos">2657</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
-</span><span id="Select-2658"><a href="#Select-2658"><span class="linenos">2658</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2659"><a href="#Select-2659"><span class="linenos">2659</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2660"><a href="#Select-2660"><span class="linenos">2660</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select-2454"><a href="#Select-2454"><span class="linenos">2454</span></a><span class="k">class</span> <span class="nc">Select</span><span class="p">(</span><span class="n">Subqueryable</span><span class="p">):</span>
+</span><span id="Select-2455"><a href="#Select-2455"><span class="linenos">2455</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Select-2456"><a href="#Select-2456"><span class="linenos">2456</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2457"><a href="#Select-2457"><span class="linenos">2457</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2458"><a href="#Select-2458"><span class="linenos">2458</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2459"><a href="#Select-2459"><span class="linenos">2459</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2460"><a href="#Select-2460"><span class="linenos">2460</span></a> <span class="s2">&quot;distinct&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2461"><a href="#Select-2461"><span class="linenos">2461</span></a> <span class="s2">&quot;into&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2462"><a href="#Select-2462"><span class="linenos">2462</span></a> <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Select-2463"><a href="#Select-2463"><span class="linenos">2463</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
+</span><span id="Select-2464"><a href="#Select-2464"><span class="linenos">2464</span></a> <span class="p">}</span>
+</span><span id="Select-2465"><a href="#Select-2465"><span class="linenos">2465</span></a>
+</span><span id="Select-2466"><a href="#Select-2466"><span class="linenos">2466</span></a> <span class="k">def</span> <span class="nf">from_</span><span class="p">(</span>
+</span><span id="Select-2467"><a href="#Select-2467"><span class="linenos">2467</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Select-2468"><a href="#Select-2468"><span class="linenos">2468</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2469"><a href="#Select-2469"><span class="linenos">2469</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2470"><a href="#Select-2470"><span class="linenos">2470</span></a><span class="sd"> Set the FROM expression.</span>
+</span><span id="Select-2471"><a href="#Select-2471"><span class="linenos">2471</span></a>
+</span><span id="Select-2472"><a href="#Select-2472"><span class="linenos">2472</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2473"><a href="#Select-2473"><span class="linenos">2473</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sql()</span>
+</span><span id="Select-2474"><a href="#Select-2474"><span class="linenos">2474</span></a><span class="sd"> &#39;SELECT x FROM tbl&#39;</span>
+</span><span id="Select-2475"><a href="#Select-2475"><span class="linenos">2475</span></a>
+</span><span id="Select-2476"><a href="#Select-2476"><span class="linenos">2476</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2477"><a href="#Select-2477"><span class="linenos">2477</span></a><span class="sd"> expression : the SQL code strings to parse.</span>
+</span><span id="Select-2478"><a href="#Select-2478"><span class="linenos">2478</span></a><span class="sd"> If a `From` instance is passed, this is used as-is.</span>
+</span><span id="Select-2479"><a href="#Select-2479"><span class="linenos">2479</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `From`.</span>
+</span><span id="Select-2480"><a href="#Select-2480"><span class="linenos">2480</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2481"><a href="#Select-2481"><span class="linenos">2481</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2482"><a href="#Select-2482"><span class="linenos">2482</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2483"><a href="#Select-2483"><span class="linenos">2483</span></a>
+</span><span id="Select-2484"><a href="#Select-2484"><span class="linenos">2484</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2485"><a href="#Select-2485"><span class="linenos">2485</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2486"><a href="#Select-2486"><span class="linenos">2486</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2487"><a href="#Select-2487"><span class="linenos">2487</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Select-2488"><a href="#Select-2488"><span class="linenos">2488</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Select-2489"><a href="#Select-2489"><span class="linenos">2489</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2490"><a href="#Select-2490"><span class="linenos">2490</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;from&quot;</span><span class="p">,</span>
+</span><span id="Select-2491"><a href="#Select-2491"><span class="linenos">2491</span></a> <span class="n">into</span><span class="o">=</span><span class="n">From</span><span class="p">,</span>
+</span><span id="Select-2492"><a href="#Select-2492"><span class="linenos">2492</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span>
+</span><span id="Select-2493"><a href="#Select-2493"><span class="linenos">2493</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2494"><a href="#Select-2494"><span class="linenos">2494</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2495"><a href="#Select-2495"><span class="linenos">2495</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2496"><a href="#Select-2496"><span class="linenos">2496</span></a> <span class="p">)</span>
+</span><span id="Select-2497"><a href="#Select-2497"><span class="linenos">2497</span></a>
+</span><span id="Select-2498"><a href="#Select-2498"><span class="linenos">2498</span></a> <span class="k">def</span> <span class="nf">group_by</span><span class="p">(</span>
+</span><span id="Select-2499"><a href="#Select-2499"><span class="linenos">2499</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2500"><a href="#Select-2500"><span class="linenos">2500</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2501"><a href="#Select-2501"><span class="linenos">2501</span></a> <span class="n">append</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="Select-2502"><a href="#Select-2502"><span class="linenos">2502</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="Select-2503"><a href="#Select-2503"><span class="linenos">2503</span></a> <span class="n">copy</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="Select-2504"><a href="#Select-2504"><span class="linenos">2504</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2505"><a href="#Select-2505"><span class="linenos">2505</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2506"><a href="#Select-2506"><span class="linenos">2506</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2507"><a href="#Select-2507"><span class="linenos">2507</span></a><span class="sd"> Set the GROUP BY expression.</span>
+</span><span id="Select-2508"><a href="#Select-2508"><span class="linenos">2508</span></a>
+</span><span id="Select-2509"><a href="#Select-2509"><span class="linenos">2509</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2510"><a href="#Select-2510"><span class="linenos">2510</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;, &quot;COUNT(1)&quot;).group_by(&quot;x&quot;).sql()</span>
+</span><span id="Select-2511"><a href="#Select-2511"><span class="linenos">2511</span></a><span class="sd"> &#39;SELECT x, COUNT(1) FROM tbl GROUP BY x&#39;</span>
+</span><span id="Select-2512"><a href="#Select-2512"><span class="linenos">2512</span></a>
+</span><span id="Select-2513"><a href="#Select-2513"><span class="linenos">2513</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2514"><a href="#Select-2514"><span class="linenos">2514</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2515"><a href="#Select-2515"><span class="linenos">2515</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select-2516"><a href="#Select-2516"><span class="linenos">2516</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Group`.</span>
+</span><span id="Select-2517"><a href="#Select-2517"><span class="linenos">2517</span></a><span class="sd"> If nothing is passed in then a group by is not applied to the expression</span>
+</span><span id="Select-2518"><a href="#Select-2518"><span class="linenos">2518</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2519"><a href="#Select-2519"><span class="linenos">2519</span></a><span class="sd"> Otherwise, this flattens all the `Group` expression into a single expression.</span>
+</span><span id="Select-2520"><a href="#Select-2520"><span class="linenos">2520</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2521"><a href="#Select-2521"><span class="linenos">2521</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2522"><a href="#Select-2522"><span class="linenos">2522</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2523"><a href="#Select-2523"><span class="linenos">2523</span></a>
+</span><span id="Select-2524"><a href="#Select-2524"><span class="linenos">2524</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2525"><a href="#Select-2525"><span class="linenos">2525</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2526"><a href="#Select-2526"><span class="linenos">2526</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2527"><a href="#Select-2527"><span class="linenos">2527</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="Select-2528"><a href="#Select-2528"><span class="linenos">2528</span></a> <span class="k">return</span> <span class="bp">self</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+</span><span id="Select-2529"><a href="#Select-2529"><span class="linenos">2529</span></a>
+</span><span id="Select-2530"><a href="#Select-2530"><span class="linenos">2530</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select-2531"><a href="#Select-2531"><span class="linenos">2531</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2532"><a href="#Select-2532"><span class="linenos">2532</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2533"><a href="#Select-2533"><span class="linenos">2533</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;group&quot;</span><span class="p">,</span>
+</span><span id="Select-2534"><a href="#Select-2534"><span class="linenos">2534</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2535"><a href="#Select-2535"><span class="linenos">2535</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2536"><a href="#Select-2536"><span class="linenos">2536</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;GROUP BY&quot;</span><span class="p">,</span>
+</span><span id="Select-2537"><a href="#Select-2537"><span class="linenos">2537</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Group</span><span class="p">,</span>
+</span><span id="Select-2538"><a href="#Select-2538"><span class="linenos">2538</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2539"><a href="#Select-2539"><span class="linenos">2539</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2540"><a href="#Select-2540"><span class="linenos">2540</span></a> <span class="p">)</span>
+</span><span id="Select-2541"><a href="#Select-2541"><span class="linenos">2541</span></a>
+</span><span id="Select-2542"><a href="#Select-2542"><span class="linenos">2542</span></a> <span class="k">def</span> <span class="nf">order_by</span><span class="p">(</span>
+</span><span id="Select-2543"><a href="#Select-2543"><span class="linenos">2543</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2544"><a href="#Select-2544"><span class="linenos">2544</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2545"><a href="#Select-2545"><span class="linenos">2545</span></a> <span class="n">append</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="Select-2546"><a href="#Select-2546"><span class="linenos">2546</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="Select-2547"><a href="#Select-2547"><span class="linenos">2547</span></a> <span class="n">copy</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="Select-2548"><a href="#Select-2548"><span class="linenos">2548</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2549"><a href="#Select-2549"><span class="linenos">2549</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2550"><a href="#Select-2550"><span class="linenos">2550</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2551"><a href="#Select-2551"><span class="linenos">2551</span></a><span class="sd"> Set the ORDER BY expression.</span>
+</span><span id="Select-2552"><a href="#Select-2552"><span class="linenos">2552</span></a>
+</span><span id="Select-2553"><a href="#Select-2553"><span class="linenos">2553</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2554"><a href="#Select-2554"><span class="linenos">2554</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).order_by(&quot;x DESC&quot;).sql()</span>
+</span><span id="Select-2555"><a href="#Select-2555"><span class="linenos">2555</span></a><span class="sd"> &#39;SELECT x FROM tbl ORDER BY x DESC&#39;</span>
+</span><span id="Select-2556"><a href="#Select-2556"><span class="linenos">2556</span></a>
+</span><span id="Select-2557"><a href="#Select-2557"><span class="linenos">2557</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2558"><a href="#Select-2558"><span class="linenos">2558</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2559"><a href="#Select-2559"><span class="linenos">2559</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select-2560"><a href="#Select-2560"><span class="linenos">2560</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Order`.</span>
+</span><span id="Select-2561"><a href="#Select-2561"><span class="linenos">2561</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2562"><a href="#Select-2562"><span class="linenos">2562</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="Select-2563"><a href="#Select-2563"><span class="linenos">2563</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2564"><a href="#Select-2564"><span class="linenos">2564</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2565"><a href="#Select-2565"><span class="linenos">2565</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2566"><a href="#Select-2566"><span class="linenos">2566</span></a>
+</span><span id="Select-2567"><a href="#Select-2567"><span class="linenos">2567</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2568"><a href="#Select-2568"><span class="linenos">2568</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2569"><a href="#Select-2569"><span class="linenos">2569</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2570"><a href="#Select-2570"><span class="linenos">2570</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select-2571"><a href="#Select-2571"><span class="linenos">2571</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2572"><a href="#Select-2572"><span class="linenos">2572</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2573"><a href="#Select-2573"><span class="linenos">2573</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;order&quot;</span><span class="p">,</span>
+</span><span id="Select-2574"><a href="#Select-2574"><span class="linenos">2574</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2575"><a href="#Select-2575"><span class="linenos">2575</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2576"><a href="#Select-2576"><span class="linenos">2576</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;ORDER BY&quot;</span><span class="p">,</span>
+</span><span id="Select-2577"><a href="#Select-2577"><span class="linenos">2577</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Order</span><span class="p">,</span>
+</span><span id="Select-2578"><a href="#Select-2578"><span class="linenos">2578</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2579"><a href="#Select-2579"><span class="linenos">2579</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2580"><a href="#Select-2580"><span class="linenos">2580</span></a> <span class="p">)</span>
+</span><span id="Select-2581"><a href="#Select-2581"><span class="linenos">2581</span></a>
+</span><span id="Select-2582"><a href="#Select-2582"><span class="linenos">2582</span></a> <span class="k">def</span> <span class="nf">sort_by</span><span class="p">(</span>
+</span><span id="Select-2583"><a href="#Select-2583"><span class="linenos">2583</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2584"><a href="#Select-2584"><span class="linenos">2584</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2585"><a href="#Select-2585"><span class="linenos">2585</span></a> <span class="n">append</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="Select-2586"><a href="#Select-2586"><span class="linenos">2586</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="Select-2587"><a href="#Select-2587"><span class="linenos">2587</span></a> <span class="n">copy</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="Select-2588"><a href="#Select-2588"><span class="linenos">2588</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2589"><a href="#Select-2589"><span class="linenos">2589</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2590"><a href="#Select-2590"><span class="linenos">2590</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2591"><a href="#Select-2591"><span class="linenos">2591</span></a><span class="sd"> Set the SORT BY expression.</span>
+</span><span id="Select-2592"><a href="#Select-2592"><span class="linenos">2592</span></a>
+</span><span id="Select-2593"><a href="#Select-2593"><span class="linenos">2593</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2594"><a href="#Select-2594"><span class="linenos">2594</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sort_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
+</span><span id="Select-2595"><a href="#Select-2595"><span class="linenos">2595</span></a><span class="sd"> &#39;SELECT x FROM tbl SORT BY x DESC&#39;</span>
+</span><span id="Select-2596"><a href="#Select-2596"><span class="linenos">2596</span></a>
+</span><span id="Select-2597"><a href="#Select-2597"><span class="linenos">2597</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2598"><a href="#Select-2598"><span class="linenos">2598</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2599"><a href="#Select-2599"><span class="linenos">2599</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select-2600"><a href="#Select-2600"><span class="linenos">2600</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `SORT`.</span>
+</span><span id="Select-2601"><a href="#Select-2601"><span class="linenos">2601</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2602"><a href="#Select-2602"><span class="linenos">2602</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="Select-2603"><a href="#Select-2603"><span class="linenos">2603</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2604"><a href="#Select-2604"><span class="linenos">2604</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2605"><a href="#Select-2605"><span class="linenos">2605</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2606"><a href="#Select-2606"><span class="linenos">2606</span></a>
+</span><span id="Select-2607"><a href="#Select-2607"><span class="linenos">2607</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2608"><a href="#Select-2608"><span class="linenos">2608</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2609"><a href="#Select-2609"><span class="linenos">2609</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2610"><a href="#Select-2610"><span class="linenos">2610</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select-2611"><a href="#Select-2611"><span class="linenos">2611</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2612"><a href="#Select-2612"><span class="linenos">2612</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2613"><a href="#Select-2613"><span class="linenos">2613</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;sort&quot;</span><span class="p">,</span>
+</span><span id="Select-2614"><a href="#Select-2614"><span class="linenos">2614</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2615"><a href="#Select-2615"><span class="linenos">2615</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2616"><a href="#Select-2616"><span class="linenos">2616</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;SORT BY&quot;</span><span class="p">,</span>
+</span><span id="Select-2617"><a href="#Select-2617"><span class="linenos">2617</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Sort</span><span class="p">,</span>
+</span><span id="Select-2618"><a href="#Select-2618"><span class="linenos">2618</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2619"><a href="#Select-2619"><span class="linenos">2619</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2620"><a href="#Select-2620"><span class="linenos">2620</span></a> <span class="p">)</span>
+</span><span id="Select-2621"><a href="#Select-2621"><span class="linenos">2621</span></a>
+</span><span id="Select-2622"><a href="#Select-2622"><span class="linenos">2622</span></a> <span class="k">def</span> <span class="nf">cluster_by</span><span class="p">(</span>
+</span><span id="Select-2623"><a href="#Select-2623"><span class="linenos">2623</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2624"><a href="#Select-2624"><span class="linenos">2624</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2625"><a href="#Select-2625"><span class="linenos">2625</span></a> <span class="n">append</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="Select-2626"><a href="#Select-2626"><span class="linenos">2626</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="Select-2627"><a href="#Select-2627"><span class="linenos">2627</span></a> <span class="n">copy</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="Select-2628"><a href="#Select-2628"><span class="linenos">2628</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2629"><a href="#Select-2629"><span class="linenos">2629</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2630"><a href="#Select-2630"><span class="linenos">2630</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2631"><a href="#Select-2631"><span class="linenos">2631</span></a><span class="sd"> Set the CLUSTER BY expression.</span>
+</span><span id="Select-2632"><a href="#Select-2632"><span class="linenos">2632</span></a>
+</span><span id="Select-2633"><a href="#Select-2633"><span class="linenos">2633</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2634"><a href="#Select-2634"><span class="linenos">2634</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).cluster_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
+</span><span id="Select-2635"><a href="#Select-2635"><span class="linenos">2635</span></a><span class="sd"> &#39;SELECT x FROM tbl CLUSTER BY x DESC&#39;</span>
+</span><span id="Select-2636"><a href="#Select-2636"><span class="linenos">2636</span></a>
+</span><span id="Select-2637"><a href="#Select-2637"><span class="linenos">2637</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2638"><a href="#Select-2638"><span class="linenos">2638</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2639"><a href="#Select-2639"><span class="linenos">2639</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select-2640"><a href="#Select-2640"><span class="linenos">2640</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Cluster`.</span>
+</span><span id="Select-2641"><a href="#Select-2641"><span class="linenos">2641</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2642"><a href="#Select-2642"><span class="linenos">2642</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="Select-2643"><a href="#Select-2643"><span class="linenos">2643</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2644"><a href="#Select-2644"><span class="linenos">2644</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2645"><a href="#Select-2645"><span class="linenos">2645</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2646"><a href="#Select-2646"><span class="linenos">2646</span></a>
+</span><span id="Select-2647"><a href="#Select-2647"><span class="linenos">2647</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2648"><a href="#Select-2648"><span class="linenos">2648</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2649"><a href="#Select-2649"><span class="linenos">2649</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2650"><a href="#Select-2650"><span class="linenos">2650</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select-2651"><a href="#Select-2651"><span class="linenos">2651</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2652"><a href="#Select-2652"><span class="linenos">2652</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2653"><a href="#Select-2653"><span class="linenos">2653</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;cluster&quot;</span><span class="p">,</span>
+</span><span id="Select-2654"><a href="#Select-2654"><span class="linenos">2654</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2655"><a href="#Select-2655"><span class="linenos">2655</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2656"><a href="#Select-2656"><span class="linenos">2656</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">,</span>
+</span><span id="Select-2657"><a href="#Select-2657"><span class="linenos">2657</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Cluster</span><span class="p">,</span>
+</span><span id="Select-2658"><a href="#Select-2658"><span class="linenos">2658</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2659"><a href="#Select-2659"><span class="linenos">2659</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2660"><a href="#Select-2660"><span class="linenos">2660</span></a> <span class="p">)</span>
</span><span id="Select-2661"><a href="#Select-2661"><span class="linenos">2661</span></a>
-</span><span id="Select-2662"><a href="#Select-2662"><span class="linenos">2662</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2663"><a href="#Select-2663"><span class="linenos">2663</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select-2664"><a href="#Select-2664"><span class="linenos">2664</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2665"><a href="#Select-2665"><span class="linenos">2665</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Select-2666"><a href="#Select-2666"><span class="linenos">2666</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Select-2667"><a href="#Select-2667"><span class="linenos">2667</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2668"><a href="#Select-2668"><span class="linenos">2668</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;limit&quot;</span><span class="p">,</span>
-</span><span id="Select-2669"><a href="#Select-2669"><span class="linenos">2669</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Limit</span><span class="p">,</span>
-</span><span id="Select-2670"><a href="#Select-2670"><span class="linenos">2670</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LIMIT&quot;</span><span class="p">,</span>
-</span><span id="Select-2671"><a href="#Select-2671"><span class="linenos">2671</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2672"><a href="#Select-2672"><span class="linenos">2672</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2673"><a href="#Select-2673"><span class="linenos">2673</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2674"><a href="#Select-2674"><span class="linenos">2674</span></a> <span class="p">)</span>
-</span><span id="Select-2675"><a href="#Select-2675"><span class="linenos">2675</span></a>
-</span><span id="Select-2676"><a href="#Select-2676"><span class="linenos">2676</span></a> <span class="k">def</span> <span class="nf">offset</span><span class="p">(</span>
-</span><span id="Select-2677"><a href="#Select-2677"><span class="linenos">2677</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Select-2678"><a href="#Select-2678"><span class="linenos">2678</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2679"><a href="#Select-2679"><span class="linenos">2679</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2680"><a href="#Select-2680"><span class="linenos">2680</span></a><span class="sd"> Set the OFFSET expression.</span>
-</span><span id="Select-2681"><a href="#Select-2681"><span class="linenos">2681</span></a>
-</span><span id="Select-2682"><a href="#Select-2682"><span class="linenos">2682</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2683"><a href="#Select-2683"><span class="linenos">2683</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).offset(10).sql()</span>
-</span><span id="Select-2684"><a href="#Select-2684"><span class="linenos">2684</span></a><span class="sd"> &#39;SELECT x FROM tbl OFFSET 10&#39;</span>
-</span><span id="Select-2685"><a href="#Select-2685"><span class="linenos">2685</span></a>
-</span><span id="Select-2686"><a href="#Select-2686"><span class="linenos">2686</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2687"><a href="#Select-2687"><span class="linenos">2687</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Select-2688"><a href="#Select-2688"><span class="linenos">2688</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="Select-2689"><a href="#Select-2689"><span class="linenos">2689</span></a><span class="sd"> If a `Offset` instance is passed, this is used as-is.</span>
-</span><span id="Select-2690"><a href="#Select-2690"><span class="linenos">2690</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Offset`.</span>
-</span><span id="Select-2691"><a href="#Select-2691"><span class="linenos">2691</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select-2692"><a href="#Select-2692"><span class="linenos">2692</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2693"><a href="#Select-2693"><span class="linenos">2693</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2662"><a href="#Select-2662"><span class="linenos">2662</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="Select-2663"><a href="#Select-2663"><span class="linenos">2663</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Select-2664"><a href="#Select-2664"><span class="linenos">2664</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2665"><a href="#Select-2665"><span class="linenos">2665</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2666"><a href="#Select-2666"><span class="linenos">2666</span></a><span class="sd"> Set the LIMIT expression.</span>
+</span><span id="Select-2667"><a href="#Select-2667"><span class="linenos">2667</span></a>
+</span><span id="Select-2668"><a href="#Select-2668"><span class="linenos">2668</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2669"><a href="#Select-2669"><span class="linenos">2669</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).limit(10).sql()</span>
+</span><span id="Select-2670"><a href="#Select-2670"><span class="linenos">2670</span></a><span class="sd"> &#39;SELECT x FROM tbl LIMIT 10&#39;</span>
+</span><span id="Select-2671"><a href="#Select-2671"><span class="linenos">2671</span></a>
+</span><span id="Select-2672"><a href="#Select-2672"><span class="linenos">2672</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2673"><a href="#Select-2673"><span class="linenos">2673</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Select-2674"><a href="#Select-2674"><span class="linenos">2674</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="Select-2675"><a href="#Select-2675"><span class="linenos">2675</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
+</span><span id="Select-2676"><a href="#Select-2676"><span class="linenos">2676</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
+</span><span id="Select-2677"><a href="#Select-2677"><span class="linenos">2677</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2678"><a href="#Select-2678"><span class="linenos">2678</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2679"><a href="#Select-2679"><span class="linenos">2679</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2680"><a href="#Select-2680"><span class="linenos">2680</span></a>
+</span><span id="Select-2681"><a href="#Select-2681"><span class="linenos">2681</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2682"><a href="#Select-2682"><span class="linenos">2682</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select-2683"><a href="#Select-2683"><span class="linenos">2683</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2684"><a href="#Select-2684"><span class="linenos">2684</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Select-2685"><a href="#Select-2685"><span class="linenos">2685</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Select-2686"><a href="#Select-2686"><span class="linenos">2686</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2687"><a href="#Select-2687"><span class="linenos">2687</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;limit&quot;</span><span class="p">,</span>
+</span><span id="Select-2688"><a href="#Select-2688"><span class="linenos">2688</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Limit</span><span class="p">,</span>
+</span><span id="Select-2689"><a href="#Select-2689"><span class="linenos">2689</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LIMIT&quot;</span><span class="p">,</span>
+</span><span id="Select-2690"><a href="#Select-2690"><span class="linenos">2690</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2691"><a href="#Select-2691"><span class="linenos">2691</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2692"><a href="#Select-2692"><span class="linenos">2692</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2693"><a href="#Select-2693"><span class="linenos">2693</span></a> <span class="p">)</span>
</span><span id="Select-2694"><a href="#Select-2694"><span class="linenos">2694</span></a>
-</span><span id="Select-2695"><a href="#Select-2695"><span class="linenos">2695</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2696"><a href="#Select-2696"><span class="linenos">2696</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2697"><a href="#Select-2697"><span class="linenos">2697</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2698"><a href="#Select-2698"><span class="linenos">2698</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Select-2699"><a href="#Select-2699"><span class="linenos">2699</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Select-2700"><a href="#Select-2700"><span class="linenos">2700</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2701"><a href="#Select-2701"><span class="linenos">2701</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;offset&quot;</span><span class="p">,</span>
-</span><span id="Select-2702"><a href="#Select-2702"><span class="linenos">2702</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Offset</span><span class="p">,</span>
-</span><span id="Select-2703"><a href="#Select-2703"><span class="linenos">2703</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;OFFSET&quot;</span><span class="p">,</span>
-</span><span id="Select-2704"><a href="#Select-2704"><span class="linenos">2704</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2705"><a href="#Select-2705"><span class="linenos">2705</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2706"><a href="#Select-2706"><span class="linenos">2706</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2707"><a href="#Select-2707"><span class="linenos">2707</span></a> <span class="p">)</span>
-</span><span id="Select-2708"><a href="#Select-2708"><span class="linenos">2708</span></a>
-</span><span id="Select-2709"><a href="#Select-2709"><span class="linenos">2709</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
-</span><span id="Select-2710"><a href="#Select-2710"><span class="linenos">2710</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2711"><a href="#Select-2711"><span class="linenos">2711</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2712"><a href="#Select-2712"><span class="linenos">2712</span></a> <span class="n">append</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="Select-2713"><a href="#Select-2713"><span class="linenos">2713</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="Select-2714"><a href="#Select-2714"><span class="linenos">2714</span></a> <span class="n">copy</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="Select-2715"><a href="#Select-2715"><span class="linenos">2715</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2716"><a href="#Select-2716"><span class="linenos">2716</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2717"><a href="#Select-2717"><span class="linenos">2717</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2718"><a href="#Select-2718"><span class="linenos">2718</span></a><span class="sd"> Append to or set the SELECT expressions.</span>
-</span><span id="Select-2719"><a href="#Select-2719"><span class="linenos">2719</span></a>
-</span><span id="Select-2720"><a href="#Select-2720"><span class="linenos">2720</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2721"><a href="#Select-2721"><span class="linenos">2721</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;y&quot;).sql()</span>
-</span><span id="Select-2722"><a href="#Select-2722"><span class="linenos">2722</span></a><span class="sd"> &#39;SELECT x, y&#39;</span>
-</span><span id="Select-2723"><a href="#Select-2723"><span class="linenos">2723</span></a>
-</span><span id="Select-2724"><a href="#Select-2724"><span class="linenos">2724</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2725"><a href="#Select-2725"><span class="linenos">2725</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2726"><a href="#Select-2726"><span class="linenos">2726</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2727"><a href="#Select-2727"><span class="linenos">2727</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2728"><a href="#Select-2728"><span class="linenos">2728</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Select-2729"><a href="#Select-2729"><span class="linenos">2729</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select-2730"><a href="#Select-2730"><span class="linenos">2730</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2731"><a href="#Select-2731"><span class="linenos">2731</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2732"><a href="#Select-2732"><span class="linenos">2732</span></a>
-</span><span id="Select-2733"><a href="#Select-2733"><span class="linenos">2733</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2734"><a href="#Select-2734"><span class="linenos">2734</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2735"><a href="#Select-2735"><span class="linenos">2735</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2736"><a href="#Select-2736"><span class="linenos">2736</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select-2737"><a href="#Select-2737"><span class="linenos">2737</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2738"><a href="#Select-2738"><span class="linenos">2738</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2739"><a href="#Select-2739"><span class="linenos">2739</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="Select-2740"><a href="#Select-2740"><span class="linenos">2740</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2741"><a href="#Select-2741"><span class="linenos">2741</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2742"><a href="#Select-2742"><span class="linenos">2742</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2743"><a href="#Select-2743"><span class="linenos">2743</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2744"><a href="#Select-2744"><span class="linenos">2744</span></a> <span class="p">)</span>
-</span><span id="Select-2745"><a href="#Select-2745"><span class="linenos">2745</span></a>
-</span><span id="Select-2746"><a href="#Select-2746"><span class="linenos">2746</span></a> <span class="k">def</span> <span class="nf">lateral</span><span class="p">(</span>
-</span><span id="Select-2747"><a href="#Select-2747"><span class="linenos">2747</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2748"><a href="#Select-2748"><span class="linenos">2748</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2749"><a href="#Select-2749"><span class="linenos">2749</span></a> <span class="n">append</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="Select-2750"><a href="#Select-2750"><span class="linenos">2750</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="Select-2751"><a href="#Select-2751"><span class="linenos">2751</span></a> <span class="n">copy</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="Select-2752"><a href="#Select-2752"><span class="linenos">2752</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2753"><a href="#Select-2753"><span class="linenos">2753</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2754"><a href="#Select-2754"><span class="linenos">2754</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2755"><a href="#Select-2755"><span class="linenos">2755</span></a><span class="sd"> Append to or set the LATERAL expressions.</span>
-</span><span id="Select-2756"><a href="#Select-2756"><span class="linenos">2756</span></a>
-</span><span id="Select-2757"><a href="#Select-2757"><span class="linenos">2757</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2758"><a href="#Select-2758"><span class="linenos">2758</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).lateral(&quot;OUTER explode(y) tbl2 AS z&quot;).from_(&quot;tbl&quot;).sql()</span>
-</span><span id="Select-2759"><a href="#Select-2759"><span class="linenos">2759</span></a><span class="sd"> &#39;SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z&#39;</span>
-</span><span id="Select-2760"><a href="#Select-2760"><span class="linenos">2760</span></a>
-</span><span id="Select-2761"><a href="#Select-2761"><span class="linenos">2761</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2762"><a href="#Select-2762"><span class="linenos">2762</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2763"><a href="#Select-2763"><span class="linenos">2763</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2764"><a href="#Select-2764"><span class="linenos">2764</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2765"><a href="#Select-2765"><span class="linenos">2765</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Select-2766"><a href="#Select-2766"><span class="linenos">2766</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select-2767"><a href="#Select-2767"><span class="linenos">2767</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2768"><a href="#Select-2768"><span class="linenos">2768</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2769"><a href="#Select-2769"><span class="linenos">2769</span></a>
-</span><span id="Select-2770"><a href="#Select-2770"><span class="linenos">2770</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2771"><a href="#Select-2771"><span class="linenos">2771</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2772"><a href="#Select-2772"><span class="linenos">2772</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2773"><a href="#Select-2773"><span class="linenos">2773</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select-2774"><a href="#Select-2774"><span class="linenos">2774</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2775"><a href="#Select-2775"><span class="linenos">2775</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2776"><a href="#Select-2776"><span class="linenos">2776</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;laterals&quot;</span><span class="p">,</span>
-</span><span id="Select-2777"><a href="#Select-2777"><span class="linenos">2777</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2778"><a href="#Select-2778"><span class="linenos">2778</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Lateral</span><span class="p">,</span>
-</span><span id="Select-2779"><a href="#Select-2779"><span class="linenos">2779</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LATERAL VIEW&quot;</span><span class="p">,</span>
-</span><span id="Select-2780"><a href="#Select-2780"><span class="linenos">2780</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2781"><a href="#Select-2781"><span class="linenos">2781</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2782"><a href="#Select-2782"><span class="linenos">2782</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2783"><a href="#Select-2783"><span class="linenos">2783</span></a> <span class="p">)</span>
-</span><span id="Select-2784"><a href="#Select-2784"><span class="linenos">2784</span></a>
-</span><span id="Select-2785"><a href="#Select-2785"><span class="linenos">2785</span></a> <span class="k">def</span> <span class="nf">join</span><span class="p">(</span>
-</span><span id="Select-2786"><a href="#Select-2786"><span class="linenos">2786</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2787"><a href="#Select-2787"><span class="linenos">2787</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Select-2788"><a href="#Select-2788"><span class="linenos">2788</span></a> <span class="n">on</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select-2789"><a href="#Select-2789"><span class="linenos">2789</span></a> <span class="n">using</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">ExpOrStr</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select-2790"><a href="#Select-2790"><span class="linenos">2790</span></a> <span class="n">append</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="Select-2791"><a href="#Select-2791"><span class="linenos">2791</span></a> <span class="n">join_type</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select-2792"><a href="#Select-2792"><span class="linenos">2792</span></a> <span class="n">join_alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select-2793"><a href="#Select-2793"><span class="linenos">2793</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="Select-2794"><a href="#Select-2794"><span class="linenos">2794</span></a> <span class="n">copy</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="Select-2795"><a href="#Select-2795"><span class="linenos">2795</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2796"><a href="#Select-2796"><span class="linenos">2796</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2797"><a href="#Select-2797"><span class="linenos">2797</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2798"><a href="#Select-2798"><span class="linenos">2798</span></a><span class="sd"> Append to or set the JOIN expressions.</span>
-</span><span id="Select-2799"><a href="#Select-2799"><span class="linenos">2799</span></a>
-</span><span id="Select-2800"><a href="#Select-2800"><span class="linenos">2800</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2801"><a href="#Select-2801"><span class="linenos">2801</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;).sql()</span>
-</span><span id="Select-2802"><a href="#Select-2802"><span class="linenos">2802</span></a><span class="sd"> &#39;SELECT * FROM tbl JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="Select-2695"><a href="#Select-2695"><span class="linenos">2695</span></a> <span class="k">def</span> <span class="nf">offset</span><span class="p">(</span>
+</span><span id="Select-2696"><a href="#Select-2696"><span class="linenos">2696</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Select-2697"><a href="#Select-2697"><span class="linenos">2697</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2698"><a href="#Select-2698"><span class="linenos">2698</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2699"><a href="#Select-2699"><span class="linenos">2699</span></a><span class="sd"> Set the OFFSET expression.</span>
+</span><span id="Select-2700"><a href="#Select-2700"><span class="linenos">2700</span></a>
+</span><span id="Select-2701"><a href="#Select-2701"><span class="linenos">2701</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2702"><a href="#Select-2702"><span class="linenos">2702</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).offset(10).sql()</span>
+</span><span id="Select-2703"><a href="#Select-2703"><span class="linenos">2703</span></a><span class="sd"> &#39;SELECT x FROM tbl OFFSET 10&#39;</span>
+</span><span id="Select-2704"><a href="#Select-2704"><span class="linenos">2704</span></a>
+</span><span id="Select-2705"><a href="#Select-2705"><span class="linenos">2705</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2706"><a href="#Select-2706"><span class="linenos">2706</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Select-2707"><a href="#Select-2707"><span class="linenos">2707</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="Select-2708"><a href="#Select-2708"><span class="linenos">2708</span></a><span class="sd"> If a `Offset` instance is passed, this is used as-is.</span>
+</span><span id="Select-2709"><a href="#Select-2709"><span class="linenos">2709</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Offset`.</span>
+</span><span id="Select-2710"><a href="#Select-2710"><span class="linenos">2710</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select-2711"><a href="#Select-2711"><span class="linenos">2711</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2712"><a href="#Select-2712"><span class="linenos">2712</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2713"><a href="#Select-2713"><span class="linenos">2713</span></a>
+</span><span id="Select-2714"><a href="#Select-2714"><span class="linenos">2714</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2715"><a href="#Select-2715"><span class="linenos">2715</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2716"><a href="#Select-2716"><span class="linenos">2716</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2717"><a href="#Select-2717"><span class="linenos">2717</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Select-2718"><a href="#Select-2718"><span class="linenos">2718</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Select-2719"><a href="#Select-2719"><span class="linenos">2719</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2720"><a href="#Select-2720"><span class="linenos">2720</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;offset&quot;</span><span class="p">,</span>
+</span><span id="Select-2721"><a href="#Select-2721"><span class="linenos">2721</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Offset</span><span class="p">,</span>
+</span><span id="Select-2722"><a href="#Select-2722"><span class="linenos">2722</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;OFFSET&quot;</span><span class="p">,</span>
+</span><span id="Select-2723"><a href="#Select-2723"><span class="linenos">2723</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2724"><a href="#Select-2724"><span class="linenos">2724</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2725"><a href="#Select-2725"><span class="linenos">2725</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2726"><a href="#Select-2726"><span class="linenos">2726</span></a> <span class="p">)</span>
+</span><span id="Select-2727"><a href="#Select-2727"><span class="linenos">2727</span></a>
+</span><span id="Select-2728"><a href="#Select-2728"><span class="linenos">2728</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
+</span><span id="Select-2729"><a href="#Select-2729"><span class="linenos">2729</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2730"><a href="#Select-2730"><span class="linenos">2730</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2731"><a href="#Select-2731"><span class="linenos">2731</span></a> <span class="n">append</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="Select-2732"><a href="#Select-2732"><span class="linenos">2732</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="Select-2733"><a href="#Select-2733"><span class="linenos">2733</span></a> <span class="n">copy</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="Select-2734"><a href="#Select-2734"><span class="linenos">2734</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2735"><a href="#Select-2735"><span class="linenos">2735</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2736"><a href="#Select-2736"><span class="linenos">2736</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2737"><a href="#Select-2737"><span class="linenos">2737</span></a><span class="sd"> Append to or set the SELECT expressions.</span>
+</span><span id="Select-2738"><a href="#Select-2738"><span class="linenos">2738</span></a>
+</span><span id="Select-2739"><a href="#Select-2739"><span class="linenos">2739</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2740"><a href="#Select-2740"><span class="linenos">2740</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;y&quot;).sql()</span>
+</span><span id="Select-2741"><a href="#Select-2741"><span class="linenos">2741</span></a><span class="sd"> &#39;SELECT x, y&#39;</span>
+</span><span id="Select-2742"><a href="#Select-2742"><span class="linenos">2742</span></a>
+</span><span id="Select-2743"><a href="#Select-2743"><span class="linenos">2743</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2744"><a href="#Select-2744"><span class="linenos">2744</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2745"><a href="#Select-2745"><span class="linenos">2745</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2746"><a href="#Select-2746"><span class="linenos">2746</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2747"><a href="#Select-2747"><span class="linenos">2747</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Select-2748"><a href="#Select-2748"><span class="linenos">2748</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select-2749"><a href="#Select-2749"><span class="linenos">2749</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2750"><a href="#Select-2750"><span class="linenos">2750</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2751"><a href="#Select-2751"><span class="linenos">2751</span></a>
+</span><span id="Select-2752"><a href="#Select-2752"><span class="linenos">2752</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2753"><a href="#Select-2753"><span class="linenos">2753</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2754"><a href="#Select-2754"><span class="linenos">2754</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2755"><a href="#Select-2755"><span class="linenos">2755</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select-2756"><a href="#Select-2756"><span class="linenos">2756</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2757"><a href="#Select-2757"><span class="linenos">2757</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2758"><a href="#Select-2758"><span class="linenos">2758</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="Select-2759"><a href="#Select-2759"><span class="linenos">2759</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2760"><a href="#Select-2760"><span class="linenos">2760</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2761"><a href="#Select-2761"><span class="linenos">2761</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2762"><a href="#Select-2762"><span class="linenos">2762</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2763"><a href="#Select-2763"><span class="linenos">2763</span></a> <span class="p">)</span>
+</span><span id="Select-2764"><a href="#Select-2764"><span class="linenos">2764</span></a>
+</span><span id="Select-2765"><a href="#Select-2765"><span class="linenos">2765</span></a> <span class="k">def</span> <span class="nf">lateral</span><span class="p">(</span>
+</span><span id="Select-2766"><a href="#Select-2766"><span class="linenos">2766</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2767"><a href="#Select-2767"><span class="linenos">2767</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2768"><a href="#Select-2768"><span class="linenos">2768</span></a> <span class="n">append</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="Select-2769"><a href="#Select-2769"><span class="linenos">2769</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="Select-2770"><a href="#Select-2770"><span class="linenos">2770</span></a> <span class="n">copy</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="Select-2771"><a href="#Select-2771"><span class="linenos">2771</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2772"><a href="#Select-2772"><span class="linenos">2772</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2773"><a href="#Select-2773"><span class="linenos">2773</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2774"><a href="#Select-2774"><span class="linenos">2774</span></a><span class="sd"> Append to or set the LATERAL expressions.</span>
+</span><span id="Select-2775"><a href="#Select-2775"><span class="linenos">2775</span></a>
+</span><span id="Select-2776"><a href="#Select-2776"><span class="linenos">2776</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2777"><a href="#Select-2777"><span class="linenos">2777</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).lateral(&quot;OUTER explode(y) tbl2 AS z&quot;).from_(&quot;tbl&quot;).sql()</span>
+</span><span id="Select-2778"><a href="#Select-2778"><span class="linenos">2778</span></a><span class="sd"> &#39;SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z&#39;</span>
+</span><span id="Select-2779"><a href="#Select-2779"><span class="linenos">2779</span></a>
+</span><span id="Select-2780"><a href="#Select-2780"><span class="linenos">2780</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2781"><a href="#Select-2781"><span class="linenos">2781</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2782"><a href="#Select-2782"><span class="linenos">2782</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2783"><a href="#Select-2783"><span class="linenos">2783</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2784"><a href="#Select-2784"><span class="linenos">2784</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Select-2785"><a href="#Select-2785"><span class="linenos">2785</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select-2786"><a href="#Select-2786"><span class="linenos">2786</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2787"><a href="#Select-2787"><span class="linenos">2787</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2788"><a href="#Select-2788"><span class="linenos">2788</span></a>
+</span><span id="Select-2789"><a href="#Select-2789"><span class="linenos">2789</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2790"><a href="#Select-2790"><span class="linenos">2790</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2791"><a href="#Select-2791"><span class="linenos">2791</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2792"><a href="#Select-2792"><span class="linenos">2792</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select-2793"><a href="#Select-2793"><span class="linenos">2793</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2794"><a href="#Select-2794"><span class="linenos">2794</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2795"><a href="#Select-2795"><span class="linenos">2795</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;laterals&quot;</span><span class="p">,</span>
+</span><span id="Select-2796"><a href="#Select-2796"><span class="linenos">2796</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2797"><a href="#Select-2797"><span class="linenos">2797</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Lateral</span><span class="p">,</span>
+</span><span id="Select-2798"><a href="#Select-2798"><span class="linenos">2798</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LATERAL VIEW&quot;</span><span class="p">,</span>
+</span><span id="Select-2799"><a href="#Select-2799"><span class="linenos">2799</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2800"><a href="#Select-2800"><span class="linenos">2800</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2801"><a href="#Select-2801"><span class="linenos">2801</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2802"><a href="#Select-2802"><span class="linenos">2802</span></a> <span class="p">)</span>
</span><span id="Select-2803"><a href="#Select-2803"><span class="linenos">2803</span></a>
-</span><span id="Select-2804"><a href="#Select-2804"><span class="linenos">2804</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;1&quot;).from_(&quot;a&quot;).join(&quot;b&quot;, using=[&quot;x&quot;, &quot;y&quot;, &quot;z&quot;]).sql()</span>
-</span><span id="Select-2805"><a href="#Select-2805"><span class="linenos">2805</span></a><span class="sd"> &#39;SELECT 1 FROM a JOIN b USING (x, y, z)&#39;</span>
-</span><span id="Select-2806"><a href="#Select-2806"><span class="linenos">2806</span></a>
-</span><span id="Select-2807"><a href="#Select-2807"><span class="linenos">2807</span></a><span class="sd"> Use `join_type` to change the type of join:</span>
-</span><span id="Select-2808"><a href="#Select-2808"><span class="linenos">2808</span></a>
-</span><span id="Select-2809"><a href="#Select-2809"><span class="linenos">2809</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;, join_type=&quot;left outer&quot;).sql()</span>
-</span><span id="Select-2810"><a href="#Select-2810"><span class="linenos">2810</span></a><span class="sd"> &#39;SELECT * FROM tbl LEFT OUTER JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
-</span><span id="Select-2811"><a href="#Select-2811"><span class="linenos">2811</span></a>
-</span><span id="Select-2812"><a href="#Select-2812"><span class="linenos">2812</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2813"><a href="#Select-2813"><span class="linenos">2813</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Select-2814"><a href="#Select-2814"><span class="linenos">2814</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2815"><a href="#Select-2815"><span class="linenos">2815</span></a><span class="sd"> on: optionally specify the join &quot;on&quot; criteria as a SQL string.</span>
-</span><span id="Select-2816"><a href="#Select-2816"><span class="linenos">2816</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2817"><a href="#Select-2817"><span class="linenos">2817</span></a><span class="sd"> using: optionally specify the join &quot;using&quot; criteria as a SQL string.</span>
-</span><span id="Select-2818"><a href="#Select-2818"><span class="linenos">2818</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2819"><a href="#Select-2819"><span class="linenos">2819</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select-2820"><a href="#Select-2820"><span class="linenos">2820</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Select-2821"><a href="#Select-2821"><span class="linenos">2821</span></a><span class="sd"> join_type: if set, alter the parsed join type.</span>
-</span><span id="Select-2822"><a href="#Select-2822"><span class="linenos">2822</span></a><span class="sd"> join_alias: an optional alias for the joined source.</span>
-</span><span id="Select-2823"><a href="#Select-2823"><span class="linenos">2823</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select-2824"><a href="#Select-2824"><span class="linenos">2824</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2825"><a href="#Select-2825"><span class="linenos">2825</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2826"><a href="#Select-2826"><span class="linenos">2826</span></a>
-</span><span id="Select-2827"><a href="#Select-2827"><span class="linenos">2827</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2828"><a href="#Select-2828"><span class="linenos">2828</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select-2829"><a href="#Select-2829"><span class="linenos">2829</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2830"><a href="#Select-2830"><span class="linenos">2830</span></a> <span class="n">parse_args</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;dialect&quot;</span><span class="p">:</span> <span class="n">dialect</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">}</span>
-</span><span id="Select-2831"><a href="#Select-2831"><span class="linenos">2831</span></a>
-</span><span id="Select-2832"><a href="#Select-2832"><span class="linenos">2832</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Select-2833"><a href="#Select-2833"><span class="linenos">2833</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Join</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;JOIN&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
-</span><span id="Select-2834"><a href="#Select-2834"><span class="linenos">2834</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
-</span><span id="Select-2835"><a href="#Select-2835"><span class="linenos">2835</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="p">(</span><span class="n">Join</span><span class="p">,</span> <span class="n">Expression</span><span class="p">),</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
-</span><span id="Select-2836"><a href="#Select-2836"><span class="linenos">2836</span></a>
-</span><span id="Select-2837"><a href="#Select-2837"><span class="linenos">2837</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">expression</span> <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">Join</span><span class="p">)</span> <span class="k">else</span> <span class="n">Join</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="Select-2838"><a href="#Select-2838"><span class="linenos">2838</span></a>
-</span><span id="Select-2839"><a href="#Select-2839"><span class="linenos">2839</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">Select</span><span class="p">):</span>
-</span><span id="Select-2840"><a href="#Select-2840"><span class="linenos">2840</span></a> <span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">subquery</span><span class="p">())</span>
-</span><span id="Select-2841"><a href="#Select-2841"><span class="linenos">2841</span></a>
-</span><span id="Select-2842"><a href="#Select-2842"><span class="linenos">2842</span></a> <span class="k">if</span> <span class="n">join_type</span><span class="p">:</span>
-</span><span id="Select-2843"><a href="#Select-2843"><span class="linenos">2843</span></a> <span class="n">method</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">Token</span><span class="p">]</span>
-</span><span id="Select-2844"><a href="#Select-2844"><span class="linenos">2844</span></a> <span class="n">side</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">Token</span><span class="p">]</span>
-</span><span id="Select-2845"><a href="#Select-2845"><span class="linenos">2845</span></a> <span class="n">kind</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">Token</span><span class="p">]</span>
-</span><span id="Select-2846"><a href="#Select-2846"><span class="linenos">2846</span></a>
-</span><span id="Select-2847"><a href="#Select-2847"><span class="linenos">2847</span></a> <span class="n">method</span><span class="p">,</span> <span class="n">side</span><span class="p">,</span> <span class="n">kind</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">join_type</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="s2">&quot;JOIN_TYPE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="Select-2848"><a href="#Select-2848"><span class="linenos">2848</span></a>
-</span><span id="Select-2849"><a href="#Select-2849"><span class="linenos">2849</span></a> <span class="k">if</span> <span class="n">method</span><span class="p">:</span>
-</span><span id="Select-2850"><a href="#Select-2850"><span class="linenos">2850</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">,</span> <span class="n">method</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-</span><span id="Select-2851"><a href="#Select-2851"><span class="linenos">2851</span></a> <span class="k">if</span> <span class="n">side</span><span class="p">:</span>
-</span><span id="Select-2852"><a href="#Select-2852"><span class="linenos">2852</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-</span><span id="Select-2853"><a href="#Select-2853"><span class="linenos">2853</span></a> <span class="k">if</span> <span class="n">kind</span><span class="p">:</span>
-</span><span id="Select-2854"><a href="#Select-2854"><span class="linenos">2854</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="n">kind</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select-2804"><a href="#Select-2804"><span class="linenos">2804</span></a> <span class="k">def</span> <span class="nf">join</span><span class="p">(</span>
+</span><span id="Select-2805"><a href="#Select-2805"><span class="linenos">2805</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2806"><a href="#Select-2806"><span class="linenos">2806</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Select-2807"><a href="#Select-2807"><span class="linenos">2807</span></a> <span class="n">on</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select-2808"><a href="#Select-2808"><span class="linenos">2808</span></a> <span class="n">using</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">ExpOrStr</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select-2809"><a href="#Select-2809"><span class="linenos">2809</span></a> <span class="n">append</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="Select-2810"><a href="#Select-2810"><span class="linenos">2810</span></a> <span class="n">join_type</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select-2811"><a href="#Select-2811"><span class="linenos">2811</span></a> <span class="n">join_alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select-2812"><a href="#Select-2812"><span class="linenos">2812</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="Select-2813"><a href="#Select-2813"><span class="linenos">2813</span></a> <span class="n">copy</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="Select-2814"><a href="#Select-2814"><span class="linenos">2814</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2815"><a href="#Select-2815"><span class="linenos">2815</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2816"><a href="#Select-2816"><span class="linenos">2816</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2817"><a href="#Select-2817"><span class="linenos">2817</span></a><span class="sd"> Append to or set the JOIN expressions.</span>
+</span><span id="Select-2818"><a href="#Select-2818"><span class="linenos">2818</span></a>
+</span><span id="Select-2819"><a href="#Select-2819"><span class="linenos">2819</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2820"><a href="#Select-2820"><span class="linenos">2820</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;).sql()</span>
+</span><span id="Select-2821"><a href="#Select-2821"><span class="linenos">2821</span></a><span class="sd"> &#39;SELECT * FROM tbl JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="Select-2822"><a href="#Select-2822"><span class="linenos">2822</span></a>
+</span><span id="Select-2823"><a href="#Select-2823"><span class="linenos">2823</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;1&quot;).from_(&quot;a&quot;).join(&quot;b&quot;, using=[&quot;x&quot;, &quot;y&quot;, &quot;z&quot;]).sql()</span>
+</span><span id="Select-2824"><a href="#Select-2824"><span class="linenos">2824</span></a><span class="sd"> &#39;SELECT 1 FROM a JOIN b USING (x, y, z)&#39;</span>
+</span><span id="Select-2825"><a href="#Select-2825"><span class="linenos">2825</span></a>
+</span><span id="Select-2826"><a href="#Select-2826"><span class="linenos">2826</span></a><span class="sd"> Use `join_type` to change the type of join:</span>
+</span><span id="Select-2827"><a href="#Select-2827"><span class="linenos">2827</span></a>
+</span><span id="Select-2828"><a href="#Select-2828"><span class="linenos">2828</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;, join_type=&quot;left outer&quot;).sql()</span>
+</span><span id="Select-2829"><a href="#Select-2829"><span class="linenos">2829</span></a><span class="sd"> &#39;SELECT * FROM tbl LEFT OUTER JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="Select-2830"><a href="#Select-2830"><span class="linenos">2830</span></a>
+</span><span id="Select-2831"><a href="#Select-2831"><span class="linenos">2831</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2832"><a href="#Select-2832"><span class="linenos">2832</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Select-2833"><a href="#Select-2833"><span class="linenos">2833</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2834"><a href="#Select-2834"><span class="linenos">2834</span></a><span class="sd"> on: optionally specify the join &quot;on&quot; criteria as a SQL string.</span>
+</span><span id="Select-2835"><a href="#Select-2835"><span class="linenos">2835</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2836"><a href="#Select-2836"><span class="linenos">2836</span></a><span class="sd"> using: optionally specify the join &quot;using&quot; criteria as a SQL string.</span>
+</span><span id="Select-2837"><a href="#Select-2837"><span class="linenos">2837</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2838"><a href="#Select-2838"><span class="linenos">2838</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select-2839"><a href="#Select-2839"><span class="linenos">2839</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Select-2840"><a href="#Select-2840"><span class="linenos">2840</span></a><span class="sd"> join_type: if set, alter the parsed join type.</span>
+</span><span id="Select-2841"><a href="#Select-2841"><span class="linenos">2841</span></a><span class="sd"> join_alias: an optional alias for the joined source.</span>
+</span><span id="Select-2842"><a href="#Select-2842"><span class="linenos">2842</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select-2843"><a href="#Select-2843"><span class="linenos">2843</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2844"><a href="#Select-2844"><span class="linenos">2844</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2845"><a href="#Select-2845"><span class="linenos">2845</span></a>
+</span><span id="Select-2846"><a href="#Select-2846"><span class="linenos">2846</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2847"><a href="#Select-2847"><span class="linenos">2847</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select-2848"><a href="#Select-2848"><span class="linenos">2848</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2849"><a href="#Select-2849"><span class="linenos">2849</span></a> <span class="n">parse_args</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;dialect&quot;</span><span class="p">:</span> <span class="n">dialect</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">}</span>
+</span><span id="Select-2850"><a href="#Select-2850"><span class="linenos">2850</span></a>
+</span><span id="Select-2851"><a href="#Select-2851"><span class="linenos">2851</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Select-2852"><a href="#Select-2852"><span class="linenos">2852</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Join</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;JOIN&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
+</span><span id="Select-2853"><a href="#Select-2853"><span class="linenos">2853</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
+</span><span id="Select-2854"><a href="#Select-2854"><span class="linenos">2854</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="p">(</span><span class="n">Join</span><span class="p">,</span> <span class="n">Expression</span><span class="p">),</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
</span><span id="Select-2855"><a href="#Select-2855"><span class="linenos">2855</span></a>
-</span><span id="Select-2856"><a href="#Select-2856"><span class="linenos">2856</span></a> <span class="k">if</span> <span class="n">on</span><span class="p">:</span>
-</span><span id="Select-2857"><a href="#Select-2857"><span class="linenos">2857</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">on</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="Select-2858"><a href="#Select-2858"><span class="linenos">2858</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;on&quot;</span><span class="p">,</span> <span class="n">on</span><span class="p">)</span>
-</span><span id="Select-2859"><a href="#Select-2859"><span class="linenos">2859</span></a>
-</span><span id="Select-2860"><a href="#Select-2860"><span class="linenos">2860</span></a> <span class="k">if</span> <span class="n">using</span><span class="p">:</span>
-</span><span id="Select-2861"><a href="#Select-2861"><span class="linenos">2861</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select-2862"><a href="#Select-2862"><span class="linenos">2862</span></a> <span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">using</span><span class="p">),</span>
-</span><span id="Select-2863"><a href="#Select-2863"><span class="linenos">2863</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">join</span><span class="p">,</span>
-</span><span id="Select-2864"><a href="#Select-2864"><span class="linenos">2864</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
-</span><span id="Select-2865"><a href="#Select-2865"><span class="linenos">2865</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2866"><a href="#Select-2866"><span class="linenos">2866</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2867"><a href="#Select-2867"><span class="linenos">2867</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2868"><a href="#Select-2868"><span class="linenos">2868</span></a> <span class="p">)</span>
-</span><span id="Select-2869"><a href="#Select-2869"><span class="linenos">2869</span></a>
-</span><span id="Select-2870"><a href="#Select-2870"><span class="linenos">2870</span></a> <span class="k">if</span> <span class="n">join_alias</span><span class="p">:</span>
-</span><span id="Select-2871"><a href="#Select-2871"><span class="linenos">2871</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">alias_</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">join_alias</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
-</span><span id="Select-2872"><a href="#Select-2872"><span class="linenos">2872</span></a>
-</span><span id="Select-2873"><a href="#Select-2873"><span class="linenos">2873</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select-2874"><a href="#Select-2874"><span class="linenos">2874</span></a> <span class="n">join</span><span class="p">,</span>
-</span><span id="Select-2875"><a href="#Select-2875"><span class="linenos">2875</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2876"><a href="#Select-2876"><span class="linenos">2876</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;joins&quot;</span><span class="p">,</span>
-</span><span id="Select-2877"><a href="#Select-2877"><span class="linenos">2877</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2878"><a href="#Select-2878"><span class="linenos">2878</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2879"><a href="#Select-2879"><span class="linenos">2879</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2880"><a href="#Select-2880"><span class="linenos">2880</span></a> <span class="p">)</span>
-</span><span id="Select-2881"><a href="#Select-2881"><span class="linenos">2881</span></a>
-</span><span id="Select-2882"><a href="#Select-2882"><span class="linenos">2882</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
-</span><span id="Select-2883"><a href="#Select-2883"><span class="linenos">2883</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2884"><a href="#Select-2884"><span class="linenos">2884</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2885"><a href="#Select-2885"><span class="linenos">2885</span></a> <span class="n">append</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="Select-2886"><a href="#Select-2886"><span class="linenos">2886</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="Select-2887"><a href="#Select-2887"><span class="linenos">2887</span></a> <span class="n">copy</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="Select-2888"><a href="#Select-2888"><span class="linenos">2888</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2889"><a href="#Select-2889"><span class="linenos">2889</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2890"><a href="#Select-2890"><span class="linenos">2890</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2891"><a href="#Select-2891"><span class="linenos">2891</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
-</span><span id="Select-2892"><a href="#Select-2892"><span class="linenos">2892</span></a>
-</span><span id="Select-2893"><a href="#Select-2893"><span class="linenos">2893</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2894"><a href="#Select-2894"><span class="linenos">2894</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
-</span><span id="Select-2895"><a href="#Select-2895"><span class="linenos">2895</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
-</span><span id="Select-2896"><a href="#Select-2896"><span class="linenos">2896</span></a>
-</span><span id="Select-2897"><a href="#Select-2897"><span class="linenos">2897</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2898"><a href="#Select-2898"><span class="linenos">2898</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2899"><a href="#Select-2899"><span class="linenos">2899</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2900"><a href="#Select-2900"><span class="linenos">2900</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Select-2901"><a href="#Select-2901"><span class="linenos">2901</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Select-2902"><a href="#Select-2902"><span class="linenos">2902</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Select-2903"><a href="#Select-2903"><span class="linenos">2903</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select-2904"><a href="#Select-2904"><span class="linenos">2904</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2905"><a href="#Select-2905"><span class="linenos">2905</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2906"><a href="#Select-2906"><span class="linenos">2906</span></a>
-</span><span id="Select-2907"><a href="#Select-2907"><span class="linenos">2907</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2908"><a href="#Select-2908"><span class="linenos">2908</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select-2909"><a href="#Select-2909"><span class="linenos">2909</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2910"><a href="#Select-2910"><span class="linenos">2910</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Select-2911"><a href="#Select-2911"><span class="linenos">2911</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2912"><a href="#Select-2912"><span class="linenos">2912</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2913"><a href="#Select-2913"><span class="linenos">2913</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="Select-2914"><a href="#Select-2914"><span class="linenos">2914</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2915"><a href="#Select-2915"><span class="linenos">2915</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
-</span><span id="Select-2916"><a href="#Select-2916"><span class="linenos">2916</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2917"><a href="#Select-2917"><span class="linenos">2917</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2918"><a href="#Select-2918"><span class="linenos">2918</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2919"><a href="#Select-2919"><span class="linenos">2919</span></a> <span class="p">)</span>
-</span><span id="Select-2920"><a href="#Select-2920"><span class="linenos">2920</span></a>
-</span><span id="Select-2921"><a href="#Select-2921"><span class="linenos">2921</span></a> <span class="k">def</span> <span class="nf">having</span><span class="p">(</span>
-</span><span id="Select-2922"><a href="#Select-2922"><span class="linenos">2922</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2923"><a href="#Select-2923"><span class="linenos">2923</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2924"><a href="#Select-2924"><span class="linenos">2924</span></a> <span class="n">append</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="Select-2925"><a href="#Select-2925"><span class="linenos">2925</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="Select-2926"><a href="#Select-2926"><span class="linenos">2926</span></a> <span class="n">copy</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="Select-2927"><a href="#Select-2927"><span class="linenos">2927</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2928"><a href="#Select-2928"><span class="linenos">2928</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2929"><a href="#Select-2929"><span class="linenos">2929</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-2930"><a href="#Select-2930"><span class="linenos">2930</span></a><span class="sd"> Append to or set the HAVING expressions.</span>
-</span><span id="Select-2931"><a href="#Select-2931"><span class="linenos">2931</span></a>
-</span><span id="Select-2932"><a href="#Select-2932"><span class="linenos">2932</span></a><span class="sd"> Example:</span>
-</span><span id="Select-2933"><a href="#Select-2933"><span class="linenos">2933</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;COUNT(y)&quot;).from_(&quot;tbl&quot;).group_by(&quot;x&quot;).having(&quot;COUNT(y) &gt; 3&quot;).sql()</span>
-</span><span id="Select-2934"><a href="#Select-2934"><span class="linenos">2934</span></a><span class="sd"> &#39;SELECT x, COUNT(y) FROM tbl GROUP BY x HAVING COUNT(y) &gt; 3&#39;</span>
-</span><span id="Select-2935"><a href="#Select-2935"><span class="linenos">2935</span></a>
-</span><span id="Select-2936"><a href="#Select-2936"><span class="linenos">2936</span></a><span class="sd"> Args:</span>
-</span><span id="Select-2937"><a href="#Select-2937"><span class="linenos">2937</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select-2938"><a href="#Select-2938"><span class="linenos">2938</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-2939"><a href="#Select-2939"><span class="linenos">2939</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Select-2940"><a href="#Select-2940"><span class="linenos">2940</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Select-2941"><a href="#Select-2941"><span class="linenos">2941</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Select-2942"><a href="#Select-2942"><span class="linenos">2942</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select-2943"><a href="#Select-2943"><span class="linenos">2943</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-2944"><a href="#Select-2944"><span class="linenos">2944</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select-2945"><a href="#Select-2945"><span class="linenos">2945</span></a>
-</span><span id="Select-2946"><a href="#Select-2946"><span class="linenos">2946</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-2947"><a href="#Select-2947"><span class="linenos">2947</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select-2948"><a href="#Select-2948"><span class="linenos">2948</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-2949"><a href="#Select-2949"><span class="linenos">2949</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Select-2950"><a href="#Select-2950"><span class="linenos">2950</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select-2951"><a href="#Select-2951"><span class="linenos">2951</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2952"><a href="#Select-2952"><span class="linenos">2952</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;having&quot;</span><span class="p">,</span>
-</span><span id="Select-2953"><a href="#Select-2953"><span class="linenos">2953</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2954"><a href="#Select-2954"><span class="linenos">2954</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Having</span><span class="p">,</span>
-</span><span id="Select-2955"><a href="#Select-2955"><span class="linenos">2955</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-2956"><a href="#Select-2956"><span class="linenos">2956</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select-2957"><a href="#Select-2957"><span class="linenos">2957</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2958"><a href="#Select-2958"><span class="linenos">2958</span></a> <span class="p">)</span>
-</span><span id="Select-2959"><a href="#Select-2959"><span class="linenos">2959</span></a>
-</span><span id="Select-2960"><a href="#Select-2960"><span class="linenos">2960</span></a> <span class="k">def</span> <span class="nf">window</span><span class="p">(</span>
-</span><span id="Select-2961"><a href="#Select-2961"><span class="linenos">2961</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2962"><a href="#Select-2962"><span class="linenos">2962</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select-2963"><a href="#Select-2963"><span class="linenos">2963</span></a> <span class="n">append</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="Select-2964"><a href="#Select-2964"><span class="linenos">2964</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="Select-2965"><a href="#Select-2965"><span class="linenos">2965</span></a> <span class="n">copy</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="Select-2966"><a href="#Select-2966"><span class="linenos">2966</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-2967"><a href="#Select-2967"><span class="linenos">2967</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2968"><a href="#Select-2968"><span class="linenos">2968</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select-2856"><a href="#Select-2856"><span class="linenos">2856</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">expression</span> <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">Join</span><span class="p">)</span> <span class="k">else</span> <span class="n">Join</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="Select-2857"><a href="#Select-2857"><span class="linenos">2857</span></a>
+</span><span id="Select-2858"><a href="#Select-2858"><span class="linenos">2858</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">Select</span><span class="p">):</span>
+</span><span id="Select-2859"><a href="#Select-2859"><span class="linenos">2859</span></a> <span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">subquery</span><span class="p">())</span>
+</span><span id="Select-2860"><a href="#Select-2860"><span class="linenos">2860</span></a>
+</span><span id="Select-2861"><a href="#Select-2861"><span class="linenos">2861</span></a> <span class="k">if</span> <span class="n">join_type</span><span class="p">:</span>
+</span><span id="Select-2862"><a href="#Select-2862"><span class="linenos">2862</span></a> <span class="n">method</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">Token</span><span class="p">]</span>
+</span><span id="Select-2863"><a href="#Select-2863"><span class="linenos">2863</span></a> <span class="n">side</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">Token</span><span class="p">]</span>
+</span><span id="Select-2864"><a href="#Select-2864"><span class="linenos">2864</span></a> <span class="n">kind</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">Token</span><span class="p">]</span>
+</span><span id="Select-2865"><a href="#Select-2865"><span class="linenos">2865</span></a>
+</span><span id="Select-2866"><a href="#Select-2866"><span class="linenos">2866</span></a> <span class="n">method</span><span class="p">,</span> <span class="n">side</span><span class="p">,</span> <span class="n">kind</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">join_type</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="s2">&quot;JOIN_TYPE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="Select-2867"><a href="#Select-2867"><span class="linenos">2867</span></a>
+</span><span id="Select-2868"><a href="#Select-2868"><span class="linenos">2868</span></a> <span class="k">if</span> <span class="n">method</span><span class="p">:</span>
+</span><span id="Select-2869"><a href="#Select-2869"><span class="linenos">2869</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">,</span> <span class="n">method</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select-2870"><a href="#Select-2870"><span class="linenos">2870</span></a> <span class="k">if</span> <span class="n">side</span><span class="p">:</span>
+</span><span id="Select-2871"><a href="#Select-2871"><span class="linenos">2871</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select-2872"><a href="#Select-2872"><span class="linenos">2872</span></a> <span class="k">if</span> <span class="n">kind</span><span class="p">:</span>
+</span><span id="Select-2873"><a href="#Select-2873"><span class="linenos">2873</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="n">kind</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select-2874"><a href="#Select-2874"><span class="linenos">2874</span></a>
+</span><span id="Select-2875"><a href="#Select-2875"><span class="linenos">2875</span></a> <span class="k">if</span> <span class="n">on</span><span class="p">:</span>
+</span><span id="Select-2876"><a href="#Select-2876"><span class="linenos">2876</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">on</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="Select-2877"><a href="#Select-2877"><span class="linenos">2877</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;on&quot;</span><span class="p">,</span> <span class="n">on</span><span class="p">)</span>
+</span><span id="Select-2878"><a href="#Select-2878"><span class="linenos">2878</span></a>
+</span><span id="Select-2879"><a href="#Select-2879"><span class="linenos">2879</span></a> <span class="k">if</span> <span class="n">using</span><span class="p">:</span>
+</span><span id="Select-2880"><a href="#Select-2880"><span class="linenos">2880</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select-2881"><a href="#Select-2881"><span class="linenos">2881</span></a> <span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">using</span><span class="p">),</span>
+</span><span id="Select-2882"><a href="#Select-2882"><span class="linenos">2882</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">join</span><span class="p">,</span>
+</span><span id="Select-2883"><a href="#Select-2883"><span class="linenos">2883</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
+</span><span id="Select-2884"><a href="#Select-2884"><span class="linenos">2884</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2885"><a href="#Select-2885"><span class="linenos">2885</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2886"><a href="#Select-2886"><span class="linenos">2886</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2887"><a href="#Select-2887"><span class="linenos">2887</span></a> <span class="p">)</span>
+</span><span id="Select-2888"><a href="#Select-2888"><span class="linenos">2888</span></a>
+</span><span id="Select-2889"><a href="#Select-2889"><span class="linenos">2889</span></a> <span class="k">if</span> <span class="n">join_alias</span><span class="p">:</span>
+</span><span id="Select-2890"><a href="#Select-2890"><span class="linenos">2890</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">alias_</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">join_alias</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
+</span><span id="Select-2891"><a href="#Select-2891"><span class="linenos">2891</span></a>
+</span><span id="Select-2892"><a href="#Select-2892"><span class="linenos">2892</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select-2893"><a href="#Select-2893"><span class="linenos">2893</span></a> <span class="n">join</span><span class="p">,</span>
+</span><span id="Select-2894"><a href="#Select-2894"><span class="linenos">2894</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2895"><a href="#Select-2895"><span class="linenos">2895</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;joins&quot;</span><span class="p">,</span>
+</span><span id="Select-2896"><a href="#Select-2896"><span class="linenos">2896</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2897"><a href="#Select-2897"><span class="linenos">2897</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2898"><a href="#Select-2898"><span class="linenos">2898</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2899"><a href="#Select-2899"><span class="linenos">2899</span></a> <span class="p">)</span>
+</span><span id="Select-2900"><a href="#Select-2900"><span class="linenos">2900</span></a>
+</span><span id="Select-2901"><a href="#Select-2901"><span class="linenos">2901</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
+</span><span id="Select-2902"><a href="#Select-2902"><span class="linenos">2902</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2903"><a href="#Select-2903"><span class="linenos">2903</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2904"><a href="#Select-2904"><span class="linenos">2904</span></a> <span class="n">append</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="Select-2905"><a href="#Select-2905"><span class="linenos">2905</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="Select-2906"><a href="#Select-2906"><span class="linenos">2906</span></a> <span class="n">copy</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="Select-2907"><a href="#Select-2907"><span class="linenos">2907</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2908"><a href="#Select-2908"><span class="linenos">2908</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2909"><a href="#Select-2909"><span class="linenos">2909</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2910"><a href="#Select-2910"><span class="linenos">2910</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
+</span><span id="Select-2911"><a href="#Select-2911"><span class="linenos">2911</span></a>
+</span><span id="Select-2912"><a href="#Select-2912"><span class="linenos">2912</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2913"><a href="#Select-2913"><span class="linenos">2913</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
+</span><span id="Select-2914"><a href="#Select-2914"><span class="linenos">2914</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
+</span><span id="Select-2915"><a href="#Select-2915"><span class="linenos">2915</span></a>
+</span><span id="Select-2916"><a href="#Select-2916"><span class="linenos">2916</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2917"><a href="#Select-2917"><span class="linenos">2917</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2918"><a href="#Select-2918"><span class="linenos">2918</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2919"><a href="#Select-2919"><span class="linenos">2919</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Select-2920"><a href="#Select-2920"><span class="linenos">2920</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Select-2921"><a href="#Select-2921"><span class="linenos">2921</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Select-2922"><a href="#Select-2922"><span class="linenos">2922</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select-2923"><a href="#Select-2923"><span class="linenos">2923</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2924"><a href="#Select-2924"><span class="linenos">2924</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2925"><a href="#Select-2925"><span class="linenos">2925</span></a>
+</span><span id="Select-2926"><a href="#Select-2926"><span class="linenos">2926</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2927"><a href="#Select-2927"><span class="linenos">2927</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select-2928"><a href="#Select-2928"><span class="linenos">2928</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2929"><a href="#Select-2929"><span class="linenos">2929</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Select-2930"><a href="#Select-2930"><span class="linenos">2930</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-2931"><a href="#Select-2931"><span class="linenos">2931</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2932"><a href="#Select-2932"><span class="linenos">2932</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="Select-2933"><a href="#Select-2933"><span class="linenos">2933</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-2934"><a href="#Select-2934"><span class="linenos">2934</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
+</span><span id="Select-2935"><a href="#Select-2935"><span class="linenos">2935</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-2936"><a href="#Select-2936"><span class="linenos">2936</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-2937"><a href="#Select-2937"><span class="linenos">2937</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2938"><a href="#Select-2938"><span class="linenos">2938</span></a> <span class="p">)</span>
+</span><span id="Select-2939"><a href="#Select-2939"><span class="linenos">2939</span></a>
+</span><span id="Select-2940"><a href="#Select-2940"><span class="linenos">2940</span></a> <span class="k">def</span> <span class="nf">having</span><span class="p">(</span>
+</span><span id="Select-2941"><a href="#Select-2941"><span class="linenos">2941</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-2942"><a href="#Select-2942"><span class="linenos">2942</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-2943"><a href="#Select-2943"><span class="linenos">2943</span></a> <span class="n">append</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="Select-2944"><a href="#Select-2944"><span class="linenos">2944</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="Select-2945"><a href="#Select-2945"><span class="linenos">2945</span></a> <span class="n">copy</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="Select-2946"><a href="#Select-2946"><span class="linenos">2946</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-2947"><a href="#Select-2947"><span class="linenos">2947</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-2948"><a href="#Select-2948"><span class="linenos">2948</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-2949"><a href="#Select-2949"><span class="linenos">2949</span></a><span class="sd"> Append to or set the HAVING expressions.</span>
+</span><span id="Select-2950"><a href="#Select-2950"><span class="linenos">2950</span></a>
+</span><span id="Select-2951"><a href="#Select-2951"><span class="linenos">2951</span></a><span class="sd"> Example:</span>
+</span><span id="Select-2952"><a href="#Select-2952"><span class="linenos">2952</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;COUNT(y)&quot;).from_(&quot;tbl&quot;).group_by(&quot;x&quot;).having(&quot;COUNT(y) &gt; 3&quot;).sql()</span>
+</span><span id="Select-2953"><a href="#Select-2953"><span class="linenos">2953</span></a><span class="sd"> &#39;SELECT x, COUNT(y) FROM tbl GROUP BY x HAVING COUNT(y) &gt; 3&#39;</span>
+</span><span id="Select-2954"><a href="#Select-2954"><span class="linenos">2954</span></a>
+</span><span id="Select-2955"><a href="#Select-2955"><span class="linenos">2955</span></a><span class="sd"> Args:</span>
+</span><span id="Select-2956"><a href="#Select-2956"><span class="linenos">2956</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select-2957"><a href="#Select-2957"><span class="linenos">2957</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-2958"><a href="#Select-2958"><span class="linenos">2958</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Select-2959"><a href="#Select-2959"><span class="linenos">2959</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Select-2960"><a href="#Select-2960"><span class="linenos">2960</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Select-2961"><a href="#Select-2961"><span class="linenos">2961</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select-2962"><a href="#Select-2962"><span class="linenos">2962</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-2963"><a href="#Select-2963"><span class="linenos">2963</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select-2964"><a href="#Select-2964"><span class="linenos">2964</span></a>
+</span><span id="Select-2965"><a href="#Select-2965"><span class="linenos">2965</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-2966"><a href="#Select-2966"><span class="linenos">2966</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select-2967"><a href="#Select-2967"><span class="linenos">2967</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-2968"><a href="#Select-2968"><span class="linenos">2968</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
</span><span id="Select-2969"><a href="#Select-2969"><span class="linenos">2969</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
</span><span id="Select-2970"><a href="#Select-2970"><span class="linenos">2970</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2971"><a href="#Select-2971"><span class="linenos">2971</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span>
+</span><span id="Select-2971"><a href="#Select-2971"><span class="linenos">2971</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;having&quot;</span><span class="p">,</span>
</span><span id="Select-2972"><a href="#Select-2972"><span class="linenos">2972</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2973"><a href="#Select-2973"><span class="linenos">2973</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Window</span><span class="p">,</span>
+</span><span id="Select-2973"><a href="#Select-2973"><span class="linenos">2973</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Having</span><span class="p">,</span>
</span><span id="Select-2974"><a href="#Select-2974"><span class="linenos">2974</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
</span><span id="Select-2975"><a href="#Select-2975"><span class="linenos">2975</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
</span><span id="Select-2976"><a href="#Select-2976"><span class="linenos">2976</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
</span><span id="Select-2977"><a href="#Select-2977"><span class="linenos">2977</span></a> <span class="p">)</span>
</span><span id="Select-2978"><a href="#Select-2978"><span class="linenos">2978</span></a>
-</span><span id="Select-2979"><a href="#Select-2979"><span class="linenos">2979</span></a> <span class="k">def</span> <span class="nf">qualify</span><span class="p">(</span>
+</span><span id="Select-2979"><a href="#Select-2979"><span class="linenos">2979</span></a> <span class="k">def</span> <span class="nf">window</span><span class="p">(</span>
</span><span id="Select-2980"><a href="#Select-2980"><span class="linenos">2980</span></a> <span class="bp">self</span><span class="p">,</span>
</span><span id="Select-2981"><a href="#Select-2981"><span class="linenos">2981</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
</span><span id="Select-2982"><a href="#Select-2982"><span class="linenos">2982</span></a> <span class="n">append</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
@@ -25050,147 +33048,179 @@ Otherwise, this resets the expressions.</li>
</span><span id="Select-2984"><a href="#Select-2984"><span class="linenos">2984</span></a> <span class="n">copy</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="Select-2985"><a href="#Select-2985"><span class="linenos">2985</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
</span><span id="Select-2986"><a href="#Select-2986"><span class="linenos">2986</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-2987"><a href="#Select-2987"><span class="linenos">2987</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Select-2987"><a href="#Select-2987"><span class="linenos">2987</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
</span><span id="Select-2988"><a href="#Select-2988"><span class="linenos">2988</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
</span><span id="Select-2989"><a href="#Select-2989"><span class="linenos">2989</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-2990"><a href="#Select-2990"><span class="linenos">2990</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;qualify&quot;</span><span class="p">,</span>
+</span><span id="Select-2990"><a href="#Select-2990"><span class="linenos">2990</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span>
</span><span id="Select-2991"><a href="#Select-2991"><span class="linenos">2991</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select-2992"><a href="#Select-2992"><span class="linenos">2992</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Qualify</span><span class="p">,</span>
+</span><span id="Select-2992"><a href="#Select-2992"><span class="linenos">2992</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Window</span><span class="p">,</span>
</span><span id="Select-2993"><a href="#Select-2993"><span class="linenos">2993</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
</span><span id="Select-2994"><a href="#Select-2994"><span class="linenos">2994</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
</span><span id="Select-2995"><a href="#Select-2995"><span class="linenos">2995</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
</span><span id="Select-2996"><a href="#Select-2996"><span class="linenos">2996</span></a> <span class="p">)</span>
</span><span id="Select-2997"><a href="#Select-2997"><span class="linenos">2997</span></a>
-</span><span id="Select-2998"><a href="#Select-2998"><span class="linenos">2998</span></a> <span class="k">def</span> <span class="nf">distinct</span><span class="p">(</span>
-</span><span id="Select-2999"><a href="#Select-2999"><span class="linenos">2999</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">ons</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">ExpOrStr</span><span class="p">],</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="Select-3000"><a href="#Select-3000"><span class="linenos">3000</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-3001"><a href="#Select-3001"><span class="linenos">3001</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-3002"><a href="#Select-3002"><span class="linenos">3002</span></a><span class="sd"> Set the OFFSET expression.</span>
-</span><span id="Select-3003"><a href="#Select-3003"><span class="linenos">3003</span></a>
-</span><span id="Select-3004"><a href="#Select-3004"><span class="linenos">3004</span></a><span class="sd"> Example:</span>
-</span><span id="Select-3005"><a href="#Select-3005"><span class="linenos">3005</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).distinct().sql()</span>
-</span><span id="Select-3006"><a href="#Select-3006"><span class="linenos">3006</span></a><span class="sd"> &#39;SELECT DISTINCT x FROM tbl&#39;</span>
-</span><span id="Select-3007"><a href="#Select-3007"><span class="linenos">3007</span></a>
-</span><span id="Select-3008"><a href="#Select-3008"><span class="linenos">3008</span></a><span class="sd"> Args:</span>
-</span><span id="Select-3009"><a href="#Select-3009"><span class="linenos">3009</span></a><span class="sd"> ons: the expressions to distinct on</span>
-</span><span id="Select-3010"><a href="#Select-3010"><span class="linenos">3010</span></a><span class="sd"> distinct: whether the Select should be distinct</span>
-</span><span id="Select-3011"><a href="#Select-3011"><span class="linenos">3011</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-3012"><a href="#Select-3012"><span class="linenos">3012</span></a>
-</span><span id="Select-3013"><a href="#Select-3013"><span class="linenos">3013</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-3014"><a href="#Select-3014"><span class="linenos">3014</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select-3015"><a href="#Select-3015"><span class="linenos">3015</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-3016"><a href="#Select-3016"><span class="linenos">3016</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select-3017"><a href="#Select-3017"><span class="linenos">3017</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">on</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">on</span> <span class="ow">in</span> <span class="n">ons</span> <span class="k">if</span> <span class="n">on</span><span class="p">])</span> <span class="k">if</span> <span class="n">ons</span> <span class="k">else</span> <span class="kc">None</span>
-</span><span id="Select-3018"><a href="#Select-3018"><span class="linenos">3018</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;distinct&quot;</span><span class="p">,</span> <span class="n">Distinct</span><span class="p">(</span><span class="n">on</span><span class="o">=</span><span class="n">on</span><span class="p">)</span> <span class="k">if</span> <span class="n">distinct</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="Select-3019"><a href="#Select-3019"><span class="linenos">3019</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span><span id="Select-3020"><a href="#Select-3020"><span class="linenos">3020</span></a>
-</span><span id="Select-3021"><a href="#Select-3021"><span class="linenos">3021</span></a> <span class="k">def</span> <span class="nf">ctas</span><span class="p">(</span>
-</span><span id="Select-3022"><a href="#Select-3022"><span class="linenos">3022</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select-3023"><a href="#Select-3023"><span class="linenos">3023</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Select-3024"><a href="#Select-3024"><span class="linenos">3024</span></a> <span class="n">properties</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><span id="Select-3025"><a href="#Select-3025"><span class="linenos">3025</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="Select-3026"><a href="#Select-3026"><span class="linenos">3026</span></a> <span class="n">copy</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="Select-3027"><a href="#Select-3027"><span class="linenos">3027</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-3028"><a href="#Select-3028"><span class="linenos">3028</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Create</span><span class="p">:</span>
-</span><span id="Select-3029"><a href="#Select-3029"><span class="linenos">3029</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-3030"><a href="#Select-3030"><span class="linenos">3030</span></a><span class="sd"> Convert this expression to a CREATE TABLE AS statement.</span>
+</span><span id="Select-2998"><a href="#Select-2998"><span class="linenos">2998</span></a> <span class="k">def</span> <span class="nf">qualify</span><span class="p">(</span>
+</span><span id="Select-2999"><a href="#Select-2999"><span class="linenos">2999</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-3000"><a href="#Select-3000"><span class="linenos">3000</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select-3001"><a href="#Select-3001"><span class="linenos">3001</span></a> <span class="n">append</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="Select-3002"><a href="#Select-3002"><span class="linenos">3002</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="Select-3003"><a href="#Select-3003"><span class="linenos">3003</span></a> <span class="n">copy</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="Select-3004"><a href="#Select-3004"><span class="linenos">3004</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-3005"><a href="#Select-3005"><span class="linenos">3005</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-3006"><a href="#Select-3006"><span class="linenos">3006</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Select-3007"><a href="#Select-3007"><span class="linenos">3007</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select-3008"><a href="#Select-3008"><span class="linenos">3008</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-3009"><a href="#Select-3009"><span class="linenos">3009</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;qualify&quot;</span><span class="p">,</span>
+</span><span id="Select-3010"><a href="#Select-3010"><span class="linenos">3010</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select-3011"><a href="#Select-3011"><span class="linenos">3011</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Qualify</span><span class="p">,</span>
+</span><span id="Select-3012"><a href="#Select-3012"><span class="linenos">3012</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-3013"><a href="#Select-3013"><span class="linenos">3013</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select-3014"><a href="#Select-3014"><span class="linenos">3014</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-3015"><a href="#Select-3015"><span class="linenos">3015</span></a> <span class="p">)</span>
+</span><span id="Select-3016"><a href="#Select-3016"><span class="linenos">3016</span></a>
+</span><span id="Select-3017"><a href="#Select-3017"><span class="linenos">3017</span></a> <span class="k">def</span> <span class="nf">distinct</span><span class="p">(</span>
+</span><span id="Select-3018"><a href="#Select-3018"><span class="linenos">3018</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">ons</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">ExpOrStr</span><span class="p">],</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="Select-3019"><a href="#Select-3019"><span class="linenos">3019</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-3020"><a href="#Select-3020"><span class="linenos">3020</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-3021"><a href="#Select-3021"><span class="linenos">3021</span></a><span class="sd"> Set the OFFSET expression.</span>
+</span><span id="Select-3022"><a href="#Select-3022"><span class="linenos">3022</span></a>
+</span><span id="Select-3023"><a href="#Select-3023"><span class="linenos">3023</span></a><span class="sd"> Example:</span>
+</span><span id="Select-3024"><a href="#Select-3024"><span class="linenos">3024</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).distinct().sql()</span>
+</span><span id="Select-3025"><a href="#Select-3025"><span class="linenos">3025</span></a><span class="sd"> &#39;SELECT DISTINCT x FROM tbl&#39;</span>
+</span><span id="Select-3026"><a href="#Select-3026"><span class="linenos">3026</span></a>
+</span><span id="Select-3027"><a href="#Select-3027"><span class="linenos">3027</span></a><span class="sd"> Args:</span>
+</span><span id="Select-3028"><a href="#Select-3028"><span class="linenos">3028</span></a><span class="sd"> ons: the expressions to distinct on</span>
+</span><span id="Select-3029"><a href="#Select-3029"><span class="linenos">3029</span></a><span class="sd"> distinct: whether the Select should be distinct</span>
+</span><span id="Select-3030"><a href="#Select-3030"><span class="linenos">3030</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
</span><span id="Select-3031"><a href="#Select-3031"><span class="linenos">3031</span></a>
-</span><span id="Select-3032"><a href="#Select-3032"><span class="linenos">3032</span></a><span class="sd"> Example:</span>
-</span><span id="Select-3033"><a href="#Select-3033"><span class="linenos">3033</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).ctas(&quot;x&quot;).sql()</span>
-</span><span id="Select-3034"><a href="#Select-3034"><span class="linenos">3034</span></a><span class="sd"> &#39;CREATE TABLE x AS SELECT * FROM tbl&#39;</span>
-</span><span id="Select-3035"><a href="#Select-3035"><span class="linenos">3035</span></a>
-</span><span id="Select-3036"><a href="#Select-3036"><span class="linenos">3036</span></a><span class="sd"> Args:</span>
-</span><span id="Select-3037"><a href="#Select-3037"><span class="linenos">3037</span></a><span class="sd"> table: the SQL code string to parse as the table name.</span>
-</span><span id="Select-3038"><a href="#Select-3038"><span class="linenos">3038</span></a><span class="sd"> If another `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-3039"><a href="#Select-3039"><span class="linenos">3039</span></a><span class="sd"> properties: an optional mapping of table properties</span>
-</span><span id="Select-3040"><a href="#Select-3040"><span class="linenos">3040</span></a><span class="sd"> dialect: the dialect used to parse the input table.</span>
-</span><span id="Select-3041"><a href="#Select-3041"><span class="linenos">3041</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-3042"><a href="#Select-3042"><span class="linenos">3042</span></a><span class="sd"> opts: other options to use to parse the input table.</span>
-</span><span id="Select-3043"><a href="#Select-3043"><span class="linenos">3043</span></a>
-</span><span id="Select-3044"><a href="#Select-3044"><span class="linenos">3044</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-3045"><a href="#Select-3045"><span class="linenos">3045</span></a><span class="sd"> The new Create expression.</span>
-</span><span id="Select-3046"><a href="#Select-3046"><span class="linenos">3046</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-3047"><a href="#Select-3047"><span class="linenos">3047</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select-3048"><a href="#Select-3048"><span class="linenos">3048</span></a> <span class="n">table_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="Select-3049"><a href="#Select-3049"><span class="linenos">3049</span></a> <span class="n">table</span><span class="p">,</span>
-</span><span id="Select-3050"><a href="#Select-3050"><span class="linenos">3050</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
-</span><span id="Select-3051"><a href="#Select-3051"><span class="linenos">3051</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select-3052"><a href="#Select-3052"><span class="linenos">3052</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select-3053"><a href="#Select-3053"><span class="linenos">3053</span></a> <span class="p">)</span>
-</span><span id="Select-3054"><a href="#Select-3054"><span class="linenos">3054</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="Select-3055"><a href="#Select-3055"><span class="linenos">3055</span></a> <span class="k">if</span> <span class="n">properties</span><span class="p">:</span>
-</span><span id="Select-3056"><a href="#Select-3056"><span class="linenos">3056</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">properties</span><span class="p">)</span>
-</span><span id="Select-3057"><a href="#Select-3057"><span class="linenos">3057</span></a>
-</span><span id="Select-3058"><a href="#Select-3058"><span class="linenos">3058</span></a> <span class="k">return</span> <span class="n">Create</span><span class="p">(</span>
-</span><span id="Select-3059"><a href="#Select-3059"><span class="linenos">3059</span></a> <span class="n">this</span><span class="o">=</span><span class="n">table_expression</span><span class="p">,</span>
-</span><span id="Select-3060"><a href="#Select-3060"><span class="linenos">3060</span></a> <span class="n">kind</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">,</span>
-</span><span id="Select-3061"><a href="#Select-3061"><span class="linenos">3061</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
-</span><span id="Select-3062"><a href="#Select-3062"><span class="linenos">3062</span></a> <span class="n">properties</span><span class="o">=</span><span class="n">properties_expression</span><span class="p">,</span>
-</span><span id="Select-3063"><a href="#Select-3063"><span class="linenos">3063</span></a> <span class="p">)</span>
-</span><span id="Select-3064"><a href="#Select-3064"><span class="linenos">3064</span></a>
-</span><span id="Select-3065"><a href="#Select-3065"><span class="linenos">3065</span></a> <span class="k">def</span> <span class="nf">lock</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">update</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-3066"><a href="#Select-3066"><span class="linenos">3066</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-3067"><a href="#Select-3067"><span class="linenos">3067</span></a><span class="sd"> Set the locking read mode for this expression.</span>
-</span><span id="Select-3068"><a href="#Select-3068"><span class="linenos">3068</span></a>
-</span><span id="Select-3069"><a href="#Select-3069"><span class="linenos">3069</span></a><span class="sd"> Examples:</span>
-</span><span id="Select-3070"><a href="#Select-3070"><span class="linenos">3070</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock().sql(&quot;mysql&quot;)</span>
-</span><span id="Select-3071"><a href="#Select-3071"><span class="linenos">3071</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR UPDATE&quot;</span>
-</span><span id="Select-3072"><a href="#Select-3072"><span class="linenos">3072</span></a>
-</span><span id="Select-3073"><a href="#Select-3073"><span class="linenos">3073</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock(update=False).sql(&quot;mysql&quot;)</span>
-</span><span id="Select-3074"><a href="#Select-3074"><span class="linenos">3074</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR SHARE&quot;</span>
-</span><span id="Select-3075"><a href="#Select-3075"><span class="linenos">3075</span></a>
-</span><span id="Select-3076"><a href="#Select-3076"><span class="linenos">3076</span></a><span class="sd"> Args:</span>
-</span><span id="Select-3077"><a href="#Select-3077"><span class="linenos">3077</span></a><span class="sd"> update: if `True`, the locking type will be `FOR UPDATE`, else it will be `FOR SHARE`.</span>
-</span><span id="Select-3078"><a href="#Select-3078"><span class="linenos">3078</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select-3079"><a href="#Select-3079"><span class="linenos">3079</span></a>
-</span><span id="Select-3080"><a href="#Select-3080"><span class="linenos">3080</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-3081"><a href="#Select-3081"><span class="linenos">3081</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Select-3082"><a href="#Select-3082"><span class="linenos">3082</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-3083"><a href="#Select-3083"><span class="linenos">3083</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select-3084"><a href="#Select-3084"><span class="linenos">3084</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;locks&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">Lock</span><span class="p">(</span><span class="n">update</span><span class="o">=</span><span class="n">update</span><span class="p">)])</span>
-</span><span id="Select-3085"><a href="#Select-3085"><span class="linenos">3085</span></a>
-</span><span id="Select-3086"><a href="#Select-3086"><span class="linenos">3086</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="Select-3032"><a href="#Select-3032"><span class="linenos">3032</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-3033"><a href="#Select-3033"><span class="linenos">3033</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select-3034"><a href="#Select-3034"><span class="linenos">3034</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-3035"><a href="#Select-3035"><span class="linenos">3035</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select-3036"><a href="#Select-3036"><span class="linenos">3036</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">on</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">on</span> <span class="ow">in</span> <span class="n">ons</span> <span class="k">if</span> <span class="n">on</span><span class="p">])</span> <span class="k">if</span> <span class="n">ons</span> <span class="k">else</span> <span class="kc">None</span>
+</span><span id="Select-3037"><a href="#Select-3037"><span class="linenos">3037</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;distinct&quot;</span><span class="p">,</span> <span class="n">Distinct</span><span class="p">(</span><span class="n">on</span><span class="o">=</span><span class="n">on</span><span class="p">)</span> <span class="k">if</span> <span class="n">distinct</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="Select-3038"><a href="#Select-3038"><span class="linenos">3038</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="Select-3039"><a href="#Select-3039"><span class="linenos">3039</span></a>
+</span><span id="Select-3040"><a href="#Select-3040"><span class="linenos">3040</span></a> <span class="k">def</span> <span class="nf">ctas</span><span class="p">(</span>
+</span><span id="Select-3041"><a href="#Select-3041"><span class="linenos">3041</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select-3042"><a href="#Select-3042"><span class="linenos">3042</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Select-3043"><a href="#Select-3043"><span class="linenos">3043</span></a> <span class="n">properties</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><span id="Select-3044"><a href="#Select-3044"><span class="linenos">3044</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="Select-3045"><a href="#Select-3045"><span class="linenos">3045</span></a> <span class="n">copy</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="Select-3046"><a href="#Select-3046"><span class="linenos">3046</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-3047"><a href="#Select-3047"><span class="linenos">3047</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Create</span><span class="p">:</span>
+</span><span id="Select-3048"><a href="#Select-3048"><span class="linenos">3048</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-3049"><a href="#Select-3049"><span class="linenos">3049</span></a><span class="sd"> Convert this expression to a CREATE TABLE AS statement.</span>
+</span><span id="Select-3050"><a href="#Select-3050"><span class="linenos">3050</span></a>
+</span><span id="Select-3051"><a href="#Select-3051"><span class="linenos">3051</span></a><span class="sd"> Example:</span>
+</span><span id="Select-3052"><a href="#Select-3052"><span class="linenos">3052</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).ctas(&quot;x&quot;).sql()</span>
+</span><span id="Select-3053"><a href="#Select-3053"><span class="linenos">3053</span></a><span class="sd"> &#39;CREATE TABLE x AS SELECT * FROM tbl&#39;</span>
+</span><span id="Select-3054"><a href="#Select-3054"><span class="linenos">3054</span></a>
+</span><span id="Select-3055"><a href="#Select-3055"><span class="linenos">3055</span></a><span class="sd"> Args:</span>
+</span><span id="Select-3056"><a href="#Select-3056"><span class="linenos">3056</span></a><span class="sd"> table: the SQL code string to parse as the table name.</span>
+</span><span id="Select-3057"><a href="#Select-3057"><span class="linenos">3057</span></a><span class="sd"> If another `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-3058"><a href="#Select-3058"><span class="linenos">3058</span></a><span class="sd"> properties: an optional mapping of table properties</span>
+</span><span id="Select-3059"><a href="#Select-3059"><span class="linenos">3059</span></a><span class="sd"> dialect: the dialect used to parse the input table.</span>
+</span><span id="Select-3060"><a href="#Select-3060"><span class="linenos">3060</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-3061"><a href="#Select-3061"><span class="linenos">3061</span></a><span class="sd"> opts: other options to use to parse the input table.</span>
+</span><span id="Select-3062"><a href="#Select-3062"><span class="linenos">3062</span></a>
+</span><span id="Select-3063"><a href="#Select-3063"><span class="linenos">3063</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-3064"><a href="#Select-3064"><span class="linenos">3064</span></a><span class="sd"> The new Create expression.</span>
+</span><span id="Select-3065"><a href="#Select-3065"><span class="linenos">3065</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-3066"><a href="#Select-3066"><span class="linenos">3066</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select-3067"><a href="#Select-3067"><span class="linenos">3067</span></a> <span class="n">table_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="Select-3068"><a href="#Select-3068"><span class="linenos">3068</span></a> <span class="n">table</span><span class="p">,</span>
+</span><span id="Select-3069"><a href="#Select-3069"><span class="linenos">3069</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
+</span><span id="Select-3070"><a href="#Select-3070"><span class="linenos">3070</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select-3071"><a href="#Select-3071"><span class="linenos">3071</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select-3072"><a href="#Select-3072"><span class="linenos">3072</span></a> <span class="p">)</span>
+</span><span id="Select-3073"><a href="#Select-3073"><span class="linenos">3073</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="Select-3074"><a href="#Select-3074"><span class="linenos">3074</span></a> <span class="k">if</span> <span class="n">properties</span><span class="p">:</span>
+</span><span id="Select-3075"><a href="#Select-3075"><span class="linenos">3075</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">properties</span><span class="p">)</span>
+</span><span id="Select-3076"><a href="#Select-3076"><span class="linenos">3076</span></a>
+</span><span id="Select-3077"><a href="#Select-3077"><span class="linenos">3077</span></a> <span class="k">return</span> <span class="n">Create</span><span class="p">(</span>
+</span><span id="Select-3078"><a href="#Select-3078"><span class="linenos">3078</span></a> <span class="n">this</span><span class="o">=</span><span class="n">table_expression</span><span class="p">,</span>
+</span><span id="Select-3079"><a href="#Select-3079"><span class="linenos">3079</span></a> <span class="n">kind</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">,</span>
+</span><span id="Select-3080"><a href="#Select-3080"><span class="linenos">3080</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+</span><span id="Select-3081"><a href="#Select-3081"><span class="linenos">3081</span></a> <span class="n">properties</span><span class="o">=</span><span class="n">properties_expression</span><span class="p">,</span>
+</span><span id="Select-3082"><a href="#Select-3082"><span class="linenos">3082</span></a> <span class="p">)</span>
+</span><span id="Select-3083"><a href="#Select-3083"><span class="linenos">3083</span></a>
+</span><span id="Select-3084"><a href="#Select-3084"><span class="linenos">3084</span></a> <span class="k">def</span> <span class="nf">lock</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">update</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-3085"><a href="#Select-3085"><span class="linenos">3085</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-3086"><a href="#Select-3086"><span class="linenos">3086</span></a><span class="sd"> Set the locking read mode for this expression.</span>
</span><span id="Select-3087"><a href="#Select-3087"><span class="linenos">3087</span></a>
-</span><span id="Select-3088"><a href="#Select-3088"><span class="linenos">3088</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">hints</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select-3089"><a href="#Select-3089"><span class="linenos">3089</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select-3090"><a href="#Select-3090"><span class="linenos">3090</span></a><span class="sd"> Set hints for this expression.</span>
+</span><span id="Select-3088"><a href="#Select-3088"><span class="linenos">3088</span></a><span class="sd"> Examples:</span>
+</span><span id="Select-3089"><a href="#Select-3089"><span class="linenos">3089</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock().sql(&quot;mysql&quot;)</span>
+</span><span id="Select-3090"><a href="#Select-3090"><span class="linenos">3090</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR UPDATE&quot;</span>
</span><span id="Select-3091"><a href="#Select-3091"><span class="linenos">3091</span></a>
-</span><span id="Select-3092"><a href="#Select-3092"><span class="linenos">3092</span></a><span class="sd"> Examples:</span>
-</span><span id="Select-3093"><a href="#Select-3093"><span class="linenos">3093</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).hint(&quot;BROADCAST(y)&quot;).sql(dialect=&quot;spark&quot;)</span>
-</span><span id="Select-3094"><a href="#Select-3094"><span class="linenos">3094</span></a><span class="sd"> &#39;SELECT /*+ BROADCAST(y) */ x FROM tbl&#39;</span>
-</span><span id="Select-3095"><a href="#Select-3095"><span class="linenos">3095</span></a>
-</span><span id="Select-3096"><a href="#Select-3096"><span class="linenos">3096</span></a><span class="sd"> Args:</span>
-</span><span id="Select-3097"><a href="#Select-3097"><span class="linenos">3097</span></a><span class="sd"> hints: The SQL code strings to parse as the hints.</span>
-</span><span id="Select-3098"><a href="#Select-3098"><span class="linenos">3098</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select-3099"><a href="#Select-3099"><span class="linenos">3099</span></a><span class="sd"> dialect: The dialect used to parse the hints.</span>
-</span><span id="Select-3100"><a href="#Select-3100"><span class="linenos">3100</span></a><span class="sd"> copy: If `False`, modify this expression instance in-place.</span>
-</span><span id="Select-3101"><a href="#Select-3101"><span class="linenos">3101</span></a>
-</span><span id="Select-3102"><a href="#Select-3102"><span class="linenos">3102</span></a><span class="sd"> Returns:</span>
-</span><span id="Select-3103"><a href="#Select-3103"><span class="linenos">3103</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Select-3104"><a href="#Select-3104"><span class="linenos">3104</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select-3105"><a href="#Select-3105"><span class="linenos">3105</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select-3106"><a href="#Select-3106"><span class="linenos">3106</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="Select-3107"><a href="#Select-3107"><span class="linenos">3107</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">,</span> <span class="n">Hint</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</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="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">hints</span><span class="p">])</span>
-</span><span id="Select-3108"><a href="#Select-3108"><span class="linenos">3108</span></a> <span class="p">)</span>
-</span><span id="Select-3109"><a href="#Select-3109"><span class="linenos">3109</span></a>
-</span><span id="Select-3110"><a href="#Select-3110"><span class="linenos">3110</span></a> <span class="k">return</span> <span class="n">inst</span>
-</span><span id="Select-3111"><a href="#Select-3111"><span class="linenos">3111</span></a>
-</span><span id="Select-3112"><a href="#Select-3112"><span class="linenos">3112</span></a> <span class="nd">@property</span>
-</span><span id="Select-3113"><a href="#Select-3113"><span class="linenos">3113</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</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="Select-3114"><a href="#Select-3114"><span class="linenos">3114</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">e</span><span class="o">.</span><span class="n">output_name</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">alias_or_name</span><span class="p">]</span>
-</span><span id="Select-3115"><a href="#Select-3115"><span class="linenos">3115</span></a>
-</span><span id="Select-3116"><a href="#Select-3116"><span class="linenos">3116</span></a> <span class="nd">@property</span>
-</span><span id="Select-3117"><a href="#Select-3117"><span class="linenos">3117</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Select-3118"><a href="#Select-3118"><span class="linenos">3118</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span><span class="p">)</span>
-</span><span id="Select-3119"><a href="#Select-3119"><span class="linenos">3119</span></a>
-</span><span id="Select-3120"><a href="#Select-3120"><span class="linenos">3120</span></a> <span class="nd">@property</span>
-</span><span id="Select-3121"><a href="#Select-3121"><span class="linenos">3121</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
-</span><span id="Select-3122"><a href="#Select-3122"><span class="linenos">3122</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
-</span></pre></div>
-
+</span><span id="Select-3092"><a href="#Select-3092"><span class="linenos">3092</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock(update=False).sql(&quot;mysql&quot;)</span>
+</span><span id="Select-3093"><a href="#Select-3093"><span class="linenos">3093</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR SHARE&quot;</span>
+</span><span id="Select-3094"><a href="#Select-3094"><span class="linenos">3094</span></a>
+</span><span id="Select-3095"><a href="#Select-3095"><span class="linenos">3095</span></a><span class="sd"> Args:</span>
+</span><span id="Select-3096"><a href="#Select-3096"><span class="linenos">3096</span></a><span class="sd"> update: if `True`, the locking type will be `FOR UPDATE`, else it will be `FOR SHARE`.</span>
+</span><span id="Select-3097"><a href="#Select-3097"><span class="linenos">3097</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select-3098"><a href="#Select-3098"><span class="linenos">3098</span></a>
+</span><span id="Select-3099"><a href="#Select-3099"><span class="linenos">3099</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-3100"><a href="#Select-3100"><span class="linenos">3100</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Select-3101"><a href="#Select-3101"><span class="linenos">3101</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-3102"><a href="#Select-3102"><span class="linenos">3102</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select-3103"><a href="#Select-3103"><span class="linenos">3103</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;locks&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">Lock</span><span class="p">(</span><span class="n">update</span><span class="o">=</span><span class="n">update</span><span class="p">)])</span>
+</span><span id="Select-3104"><a href="#Select-3104"><span class="linenos">3104</span></a>
+</span><span id="Select-3105"><a href="#Select-3105"><span class="linenos">3105</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="Select-3106"><a href="#Select-3106"><span class="linenos">3106</span></a>
+</span><span id="Select-3107"><a href="#Select-3107"><span class="linenos">3107</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">hints</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select-3108"><a href="#Select-3108"><span class="linenos">3108</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select-3109"><a href="#Select-3109"><span class="linenos">3109</span></a><span class="sd"> Set hints for this expression.</span>
+</span><span id="Select-3110"><a href="#Select-3110"><span class="linenos">3110</span></a>
+</span><span id="Select-3111"><a href="#Select-3111"><span class="linenos">3111</span></a><span class="sd"> Examples:</span>
+</span><span id="Select-3112"><a href="#Select-3112"><span class="linenos">3112</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).hint(&quot;BROADCAST(y)&quot;).sql(dialect=&quot;spark&quot;)</span>
+</span><span id="Select-3113"><a href="#Select-3113"><span class="linenos">3113</span></a><span class="sd"> &#39;SELECT /*+ BROADCAST(y) */ x FROM tbl&#39;</span>
+</span><span id="Select-3114"><a href="#Select-3114"><span class="linenos">3114</span></a>
+</span><span id="Select-3115"><a href="#Select-3115"><span class="linenos">3115</span></a><span class="sd"> Args:</span>
+</span><span id="Select-3116"><a href="#Select-3116"><span class="linenos">3116</span></a><span class="sd"> hints: The SQL code strings to parse as the hints.</span>
+</span><span id="Select-3117"><a href="#Select-3117"><span class="linenos">3117</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select-3118"><a href="#Select-3118"><span class="linenos">3118</span></a><span class="sd"> dialect: The dialect used to parse the hints.</span>
+</span><span id="Select-3119"><a href="#Select-3119"><span class="linenos">3119</span></a><span class="sd"> copy: If `False`, modify this expression instance in-place.</span>
+</span><span id="Select-3120"><a href="#Select-3120"><span class="linenos">3120</span></a>
+</span><span id="Select-3121"><a href="#Select-3121"><span class="linenos">3121</span></a><span class="sd"> Returns:</span>
+</span><span id="Select-3122"><a href="#Select-3122"><span class="linenos">3122</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Select-3123"><a href="#Select-3123"><span class="linenos">3123</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select-3124"><a href="#Select-3124"><span class="linenos">3124</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select-3125"><a href="#Select-3125"><span class="linenos">3125</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="Select-3126"><a href="#Select-3126"><span class="linenos">3126</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">,</span> <span class="n">Hint</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</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="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">hints</span><span class="p">])</span>
+</span><span id="Select-3127"><a href="#Select-3127"><span class="linenos">3127</span></a> <span class="p">)</span>
+</span><span id="Select-3128"><a href="#Select-3128"><span class="linenos">3128</span></a>
+</span><span id="Select-3129"><a href="#Select-3129"><span class="linenos">3129</span></a> <span class="k">return</span> <span class="n">inst</span>
+</span><span id="Select-3130"><a href="#Select-3130"><span class="linenos">3130</span></a>
+</span><span id="Select-3131"><a href="#Select-3131"><span class="linenos">3131</span></a> <span class="nd">@property</span>
+</span><span id="Select-3132"><a href="#Select-3132"><span class="linenos">3132</span></a> <span class="k">def</span> <span class="nf">named_selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</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="Select-3133"><a href="#Select-3133"><span class="linenos">3133</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">e</span><span class="o">.</span><span class="n">output_name</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">alias_or_name</span><span class="p">]</span>
+</span><span id="Select-3134"><a href="#Select-3134"><span class="linenos">3134</span></a>
+</span><span id="Select-3135"><a href="#Select-3135"><span class="linenos">3135</span></a> <span class="nd">@property</span>
+</span><span id="Select-3136"><a href="#Select-3136"><span class="linenos">3136</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Select-3137"><a href="#Select-3137"><span class="linenos">3137</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">is_star</span> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span><span class="p">)</span>
+</span><span id="Select-3138"><a href="#Select-3138"><span class="linenos">3138</span></a>
+</span><span id="Select-3139"><a href="#Select-3139"><span class="linenos">3139</span></a> <span class="nd">@property</span>
+</span><span id="Select-3140"><a href="#Select-3140"><span class="linenos">3140</span></a> <span class="k">def</span> <span class="nf">selects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
+</span><span id="Select-3141"><a href="#Select-3141"><span class="linenos">3141</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
+</span></pre></div>
+
+
+
+
+ <div id="Select.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Select.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Select.arg_types-view-value"></label><span class="default_value">{&#39;with&#39;: False, &#39;kind&#39;: False, &#39;expressions&#39;: False, &#39;hint&#39;: False, &#39;distinct&#39;: False, &#39;into&#39;: False, &#39;from&#39;: False, &#39;match&#39;: False, &#39;laterals&#39;: False, &#39;joins&#39;: False, &#39;pivots&#39;: False, &#39;where&#39;: False, &#39;group&#39;: False, &#39;having&#39;: False, &#39;qualify&#39;: False, &#39;windows&#39;: False, &#39;distribute&#39;: False, &#39;sort&#39;: False, &#39;cluster&#39;: False, &#39;order&#39;: False, &#39;limit&#39;: False, &#39;offset&#39;: False, &#39;locks&#39;: False, &#39;sample&#39;: False, &#39;settings&#39;: False, &#39;format&#39;: False}</span>
+
+ </div>
+ <a class="headerlink" href="#Select.arg_types"></a>
+
+ </div>
<div id="Select.from_" class="classattr">
<input id="Select.from_-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -25202,37 +33232,37 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Select.from_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.from_-2447"><a href="#Select.from_-2447"><span class="linenos">2447</span></a> <span class="k">def</span> <span class="nf">from_</span><span class="p">(</span>
-</span><span id="Select.from_-2448"><a href="#Select.from_-2448"><span class="linenos">2448</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Select.from_-2449"><a href="#Select.from_-2449"><span class="linenos">2449</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.from_-2450"><a href="#Select.from_-2450"><span class="linenos">2450</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.from_-2451"><a href="#Select.from_-2451"><span class="linenos">2451</span></a><span class="sd"> Set the FROM expression.</span>
-</span><span id="Select.from_-2452"><a href="#Select.from_-2452"><span class="linenos">2452</span></a>
-</span><span id="Select.from_-2453"><a href="#Select.from_-2453"><span class="linenos">2453</span></a><span class="sd"> Example:</span>
-</span><span id="Select.from_-2454"><a href="#Select.from_-2454"><span class="linenos">2454</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sql()</span>
-</span><span id="Select.from_-2455"><a href="#Select.from_-2455"><span class="linenos">2455</span></a><span class="sd"> &#39;SELECT x FROM tbl&#39;</span>
-</span><span id="Select.from_-2456"><a href="#Select.from_-2456"><span class="linenos">2456</span></a>
-</span><span id="Select.from_-2457"><a href="#Select.from_-2457"><span class="linenos">2457</span></a><span class="sd"> Args:</span>
-</span><span id="Select.from_-2458"><a href="#Select.from_-2458"><span class="linenos">2458</span></a><span class="sd"> expression : the SQL code strings to parse.</span>
-</span><span id="Select.from_-2459"><a href="#Select.from_-2459"><span class="linenos">2459</span></a><span class="sd"> If a `From` instance is passed, this is used as-is.</span>
-</span><span id="Select.from_-2460"><a href="#Select.from_-2460"><span class="linenos">2460</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `From`.</span>
-</span><span id="Select.from_-2461"><a href="#Select.from_-2461"><span class="linenos">2461</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.from_-2462"><a href="#Select.from_-2462"><span class="linenos">2462</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.from_-2463"><a href="#Select.from_-2463"><span class="linenos">2463</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.from_-2464"><a href="#Select.from_-2464"><span class="linenos">2464</span></a>
-</span><span id="Select.from_-2465"><a href="#Select.from_-2465"><span class="linenos">2465</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.from_-2466"><a href="#Select.from_-2466"><span class="linenos">2466</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.from_-2467"><a href="#Select.from_-2467"><span class="linenos">2467</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.from_-2468"><a href="#Select.from_-2468"><span class="linenos">2468</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Select.from_-2469"><a href="#Select.from_-2469"><span class="linenos">2469</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Select.from_-2470"><a href="#Select.from_-2470"><span class="linenos">2470</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.from_-2471"><a href="#Select.from_-2471"><span class="linenos">2471</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;from&quot;</span><span class="p">,</span>
-</span><span id="Select.from_-2472"><a href="#Select.from_-2472"><span class="linenos">2472</span></a> <span class="n">into</span><span class="o">=</span><span class="n">From</span><span class="p">,</span>
-</span><span id="Select.from_-2473"><a href="#Select.from_-2473"><span class="linenos">2473</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span>
-</span><span id="Select.from_-2474"><a href="#Select.from_-2474"><span class="linenos">2474</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.from_-2475"><a href="#Select.from_-2475"><span class="linenos">2475</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.from_-2476"><a href="#Select.from_-2476"><span class="linenos">2476</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.from_-2477"><a href="#Select.from_-2477"><span class="linenos">2477</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.from_-2466"><a href="#Select.from_-2466"><span class="linenos">2466</span></a> <span class="k">def</span> <span class="nf">from_</span><span class="p">(</span>
+</span><span id="Select.from_-2467"><a href="#Select.from_-2467"><span class="linenos">2467</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Select.from_-2468"><a href="#Select.from_-2468"><span class="linenos">2468</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.from_-2469"><a href="#Select.from_-2469"><span class="linenos">2469</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.from_-2470"><a href="#Select.from_-2470"><span class="linenos">2470</span></a><span class="sd"> Set the FROM expression.</span>
+</span><span id="Select.from_-2471"><a href="#Select.from_-2471"><span class="linenos">2471</span></a>
+</span><span id="Select.from_-2472"><a href="#Select.from_-2472"><span class="linenos">2472</span></a><span class="sd"> Example:</span>
+</span><span id="Select.from_-2473"><a href="#Select.from_-2473"><span class="linenos">2473</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sql()</span>
+</span><span id="Select.from_-2474"><a href="#Select.from_-2474"><span class="linenos">2474</span></a><span class="sd"> &#39;SELECT x FROM tbl&#39;</span>
+</span><span id="Select.from_-2475"><a href="#Select.from_-2475"><span class="linenos">2475</span></a>
+</span><span id="Select.from_-2476"><a href="#Select.from_-2476"><span class="linenos">2476</span></a><span class="sd"> Args:</span>
+</span><span id="Select.from_-2477"><a href="#Select.from_-2477"><span class="linenos">2477</span></a><span class="sd"> expression : the SQL code strings to parse.</span>
+</span><span id="Select.from_-2478"><a href="#Select.from_-2478"><span class="linenos">2478</span></a><span class="sd"> If a `From` instance is passed, this is used as-is.</span>
+</span><span id="Select.from_-2479"><a href="#Select.from_-2479"><span class="linenos">2479</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `From`.</span>
+</span><span id="Select.from_-2480"><a href="#Select.from_-2480"><span class="linenos">2480</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.from_-2481"><a href="#Select.from_-2481"><span class="linenos">2481</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.from_-2482"><a href="#Select.from_-2482"><span class="linenos">2482</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.from_-2483"><a href="#Select.from_-2483"><span class="linenos">2483</span></a>
+</span><span id="Select.from_-2484"><a href="#Select.from_-2484"><span class="linenos">2484</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.from_-2485"><a href="#Select.from_-2485"><span class="linenos">2485</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.from_-2486"><a href="#Select.from_-2486"><span class="linenos">2486</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.from_-2487"><a href="#Select.from_-2487"><span class="linenos">2487</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Select.from_-2488"><a href="#Select.from_-2488"><span class="linenos">2488</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Select.from_-2489"><a href="#Select.from_-2489"><span class="linenos">2489</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.from_-2490"><a href="#Select.from_-2490"><span class="linenos">2490</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;from&quot;</span><span class="p">,</span>
+</span><span id="Select.from_-2491"><a href="#Select.from_-2491"><span class="linenos">2491</span></a> <span class="n">into</span><span class="o">=</span><span class="n">From</span><span class="p">,</span>
+</span><span id="Select.from_-2492"><a href="#Select.from_-2492"><span class="linenos">2492</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span>
+</span><span id="Select.from_-2493"><a href="#Select.from_-2493"><span class="linenos">2493</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.from_-2494"><a href="#Select.from_-2494"><span class="linenos">2494</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.from_-2495"><a href="#Select.from_-2495"><span class="linenos">2495</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.from_-2496"><a href="#Select.from_-2496"><span class="linenos">2496</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25279,49 +33309,49 @@ If another <code><a href="#Expression">Expression</a></code> instance is passed,
</div>
<a class="headerlink" href="#Select.group_by"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.group_by-2479"><a href="#Select.group_by-2479"><span class="linenos">2479</span></a> <span class="k">def</span> <span class="nf">group_by</span><span class="p">(</span>
-</span><span id="Select.group_by-2480"><a href="#Select.group_by-2480"><span class="linenos">2480</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.group_by-2481"><a href="#Select.group_by-2481"><span class="linenos">2481</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.group_by-2482"><a href="#Select.group_by-2482"><span class="linenos">2482</span></a> <span class="n">append</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="Select.group_by-2483"><a href="#Select.group_by-2483"><span class="linenos">2483</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="Select.group_by-2484"><a href="#Select.group_by-2484"><span class="linenos">2484</span></a> <span class="n">copy</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="Select.group_by-2485"><a href="#Select.group_by-2485"><span class="linenos">2485</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.group_by-2486"><a href="#Select.group_by-2486"><span class="linenos">2486</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.group_by-2487"><a href="#Select.group_by-2487"><span class="linenos">2487</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.group_by-2488"><a href="#Select.group_by-2488"><span class="linenos">2488</span></a><span class="sd"> Set the GROUP BY expression.</span>
-</span><span id="Select.group_by-2489"><a href="#Select.group_by-2489"><span class="linenos">2489</span></a>
-</span><span id="Select.group_by-2490"><a href="#Select.group_by-2490"><span class="linenos">2490</span></a><span class="sd"> Example:</span>
-</span><span id="Select.group_by-2491"><a href="#Select.group_by-2491"><span class="linenos">2491</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;, &quot;COUNT(1)&quot;).group_by(&quot;x&quot;).sql()</span>
-</span><span id="Select.group_by-2492"><a href="#Select.group_by-2492"><span class="linenos">2492</span></a><span class="sd"> &#39;SELECT x, COUNT(1) FROM tbl GROUP BY x&#39;</span>
-</span><span id="Select.group_by-2493"><a href="#Select.group_by-2493"><span class="linenos">2493</span></a>
-</span><span id="Select.group_by-2494"><a href="#Select.group_by-2494"><span class="linenos">2494</span></a><span class="sd"> Args:</span>
-</span><span id="Select.group_by-2495"><a href="#Select.group_by-2495"><span class="linenos">2495</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.group_by-2496"><a href="#Select.group_by-2496"><span class="linenos">2496</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select.group_by-2497"><a href="#Select.group_by-2497"><span class="linenos">2497</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Group`.</span>
-</span><span id="Select.group_by-2498"><a href="#Select.group_by-2498"><span class="linenos">2498</span></a><span class="sd"> If nothing is passed in then a group by is not applied to the expression</span>
-</span><span id="Select.group_by-2499"><a href="#Select.group_by-2499"><span class="linenos">2499</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.group_by-2500"><a href="#Select.group_by-2500"><span class="linenos">2500</span></a><span class="sd"> Otherwise, this flattens all the `Group` expression into a single expression.</span>
-</span><span id="Select.group_by-2501"><a href="#Select.group_by-2501"><span class="linenos">2501</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.group_by-2502"><a href="#Select.group_by-2502"><span class="linenos">2502</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.group_by-2503"><a href="#Select.group_by-2503"><span class="linenos">2503</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.group_by-2504"><a href="#Select.group_by-2504"><span class="linenos">2504</span></a>
-</span><span id="Select.group_by-2505"><a href="#Select.group_by-2505"><span class="linenos">2505</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.group_by-2506"><a href="#Select.group_by-2506"><span class="linenos">2506</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.group_by-2507"><a href="#Select.group_by-2507"><span class="linenos">2507</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.group_by-2508"><a href="#Select.group_by-2508"><span class="linenos">2508</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="Select.group_by-2509"><a href="#Select.group_by-2509"><span class="linenos">2509</span></a> <span class="k">return</span> <span class="bp">self</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-</span><span id="Select.group_by-2510"><a href="#Select.group_by-2510"><span class="linenos">2510</span></a>
-</span><span id="Select.group_by-2511"><a href="#Select.group_by-2511"><span class="linenos">2511</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select.group_by-2512"><a href="#Select.group_by-2512"><span class="linenos">2512</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.group_by-2513"><a href="#Select.group_by-2513"><span class="linenos">2513</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.group_by-2514"><a href="#Select.group_by-2514"><span class="linenos">2514</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;group&quot;</span><span class="p">,</span>
-</span><span id="Select.group_by-2515"><a href="#Select.group_by-2515"><span class="linenos">2515</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.group_by-2516"><a href="#Select.group_by-2516"><span class="linenos">2516</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.group_by-2517"><a href="#Select.group_by-2517"><span class="linenos">2517</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;GROUP BY&quot;</span><span class="p">,</span>
-</span><span id="Select.group_by-2518"><a href="#Select.group_by-2518"><span class="linenos">2518</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Group</span><span class="p">,</span>
-</span><span id="Select.group_by-2519"><a href="#Select.group_by-2519"><span class="linenos">2519</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.group_by-2520"><a href="#Select.group_by-2520"><span class="linenos">2520</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.group_by-2521"><a href="#Select.group_by-2521"><span class="linenos">2521</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.group_by-2498"><a href="#Select.group_by-2498"><span class="linenos">2498</span></a> <span class="k">def</span> <span class="nf">group_by</span><span class="p">(</span>
+</span><span id="Select.group_by-2499"><a href="#Select.group_by-2499"><span class="linenos">2499</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.group_by-2500"><a href="#Select.group_by-2500"><span class="linenos">2500</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.group_by-2501"><a href="#Select.group_by-2501"><span class="linenos">2501</span></a> <span class="n">append</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="Select.group_by-2502"><a href="#Select.group_by-2502"><span class="linenos">2502</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="Select.group_by-2503"><a href="#Select.group_by-2503"><span class="linenos">2503</span></a> <span class="n">copy</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="Select.group_by-2504"><a href="#Select.group_by-2504"><span class="linenos">2504</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.group_by-2505"><a href="#Select.group_by-2505"><span class="linenos">2505</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.group_by-2506"><a href="#Select.group_by-2506"><span class="linenos">2506</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.group_by-2507"><a href="#Select.group_by-2507"><span class="linenos">2507</span></a><span class="sd"> Set the GROUP BY expression.</span>
+</span><span id="Select.group_by-2508"><a href="#Select.group_by-2508"><span class="linenos">2508</span></a>
+</span><span id="Select.group_by-2509"><a href="#Select.group_by-2509"><span class="linenos">2509</span></a><span class="sd"> Example:</span>
+</span><span id="Select.group_by-2510"><a href="#Select.group_by-2510"><span class="linenos">2510</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;, &quot;COUNT(1)&quot;).group_by(&quot;x&quot;).sql()</span>
+</span><span id="Select.group_by-2511"><a href="#Select.group_by-2511"><span class="linenos">2511</span></a><span class="sd"> &#39;SELECT x, COUNT(1) FROM tbl GROUP BY x&#39;</span>
+</span><span id="Select.group_by-2512"><a href="#Select.group_by-2512"><span class="linenos">2512</span></a>
+</span><span id="Select.group_by-2513"><a href="#Select.group_by-2513"><span class="linenos">2513</span></a><span class="sd"> Args:</span>
+</span><span id="Select.group_by-2514"><a href="#Select.group_by-2514"><span class="linenos">2514</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.group_by-2515"><a href="#Select.group_by-2515"><span class="linenos">2515</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select.group_by-2516"><a href="#Select.group_by-2516"><span class="linenos">2516</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Group`.</span>
+</span><span id="Select.group_by-2517"><a href="#Select.group_by-2517"><span class="linenos">2517</span></a><span class="sd"> If nothing is passed in then a group by is not applied to the expression</span>
+</span><span id="Select.group_by-2518"><a href="#Select.group_by-2518"><span class="linenos">2518</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.group_by-2519"><a href="#Select.group_by-2519"><span class="linenos">2519</span></a><span class="sd"> Otherwise, this flattens all the `Group` expression into a single expression.</span>
+</span><span id="Select.group_by-2520"><a href="#Select.group_by-2520"><span class="linenos">2520</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.group_by-2521"><a href="#Select.group_by-2521"><span class="linenos">2521</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.group_by-2522"><a href="#Select.group_by-2522"><span class="linenos">2522</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.group_by-2523"><a href="#Select.group_by-2523"><span class="linenos">2523</span></a>
+</span><span id="Select.group_by-2524"><a href="#Select.group_by-2524"><span class="linenos">2524</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.group_by-2525"><a href="#Select.group_by-2525"><span class="linenos">2525</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.group_by-2526"><a href="#Select.group_by-2526"><span class="linenos">2526</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.group_by-2527"><a href="#Select.group_by-2527"><span class="linenos">2527</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="Select.group_by-2528"><a href="#Select.group_by-2528"><span class="linenos">2528</span></a> <span class="k">return</span> <span class="bp">self</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+</span><span id="Select.group_by-2529"><a href="#Select.group_by-2529"><span class="linenos">2529</span></a>
+</span><span id="Select.group_by-2530"><a href="#Select.group_by-2530"><span class="linenos">2530</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select.group_by-2531"><a href="#Select.group_by-2531"><span class="linenos">2531</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.group_by-2532"><a href="#Select.group_by-2532"><span class="linenos">2532</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.group_by-2533"><a href="#Select.group_by-2533"><span class="linenos">2533</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;group&quot;</span><span class="p">,</span>
+</span><span id="Select.group_by-2534"><a href="#Select.group_by-2534"><span class="linenos">2534</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.group_by-2535"><a href="#Select.group_by-2535"><span class="linenos">2535</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.group_by-2536"><a href="#Select.group_by-2536"><span class="linenos">2536</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;GROUP BY&quot;</span><span class="p">,</span>
+</span><span id="Select.group_by-2537"><a href="#Select.group_by-2537"><span class="linenos">2537</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Group</span><span class="p">,</span>
+</span><span id="Select.group_by-2538"><a href="#Select.group_by-2538"><span class="linenos">2538</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.group_by-2539"><a href="#Select.group_by-2539"><span class="linenos">2539</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.group_by-2540"><a href="#Select.group_by-2540"><span class="linenos">2540</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25371,45 +33401,45 @@ Otherwise, this flattens all the <code><a href="#Group">Group</a></code> express
</div>
<a class="headerlink" href="#Select.order_by"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.order_by-2523"><a href="#Select.order_by-2523"><span class="linenos">2523</span></a> <span class="k">def</span> <span class="nf">order_by</span><span class="p">(</span>
-</span><span id="Select.order_by-2524"><a href="#Select.order_by-2524"><span class="linenos">2524</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.order_by-2525"><a href="#Select.order_by-2525"><span class="linenos">2525</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.order_by-2526"><a href="#Select.order_by-2526"><span class="linenos">2526</span></a> <span class="n">append</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="Select.order_by-2527"><a href="#Select.order_by-2527"><span class="linenos">2527</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="Select.order_by-2528"><a href="#Select.order_by-2528"><span class="linenos">2528</span></a> <span class="n">copy</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="Select.order_by-2529"><a href="#Select.order_by-2529"><span class="linenos">2529</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.order_by-2530"><a href="#Select.order_by-2530"><span class="linenos">2530</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.order_by-2531"><a href="#Select.order_by-2531"><span class="linenos">2531</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.order_by-2532"><a href="#Select.order_by-2532"><span class="linenos">2532</span></a><span class="sd"> Set the ORDER BY expression.</span>
-</span><span id="Select.order_by-2533"><a href="#Select.order_by-2533"><span class="linenos">2533</span></a>
-</span><span id="Select.order_by-2534"><a href="#Select.order_by-2534"><span class="linenos">2534</span></a><span class="sd"> Example:</span>
-</span><span id="Select.order_by-2535"><a href="#Select.order_by-2535"><span class="linenos">2535</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).order_by(&quot;x DESC&quot;).sql()</span>
-</span><span id="Select.order_by-2536"><a href="#Select.order_by-2536"><span class="linenos">2536</span></a><span class="sd"> &#39;SELECT x FROM tbl ORDER BY x DESC&#39;</span>
-</span><span id="Select.order_by-2537"><a href="#Select.order_by-2537"><span class="linenos">2537</span></a>
-</span><span id="Select.order_by-2538"><a href="#Select.order_by-2538"><span class="linenos">2538</span></a><span class="sd"> Args:</span>
-</span><span id="Select.order_by-2539"><a href="#Select.order_by-2539"><span class="linenos">2539</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.order_by-2540"><a href="#Select.order_by-2540"><span class="linenos">2540</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select.order_by-2541"><a href="#Select.order_by-2541"><span class="linenos">2541</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Order`.</span>
-</span><span id="Select.order_by-2542"><a href="#Select.order_by-2542"><span class="linenos">2542</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.order_by-2543"><a href="#Select.order_by-2543"><span class="linenos">2543</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="Select.order_by-2544"><a href="#Select.order_by-2544"><span class="linenos">2544</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.order_by-2545"><a href="#Select.order_by-2545"><span class="linenos">2545</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.order_by-2546"><a href="#Select.order_by-2546"><span class="linenos">2546</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.order_by-2547"><a href="#Select.order_by-2547"><span class="linenos">2547</span></a>
-</span><span id="Select.order_by-2548"><a href="#Select.order_by-2548"><span class="linenos">2548</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.order_by-2549"><a href="#Select.order_by-2549"><span class="linenos">2549</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.order_by-2550"><a href="#Select.order_by-2550"><span class="linenos">2550</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.order_by-2551"><a href="#Select.order_by-2551"><span class="linenos">2551</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select.order_by-2552"><a href="#Select.order_by-2552"><span class="linenos">2552</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.order_by-2553"><a href="#Select.order_by-2553"><span class="linenos">2553</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.order_by-2554"><a href="#Select.order_by-2554"><span class="linenos">2554</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;order&quot;</span><span class="p">,</span>
-</span><span id="Select.order_by-2555"><a href="#Select.order_by-2555"><span class="linenos">2555</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.order_by-2556"><a href="#Select.order_by-2556"><span class="linenos">2556</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.order_by-2557"><a href="#Select.order_by-2557"><span class="linenos">2557</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;ORDER BY&quot;</span><span class="p">,</span>
-</span><span id="Select.order_by-2558"><a href="#Select.order_by-2558"><span class="linenos">2558</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Order</span><span class="p">,</span>
-</span><span id="Select.order_by-2559"><a href="#Select.order_by-2559"><span class="linenos">2559</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.order_by-2560"><a href="#Select.order_by-2560"><span class="linenos">2560</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.order_by-2561"><a href="#Select.order_by-2561"><span class="linenos">2561</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.order_by-2542"><a href="#Select.order_by-2542"><span class="linenos">2542</span></a> <span class="k">def</span> <span class="nf">order_by</span><span class="p">(</span>
+</span><span id="Select.order_by-2543"><a href="#Select.order_by-2543"><span class="linenos">2543</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.order_by-2544"><a href="#Select.order_by-2544"><span class="linenos">2544</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.order_by-2545"><a href="#Select.order_by-2545"><span class="linenos">2545</span></a> <span class="n">append</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="Select.order_by-2546"><a href="#Select.order_by-2546"><span class="linenos">2546</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="Select.order_by-2547"><a href="#Select.order_by-2547"><span class="linenos">2547</span></a> <span class="n">copy</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="Select.order_by-2548"><a href="#Select.order_by-2548"><span class="linenos">2548</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.order_by-2549"><a href="#Select.order_by-2549"><span class="linenos">2549</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.order_by-2550"><a href="#Select.order_by-2550"><span class="linenos">2550</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.order_by-2551"><a href="#Select.order_by-2551"><span class="linenos">2551</span></a><span class="sd"> Set the ORDER BY expression.</span>
+</span><span id="Select.order_by-2552"><a href="#Select.order_by-2552"><span class="linenos">2552</span></a>
+</span><span id="Select.order_by-2553"><a href="#Select.order_by-2553"><span class="linenos">2553</span></a><span class="sd"> Example:</span>
+</span><span id="Select.order_by-2554"><a href="#Select.order_by-2554"><span class="linenos">2554</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).order_by(&quot;x DESC&quot;).sql()</span>
+</span><span id="Select.order_by-2555"><a href="#Select.order_by-2555"><span class="linenos">2555</span></a><span class="sd"> &#39;SELECT x FROM tbl ORDER BY x DESC&#39;</span>
+</span><span id="Select.order_by-2556"><a href="#Select.order_by-2556"><span class="linenos">2556</span></a>
+</span><span id="Select.order_by-2557"><a href="#Select.order_by-2557"><span class="linenos">2557</span></a><span class="sd"> Args:</span>
+</span><span id="Select.order_by-2558"><a href="#Select.order_by-2558"><span class="linenos">2558</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.order_by-2559"><a href="#Select.order_by-2559"><span class="linenos">2559</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select.order_by-2560"><a href="#Select.order_by-2560"><span class="linenos">2560</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Order`.</span>
+</span><span id="Select.order_by-2561"><a href="#Select.order_by-2561"><span class="linenos">2561</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.order_by-2562"><a href="#Select.order_by-2562"><span class="linenos">2562</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="Select.order_by-2563"><a href="#Select.order_by-2563"><span class="linenos">2563</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.order_by-2564"><a href="#Select.order_by-2564"><span class="linenos">2564</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.order_by-2565"><a href="#Select.order_by-2565"><span class="linenos">2565</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.order_by-2566"><a href="#Select.order_by-2566"><span class="linenos">2566</span></a>
+</span><span id="Select.order_by-2567"><a href="#Select.order_by-2567"><span class="linenos">2567</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.order_by-2568"><a href="#Select.order_by-2568"><span class="linenos">2568</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.order_by-2569"><a href="#Select.order_by-2569"><span class="linenos">2569</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.order_by-2570"><a href="#Select.order_by-2570"><span class="linenos">2570</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select.order_by-2571"><a href="#Select.order_by-2571"><span class="linenos">2571</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.order_by-2572"><a href="#Select.order_by-2572"><span class="linenos">2572</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.order_by-2573"><a href="#Select.order_by-2573"><span class="linenos">2573</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;order&quot;</span><span class="p">,</span>
+</span><span id="Select.order_by-2574"><a href="#Select.order_by-2574"><span class="linenos">2574</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.order_by-2575"><a href="#Select.order_by-2575"><span class="linenos">2575</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.order_by-2576"><a href="#Select.order_by-2576"><span class="linenos">2576</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;ORDER BY&quot;</span><span class="p">,</span>
+</span><span id="Select.order_by-2577"><a href="#Select.order_by-2577"><span class="linenos">2577</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Order</span><span class="p">,</span>
+</span><span id="Select.order_by-2578"><a href="#Select.order_by-2578"><span class="linenos">2578</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.order_by-2579"><a href="#Select.order_by-2579"><span class="linenos">2579</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.order_by-2580"><a href="#Select.order_by-2580"><span class="linenos">2580</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25458,45 +33488,45 @@ Otherwise, this flattens all the <code><a href="#Order">Order</a></code> express
</div>
<a class="headerlink" href="#Select.sort_by"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.sort_by-2563"><a href="#Select.sort_by-2563"><span class="linenos">2563</span></a> <span class="k">def</span> <span class="nf">sort_by</span><span class="p">(</span>
-</span><span id="Select.sort_by-2564"><a href="#Select.sort_by-2564"><span class="linenos">2564</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.sort_by-2565"><a href="#Select.sort_by-2565"><span class="linenos">2565</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.sort_by-2566"><a href="#Select.sort_by-2566"><span class="linenos">2566</span></a> <span class="n">append</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="Select.sort_by-2567"><a href="#Select.sort_by-2567"><span class="linenos">2567</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="Select.sort_by-2568"><a href="#Select.sort_by-2568"><span class="linenos">2568</span></a> <span class="n">copy</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="Select.sort_by-2569"><a href="#Select.sort_by-2569"><span class="linenos">2569</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.sort_by-2570"><a href="#Select.sort_by-2570"><span class="linenos">2570</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.sort_by-2571"><a href="#Select.sort_by-2571"><span class="linenos">2571</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.sort_by-2572"><a href="#Select.sort_by-2572"><span class="linenos">2572</span></a><span class="sd"> Set the SORT BY expression.</span>
-</span><span id="Select.sort_by-2573"><a href="#Select.sort_by-2573"><span class="linenos">2573</span></a>
-</span><span id="Select.sort_by-2574"><a href="#Select.sort_by-2574"><span class="linenos">2574</span></a><span class="sd"> Example:</span>
-</span><span id="Select.sort_by-2575"><a href="#Select.sort_by-2575"><span class="linenos">2575</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sort_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
-</span><span id="Select.sort_by-2576"><a href="#Select.sort_by-2576"><span class="linenos">2576</span></a><span class="sd"> &#39;SELECT x FROM tbl SORT BY x DESC&#39;</span>
-</span><span id="Select.sort_by-2577"><a href="#Select.sort_by-2577"><span class="linenos">2577</span></a>
-</span><span id="Select.sort_by-2578"><a href="#Select.sort_by-2578"><span class="linenos">2578</span></a><span class="sd"> Args:</span>
-</span><span id="Select.sort_by-2579"><a href="#Select.sort_by-2579"><span class="linenos">2579</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.sort_by-2580"><a href="#Select.sort_by-2580"><span class="linenos">2580</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select.sort_by-2581"><a href="#Select.sort_by-2581"><span class="linenos">2581</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `SORT`.</span>
-</span><span id="Select.sort_by-2582"><a href="#Select.sort_by-2582"><span class="linenos">2582</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.sort_by-2583"><a href="#Select.sort_by-2583"><span class="linenos">2583</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="Select.sort_by-2584"><a href="#Select.sort_by-2584"><span class="linenos">2584</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.sort_by-2585"><a href="#Select.sort_by-2585"><span class="linenos">2585</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.sort_by-2586"><a href="#Select.sort_by-2586"><span class="linenos">2586</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.sort_by-2587"><a href="#Select.sort_by-2587"><span class="linenos">2587</span></a>
-</span><span id="Select.sort_by-2588"><a href="#Select.sort_by-2588"><span class="linenos">2588</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.sort_by-2589"><a href="#Select.sort_by-2589"><span class="linenos">2589</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.sort_by-2590"><a href="#Select.sort_by-2590"><span class="linenos">2590</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.sort_by-2591"><a href="#Select.sort_by-2591"><span class="linenos">2591</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select.sort_by-2592"><a href="#Select.sort_by-2592"><span class="linenos">2592</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.sort_by-2593"><a href="#Select.sort_by-2593"><span class="linenos">2593</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.sort_by-2594"><a href="#Select.sort_by-2594"><span class="linenos">2594</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;sort&quot;</span><span class="p">,</span>
-</span><span id="Select.sort_by-2595"><a href="#Select.sort_by-2595"><span class="linenos">2595</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.sort_by-2596"><a href="#Select.sort_by-2596"><span class="linenos">2596</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.sort_by-2597"><a href="#Select.sort_by-2597"><span class="linenos">2597</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;SORT BY&quot;</span><span class="p">,</span>
-</span><span id="Select.sort_by-2598"><a href="#Select.sort_by-2598"><span class="linenos">2598</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Sort</span><span class="p">,</span>
-</span><span id="Select.sort_by-2599"><a href="#Select.sort_by-2599"><span class="linenos">2599</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.sort_by-2600"><a href="#Select.sort_by-2600"><span class="linenos">2600</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.sort_by-2601"><a href="#Select.sort_by-2601"><span class="linenos">2601</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.sort_by-2582"><a href="#Select.sort_by-2582"><span class="linenos">2582</span></a> <span class="k">def</span> <span class="nf">sort_by</span><span class="p">(</span>
+</span><span id="Select.sort_by-2583"><a href="#Select.sort_by-2583"><span class="linenos">2583</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.sort_by-2584"><a href="#Select.sort_by-2584"><span class="linenos">2584</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.sort_by-2585"><a href="#Select.sort_by-2585"><span class="linenos">2585</span></a> <span class="n">append</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="Select.sort_by-2586"><a href="#Select.sort_by-2586"><span class="linenos">2586</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="Select.sort_by-2587"><a href="#Select.sort_by-2587"><span class="linenos">2587</span></a> <span class="n">copy</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="Select.sort_by-2588"><a href="#Select.sort_by-2588"><span class="linenos">2588</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.sort_by-2589"><a href="#Select.sort_by-2589"><span class="linenos">2589</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.sort_by-2590"><a href="#Select.sort_by-2590"><span class="linenos">2590</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.sort_by-2591"><a href="#Select.sort_by-2591"><span class="linenos">2591</span></a><span class="sd"> Set the SORT BY expression.</span>
+</span><span id="Select.sort_by-2592"><a href="#Select.sort_by-2592"><span class="linenos">2592</span></a>
+</span><span id="Select.sort_by-2593"><a href="#Select.sort_by-2593"><span class="linenos">2593</span></a><span class="sd"> Example:</span>
+</span><span id="Select.sort_by-2594"><a href="#Select.sort_by-2594"><span class="linenos">2594</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).sort_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
+</span><span id="Select.sort_by-2595"><a href="#Select.sort_by-2595"><span class="linenos">2595</span></a><span class="sd"> &#39;SELECT x FROM tbl SORT BY x DESC&#39;</span>
+</span><span id="Select.sort_by-2596"><a href="#Select.sort_by-2596"><span class="linenos">2596</span></a>
+</span><span id="Select.sort_by-2597"><a href="#Select.sort_by-2597"><span class="linenos">2597</span></a><span class="sd"> Args:</span>
+</span><span id="Select.sort_by-2598"><a href="#Select.sort_by-2598"><span class="linenos">2598</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.sort_by-2599"><a href="#Select.sort_by-2599"><span class="linenos">2599</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select.sort_by-2600"><a href="#Select.sort_by-2600"><span class="linenos">2600</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `SORT`.</span>
+</span><span id="Select.sort_by-2601"><a href="#Select.sort_by-2601"><span class="linenos">2601</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.sort_by-2602"><a href="#Select.sort_by-2602"><span class="linenos">2602</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="Select.sort_by-2603"><a href="#Select.sort_by-2603"><span class="linenos">2603</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.sort_by-2604"><a href="#Select.sort_by-2604"><span class="linenos">2604</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.sort_by-2605"><a href="#Select.sort_by-2605"><span class="linenos">2605</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.sort_by-2606"><a href="#Select.sort_by-2606"><span class="linenos">2606</span></a>
+</span><span id="Select.sort_by-2607"><a href="#Select.sort_by-2607"><span class="linenos">2607</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.sort_by-2608"><a href="#Select.sort_by-2608"><span class="linenos">2608</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.sort_by-2609"><a href="#Select.sort_by-2609"><span class="linenos">2609</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.sort_by-2610"><a href="#Select.sort_by-2610"><span class="linenos">2610</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select.sort_by-2611"><a href="#Select.sort_by-2611"><span class="linenos">2611</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.sort_by-2612"><a href="#Select.sort_by-2612"><span class="linenos">2612</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.sort_by-2613"><a href="#Select.sort_by-2613"><span class="linenos">2613</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;sort&quot;</span><span class="p">,</span>
+</span><span id="Select.sort_by-2614"><a href="#Select.sort_by-2614"><span class="linenos">2614</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.sort_by-2615"><a href="#Select.sort_by-2615"><span class="linenos">2615</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.sort_by-2616"><a href="#Select.sort_by-2616"><span class="linenos">2616</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;SORT BY&quot;</span><span class="p">,</span>
+</span><span id="Select.sort_by-2617"><a href="#Select.sort_by-2617"><span class="linenos">2617</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Sort</span><span class="p">,</span>
+</span><span id="Select.sort_by-2618"><a href="#Select.sort_by-2618"><span class="linenos">2618</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.sort_by-2619"><a href="#Select.sort_by-2619"><span class="linenos">2619</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.sort_by-2620"><a href="#Select.sort_by-2620"><span class="linenos">2620</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25545,45 +33575,45 @@ Otherwise, this flattens all the <code><a href="#Order">Order</a></code> express
</div>
<a class="headerlink" href="#Select.cluster_by"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.cluster_by-2603"><a href="#Select.cluster_by-2603"><span class="linenos">2603</span></a> <span class="k">def</span> <span class="nf">cluster_by</span><span class="p">(</span>
-</span><span id="Select.cluster_by-2604"><a href="#Select.cluster_by-2604"><span class="linenos">2604</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2605"><a href="#Select.cluster_by-2605"><span class="linenos">2605</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.cluster_by-2606"><a href="#Select.cluster_by-2606"><span class="linenos">2606</span></a> <span class="n">append</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="Select.cluster_by-2607"><a href="#Select.cluster_by-2607"><span class="linenos">2607</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="Select.cluster_by-2608"><a href="#Select.cluster_by-2608"><span class="linenos">2608</span></a> <span class="n">copy</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="Select.cluster_by-2609"><a href="#Select.cluster_by-2609"><span class="linenos">2609</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2610"><a href="#Select.cluster_by-2610"><span class="linenos">2610</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.cluster_by-2611"><a href="#Select.cluster_by-2611"><span class="linenos">2611</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.cluster_by-2612"><a href="#Select.cluster_by-2612"><span class="linenos">2612</span></a><span class="sd"> Set the CLUSTER BY expression.</span>
-</span><span id="Select.cluster_by-2613"><a href="#Select.cluster_by-2613"><span class="linenos">2613</span></a>
-</span><span id="Select.cluster_by-2614"><a href="#Select.cluster_by-2614"><span class="linenos">2614</span></a><span class="sd"> Example:</span>
-</span><span id="Select.cluster_by-2615"><a href="#Select.cluster_by-2615"><span class="linenos">2615</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).cluster_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
-</span><span id="Select.cluster_by-2616"><a href="#Select.cluster_by-2616"><span class="linenos">2616</span></a><span class="sd"> &#39;SELECT x FROM tbl CLUSTER BY x DESC&#39;</span>
-</span><span id="Select.cluster_by-2617"><a href="#Select.cluster_by-2617"><span class="linenos">2617</span></a>
-</span><span id="Select.cluster_by-2618"><a href="#Select.cluster_by-2618"><span class="linenos">2618</span></a><span class="sd"> Args:</span>
-</span><span id="Select.cluster_by-2619"><a href="#Select.cluster_by-2619"><span class="linenos">2619</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.cluster_by-2620"><a href="#Select.cluster_by-2620"><span class="linenos">2620</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
-</span><span id="Select.cluster_by-2621"><a href="#Select.cluster_by-2621"><span class="linenos">2621</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Cluster`.</span>
-</span><span id="Select.cluster_by-2622"><a href="#Select.cluster_by-2622"><span class="linenos">2622</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.cluster_by-2623"><a href="#Select.cluster_by-2623"><span class="linenos">2623</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
-</span><span id="Select.cluster_by-2624"><a href="#Select.cluster_by-2624"><span class="linenos">2624</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.cluster_by-2625"><a href="#Select.cluster_by-2625"><span class="linenos">2625</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.cluster_by-2626"><a href="#Select.cluster_by-2626"><span class="linenos">2626</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.cluster_by-2627"><a href="#Select.cluster_by-2627"><span class="linenos">2627</span></a>
-</span><span id="Select.cluster_by-2628"><a href="#Select.cluster_by-2628"><span class="linenos">2628</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.cluster_by-2629"><a href="#Select.cluster_by-2629"><span class="linenos">2629</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.cluster_by-2630"><a href="#Select.cluster_by-2630"><span class="linenos">2630</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.cluster_by-2631"><a href="#Select.cluster_by-2631"><span class="linenos">2631</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
-</span><span id="Select.cluster_by-2632"><a href="#Select.cluster_by-2632"><span class="linenos">2632</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2633"><a href="#Select.cluster_by-2633"><span class="linenos">2633</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2634"><a href="#Select.cluster_by-2634"><span class="linenos">2634</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;cluster&quot;</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2635"><a href="#Select.cluster_by-2635"><span class="linenos">2635</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2636"><a href="#Select.cluster_by-2636"><span class="linenos">2636</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2637"><a href="#Select.cluster_by-2637"><span class="linenos">2637</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2638"><a href="#Select.cluster_by-2638"><span class="linenos">2638</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Cluster</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2639"><a href="#Select.cluster_by-2639"><span class="linenos">2639</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2640"><a href="#Select.cluster_by-2640"><span class="linenos">2640</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.cluster_by-2641"><a href="#Select.cluster_by-2641"><span class="linenos">2641</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.cluster_by-2622"><a href="#Select.cluster_by-2622"><span class="linenos">2622</span></a> <span class="k">def</span> <span class="nf">cluster_by</span><span class="p">(</span>
+</span><span id="Select.cluster_by-2623"><a href="#Select.cluster_by-2623"><span class="linenos">2623</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2624"><a href="#Select.cluster_by-2624"><span class="linenos">2624</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.cluster_by-2625"><a href="#Select.cluster_by-2625"><span class="linenos">2625</span></a> <span class="n">append</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="Select.cluster_by-2626"><a href="#Select.cluster_by-2626"><span class="linenos">2626</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="Select.cluster_by-2627"><a href="#Select.cluster_by-2627"><span class="linenos">2627</span></a> <span class="n">copy</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="Select.cluster_by-2628"><a href="#Select.cluster_by-2628"><span class="linenos">2628</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2629"><a href="#Select.cluster_by-2629"><span class="linenos">2629</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.cluster_by-2630"><a href="#Select.cluster_by-2630"><span class="linenos">2630</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.cluster_by-2631"><a href="#Select.cluster_by-2631"><span class="linenos">2631</span></a><span class="sd"> Set the CLUSTER BY expression.</span>
+</span><span id="Select.cluster_by-2632"><a href="#Select.cluster_by-2632"><span class="linenos">2632</span></a>
+</span><span id="Select.cluster_by-2633"><a href="#Select.cluster_by-2633"><span class="linenos">2633</span></a><span class="sd"> Example:</span>
+</span><span id="Select.cluster_by-2634"><a href="#Select.cluster_by-2634"><span class="linenos">2634</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).cluster_by(&quot;x DESC&quot;).sql(dialect=&quot;hive&quot;)</span>
+</span><span id="Select.cluster_by-2635"><a href="#Select.cluster_by-2635"><span class="linenos">2635</span></a><span class="sd"> &#39;SELECT x FROM tbl CLUSTER BY x DESC&#39;</span>
+</span><span id="Select.cluster_by-2636"><a href="#Select.cluster_by-2636"><span class="linenos">2636</span></a>
+</span><span id="Select.cluster_by-2637"><a href="#Select.cluster_by-2637"><span class="linenos">2637</span></a><span class="sd"> Args:</span>
+</span><span id="Select.cluster_by-2638"><a href="#Select.cluster_by-2638"><span class="linenos">2638</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.cluster_by-2639"><a href="#Select.cluster_by-2639"><span class="linenos">2639</span></a><span class="sd"> If a `Group` instance is passed, this is used as-is.</span>
+</span><span id="Select.cluster_by-2640"><a href="#Select.cluster_by-2640"><span class="linenos">2640</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Cluster`.</span>
+</span><span id="Select.cluster_by-2641"><a href="#Select.cluster_by-2641"><span class="linenos">2641</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.cluster_by-2642"><a href="#Select.cluster_by-2642"><span class="linenos">2642</span></a><span class="sd"> Otherwise, this flattens all the `Order` expression into a single expression.</span>
+</span><span id="Select.cluster_by-2643"><a href="#Select.cluster_by-2643"><span class="linenos">2643</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.cluster_by-2644"><a href="#Select.cluster_by-2644"><span class="linenos">2644</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.cluster_by-2645"><a href="#Select.cluster_by-2645"><span class="linenos">2645</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.cluster_by-2646"><a href="#Select.cluster_by-2646"><span class="linenos">2646</span></a>
+</span><span id="Select.cluster_by-2647"><a href="#Select.cluster_by-2647"><span class="linenos">2647</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.cluster_by-2648"><a href="#Select.cluster_by-2648"><span class="linenos">2648</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.cluster_by-2649"><a href="#Select.cluster_by-2649"><span class="linenos">2649</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.cluster_by-2650"><a href="#Select.cluster_by-2650"><span class="linenos">2650</span></a> <span class="k">return</span> <span class="n">_apply_child_list_builder</span><span class="p">(</span>
+</span><span id="Select.cluster_by-2651"><a href="#Select.cluster_by-2651"><span class="linenos">2651</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2652"><a href="#Select.cluster_by-2652"><span class="linenos">2652</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2653"><a href="#Select.cluster_by-2653"><span class="linenos">2653</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;cluster&quot;</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2654"><a href="#Select.cluster_by-2654"><span class="linenos">2654</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2655"><a href="#Select.cluster_by-2655"><span class="linenos">2655</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2656"><a href="#Select.cluster_by-2656"><span class="linenos">2656</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;CLUSTER BY&quot;</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2657"><a href="#Select.cluster_by-2657"><span class="linenos">2657</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Cluster</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2658"><a href="#Select.cluster_by-2658"><span class="linenos">2658</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2659"><a href="#Select.cluster_by-2659"><span class="linenos">2659</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.cluster_by-2660"><a href="#Select.cluster_by-2660"><span class="linenos">2660</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25632,38 +33662,38 @@ Otherwise, this flattens all the <code><a href="#Order">Order</a></code> express
</div>
<a class="headerlink" href="#Select.limit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.limit-2643"><a href="#Select.limit-2643"><span class="linenos">2643</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
-</span><span id="Select.limit-2644"><a href="#Select.limit-2644"><span class="linenos">2644</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Select.limit-2645"><a href="#Select.limit-2645"><span class="linenos">2645</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.limit-2646"><a href="#Select.limit-2646"><span class="linenos">2646</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.limit-2647"><a href="#Select.limit-2647"><span class="linenos">2647</span></a><span class="sd"> Set the LIMIT expression.</span>
-</span><span id="Select.limit-2648"><a href="#Select.limit-2648"><span class="linenos">2648</span></a>
-</span><span id="Select.limit-2649"><a href="#Select.limit-2649"><span class="linenos">2649</span></a><span class="sd"> Example:</span>
-</span><span id="Select.limit-2650"><a href="#Select.limit-2650"><span class="linenos">2650</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).limit(10).sql()</span>
-</span><span id="Select.limit-2651"><a href="#Select.limit-2651"><span class="linenos">2651</span></a><span class="sd"> &#39;SELECT x FROM tbl LIMIT 10&#39;</span>
-</span><span id="Select.limit-2652"><a href="#Select.limit-2652"><span class="linenos">2652</span></a>
-</span><span id="Select.limit-2653"><a href="#Select.limit-2653"><span class="linenos">2653</span></a><span class="sd"> Args:</span>
-</span><span id="Select.limit-2654"><a href="#Select.limit-2654"><span class="linenos">2654</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Select.limit-2655"><a href="#Select.limit-2655"><span class="linenos">2655</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="Select.limit-2656"><a href="#Select.limit-2656"><span class="linenos">2656</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
-</span><span id="Select.limit-2657"><a href="#Select.limit-2657"><span class="linenos">2657</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
-</span><span id="Select.limit-2658"><a href="#Select.limit-2658"><span class="linenos">2658</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.limit-2659"><a href="#Select.limit-2659"><span class="linenos">2659</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.limit-2660"><a href="#Select.limit-2660"><span class="linenos">2660</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.limit-2661"><a href="#Select.limit-2661"><span class="linenos">2661</span></a>
-</span><span id="Select.limit-2662"><a href="#Select.limit-2662"><span class="linenos">2662</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.limit-2663"><a href="#Select.limit-2663"><span class="linenos">2663</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select.limit-2664"><a href="#Select.limit-2664"><span class="linenos">2664</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.limit-2665"><a href="#Select.limit-2665"><span class="linenos">2665</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Select.limit-2666"><a href="#Select.limit-2666"><span class="linenos">2666</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Select.limit-2667"><a href="#Select.limit-2667"><span class="linenos">2667</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.limit-2668"><a href="#Select.limit-2668"><span class="linenos">2668</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;limit&quot;</span><span class="p">,</span>
-</span><span id="Select.limit-2669"><a href="#Select.limit-2669"><span class="linenos">2669</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Limit</span><span class="p">,</span>
-</span><span id="Select.limit-2670"><a href="#Select.limit-2670"><span class="linenos">2670</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LIMIT&quot;</span><span class="p">,</span>
-</span><span id="Select.limit-2671"><a href="#Select.limit-2671"><span class="linenos">2671</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.limit-2672"><a href="#Select.limit-2672"><span class="linenos">2672</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.limit-2673"><a href="#Select.limit-2673"><span class="linenos">2673</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.limit-2674"><a href="#Select.limit-2674"><span class="linenos">2674</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.limit-2662"><a href="#Select.limit-2662"><span class="linenos">2662</span></a> <span class="k">def</span> <span class="nf">limit</span><span class="p">(</span>
+</span><span id="Select.limit-2663"><a href="#Select.limit-2663"><span class="linenos">2663</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Select.limit-2664"><a href="#Select.limit-2664"><span class="linenos">2664</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.limit-2665"><a href="#Select.limit-2665"><span class="linenos">2665</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.limit-2666"><a href="#Select.limit-2666"><span class="linenos">2666</span></a><span class="sd"> Set the LIMIT expression.</span>
+</span><span id="Select.limit-2667"><a href="#Select.limit-2667"><span class="linenos">2667</span></a>
+</span><span id="Select.limit-2668"><a href="#Select.limit-2668"><span class="linenos">2668</span></a><span class="sd"> Example:</span>
+</span><span id="Select.limit-2669"><a href="#Select.limit-2669"><span class="linenos">2669</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).limit(10).sql()</span>
+</span><span id="Select.limit-2670"><a href="#Select.limit-2670"><span class="linenos">2670</span></a><span class="sd"> &#39;SELECT x FROM tbl LIMIT 10&#39;</span>
+</span><span id="Select.limit-2671"><a href="#Select.limit-2671"><span class="linenos">2671</span></a>
+</span><span id="Select.limit-2672"><a href="#Select.limit-2672"><span class="linenos">2672</span></a><span class="sd"> Args:</span>
+</span><span id="Select.limit-2673"><a href="#Select.limit-2673"><span class="linenos">2673</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Select.limit-2674"><a href="#Select.limit-2674"><span class="linenos">2674</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="Select.limit-2675"><a href="#Select.limit-2675"><span class="linenos">2675</span></a><span class="sd"> If a `Limit` instance is passed, this is used as-is.</span>
+</span><span id="Select.limit-2676"><a href="#Select.limit-2676"><span class="linenos">2676</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Limit`.</span>
+</span><span id="Select.limit-2677"><a href="#Select.limit-2677"><span class="linenos">2677</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.limit-2678"><a href="#Select.limit-2678"><span class="linenos">2678</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.limit-2679"><a href="#Select.limit-2679"><span class="linenos">2679</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.limit-2680"><a href="#Select.limit-2680"><span class="linenos">2680</span></a>
+</span><span id="Select.limit-2681"><a href="#Select.limit-2681"><span class="linenos">2681</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.limit-2682"><a href="#Select.limit-2682"><span class="linenos">2682</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select.limit-2683"><a href="#Select.limit-2683"><span class="linenos">2683</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.limit-2684"><a href="#Select.limit-2684"><span class="linenos">2684</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Select.limit-2685"><a href="#Select.limit-2685"><span class="linenos">2685</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Select.limit-2686"><a href="#Select.limit-2686"><span class="linenos">2686</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.limit-2687"><a href="#Select.limit-2687"><span class="linenos">2687</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;limit&quot;</span><span class="p">,</span>
+</span><span id="Select.limit-2688"><a href="#Select.limit-2688"><span class="linenos">2688</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Limit</span><span class="p">,</span>
+</span><span id="Select.limit-2689"><a href="#Select.limit-2689"><span class="linenos">2689</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LIMIT&quot;</span><span class="p">,</span>
+</span><span id="Select.limit-2690"><a href="#Select.limit-2690"><span class="linenos">2690</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.limit-2691"><a href="#Select.limit-2691"><span class="linenos">2691</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.limit-2692"><a href="#Select.limit-2692"><span class="linenos">2692</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.limit-2693"><a href="#Select.limit-2693"><span class="linenos">2693</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25711,38 +33741,38 @@ If another <code><a href="#Expression">Expression</a></code> instance is passed,
</div>
<a class="headerlink" href="#Select.offset"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.offset-2676"><a href="#Select.offset-2676"><span class="linenos">2676</span></a> <span class="k">def</span> <span class="nf">offset</span><span class="p">(</span>
-</span><span id="Select.offset-2677"><a href="#Select.offset-2677"><span class="linenos">2677</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="Select.offset-2678"><a href="#Select.offset-2678"><span class="linenos">2678</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.offset-2679"><a href="#Select.offset-2679"><span class="linenos">2679</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.offset-2680"><a href="#Select.offset-2680"><span class="linenos">2680</span></a><span class="sd"> Set the OFFSET expression.</span>
-</span><span id="Select.offset-2681"><a href="#Select.offset-2681"><span class="linenos">2681</span></a>
-</span><span id="Select.offset-2682"><a href="#Select.offset-2682"><span class="linenos">2682</span></a><span class="sd"> Example:</span>
-</span><span id="Select.offset-2683"><a href="#Select.offset-2683"><span class="linenos">2683</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).offset(10).sql()</span>
-</span><span id="Select.offset-2684"><a href="#Select.offset-2684"><span class="linenos">2684</span></a><span class="sd"> &#39;SELECT x FROM tbl OFFSET 10&#39;</span>
-</span><span id="Select.offset-2685"><a href="#Select.offset-2685"><span class="linenos">2685</span></a>
-</span><span id="Select.offset-2686"><a href="#Select.offset-2686"><span class="linenos">2686</span></a><span class="sd"> Args:</span>
-</span><span id="Select.offset-2687"><a href="#Select.offset-2687"><span class="linenos">2687</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Select.offset-2688"><a href="#Select.offset-2688"><span class="linenos">2688</span></a><span class="sd"> This can also be an integer.</span>
-</span><span id="Select.offset-2689"><a href="#Select.offset-2689"><span class="linenos">2689</span></a><span class="sd"> If a `Offset` instance is passed, this is used as-is.</span>
-</span><span id="Select.offset-2690"><a href="#Select.offset-2690"><span class="linenos">2690</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Offset`.</span>
-</span><span id="Select.offset-2691"><a href="#Select.offset-2691"><span class="linenos">2691</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="Select.offset-2692"><a href="#Select.offset-2692"><span class="linenos">2692</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.offset-2693"><a href="#Select.offset-2693"><span class="linenos">2693</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.offset-2694"><a href="#Select.offset-2694"><span class="linenos">2694</span></a>
-</span><span id="Select.offset-2695"><a href="#Select.offset-2695"><span class="linenos">2695</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.offset-2696"><a href="#Select.offset-2696"><span class="linenos">2696</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.offset-2697"><a href="#Select.offset-2697"><span class="linenos">2697</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.offset-2698"><a href="#Select.offset-2698"><span class="linenos">2698</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
-</span><span id="Select.offset-2699"><a href="#Select.offset-2699"><span class="linenos">2699</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
-</span><span id="Select.offset-2700"><a href="#Select.offset-2700"><span class="linenos">2700</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.offset-2701"><a href="#Select.offset-2701"><span class="linenos">2701</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;offset&quot;</span><span class="p">,</span>
-</span><span id="Select.offset-2702"><a href="#Select.offset-2702"><span class="linenos">2702</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Offset</span><span class="p">,</span>
-</span><span id="Select.offset-2703"><a href="#Select.offset-2703"><span class="linenos">2703</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;OFFSET&quot;</span><span class="p">,</span>
-</span><span id="Select.offset-2704"><a href="#Select.offset-2704"><span class="linenos">2704</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.offset-2705"><a href="#Select.offset-2705"><span class="linenos">2705</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.offset-2706"><a href="#Select.offset-2706"><span class="linenos">2706</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.offset-2707"><a href="#Select.offset-2707"><span class="linenos">2707</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.offset-2695"><a href="#Select.offset-2695"><span class="linenos">2695</span></a> <span class="k">def</span> <span class="nf">offset</span><span class="p">(</span>
+</span><span id="Select.offset-2696"><a href="#Select.offset-2696"><span class="linenos">2696</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span> <span class="o">|</span> <span class="nb">int</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="Select.offset-2697"><a href="#Select.offset-2697"><span class="linenos">2697</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.offset-2698"><a href="#Select.offset-2698"><span class="linenos">2698</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.offset-2699"><a href="#Select.offset-2699"><span class="linenos">2699</span></a><span class="sd"> Set the OFFSET expression.</span>
+</span><span id="Select.offset-2700"><a href="#Select.offset-2700"><span class="linenos">2700</span></a>
+</span><span id="Select.offset-2701"><a href="#Select.offset-2701"><span class="linenos">2701</span></a><span class="sd"> Example:</span>
+</span><span id="Select.offset-2702"><a href="#Select.offset-2702"><span class="linenos">2702</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).offset(10).sql()</span>
+</span><span id="Select.offset-2703"><a href="#Select.offset-2703"><span class="linenos">2703</span></a><span class="sd"> &#39;SELECT x FROM tbl OFFSET 10&#39;</span>
+</span><span id="Select.offset-2704"><a href="#Select.offset-2704"><span class="linenos">2704</span></a>
+</span><span id="Select.offset-2705"><a href="#Select.offset-2705"><span class="linenos">2705</span></a><span class="sd"> Args:</span>
+</span><span id="Select.offset-2706"><a href="#Select.offset-2706"><span class="linenos">2706</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Select.offset-2707"><a href="#Select.offset-2707"><span class="linenos">2707</span></a><span class="sd"> This can also be an integer.</span>
+</span><span id="Select.offset-2708"><a href="#Select.offset-2708"><span class="linenos">2708</span></a><span class="sd"> If a `Offset` instance is passed, this is used as-is.</span>
+</span><span id="Select.offset-2709"><a href="#Select.offset-2709"><span class="linenos">2709</span></a><span class="sd"> If another `Expression` instance is passed, it will be wrapped in a `Offset`.</span>
+</span><span id="Select.offset-2710"><a href="#Select.offset-2710"><span class="linenos">2710</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="Select.offset-2711"><a href="#Select.offset-2711"><span class="linenos">2711</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.offset-2712"><a href="#Select.offset-2712"><span class="linenos">2712</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.offset-2713"><a href="#Select.offset-2713"><span class="linenos">2713</span></a>
+</span><span id="Select.offset-2714"><a href="#Select.offset-2714"><span class="linenos">2714</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.offset-2715"><a href="#Select.offset-2715"><span class="linenos">2715</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.offset-2716"><a href="#Select.offset-2716"><span class="linenos">2716</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.offset-2717"><a href="#Select.offset-2717"><span class="linenos">2717</span></a> <span class="k">return</span> <span class="n">_apply_builder</span><span class="p">(</span>
+</span><span id="Select.offset-2718"><a href="#Select.offset-2718"><span class="linenos">2718</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+</span><span id="Select.offset-2719"><a href="#Select.offset-2719"><span class="linenos">2719</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.offset-2720"><a href="#Select.offset-2720"><span class="linenos">2720</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;offset&quot;</span><span class="p">,</span>
+</span><span id="Select.offset-2721"><a href="#Select.offset-2721"><span class="linenos">2721</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Offset</span><span class="p">,</span>
+</span><span id="Select.offset-2722"><a href="#Select.offset-2722"><span class="linenos">2722</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;OFFSET&quot;</span><span class="p">,</span>
+</span><span id="Select.offset-2723"><a href="#Select.offset-2723"><span class="linenos">2723</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.offset-2724"><a href="#Select.offset-2724"><span class="linenos">2724</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.offset-2725"><a href="#Select.offset-2725"><span class="linenos">2725</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.offset-2726"><a href="#Select.offset-2726"><span class="linenos">2726</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25790,42 +33820,42 @@ If another <code><a href="#Expression">Expression</a></code> instance is passed,
</div>
<a class="headerlink" href="#Select.select"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.select-2709"><a href="#Select.select-2709"><span class="linenos">2709</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
-</span><span id="Select.select-2710"><a href="#Select.select-2710"><span class="linenos">2710</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.select-2711"><a href="#Select.select-2711"><span class="linenos">2711</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.select-2712"><a href="#Select.select-2712"><span class="linenos">2712</span></a> <span class="n">append</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="Select.select-2713"><a href="#Select.select-2713"><span class="linenos">2713</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="Select.select-2714"><a href="#Select.select-2714"><span class="linenos">2714</span></a> <span class="n">copy</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="Select.select-2715"><a href="#Select.select-2715"><span class="linenos">2715</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.select-2716"><a href="#Select.select-2716"><span class="linenos">2716</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.select-2717"><a href="#Select.select-2717"><span class="linenos">2717</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.select-2718"><a href="#Select.select-2718"><span class="linenos">2718</span></a><span class="sd"> Append to or set the SELECT expressions.</span>
-</span><span id="Select.select-2719"><a href="#Select.select-2719"><span class="linenos">2719</span></a>
-</span><span id="Select.select-2720"><a href="#Select.select-2720"><span class="linenos">2720</span></a><span class="sd"> Example:</span>
-</span><span id="Select.select-2721"><a href="#Select.select-2721"><span class="linenos">2721</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;y&quot;).sql()</span>
-</span><span id="Select.select-2722"><a href="#Select.select-2722"><span class="linenos">2722</span></a><span class="sd"> &#39;SELECT x, y&#39;</span>
-</span><span id="Select.select-2723"><a href="#Select.select-2723"><span class="linenos">2723</span></a>
-</span><span id="Select.select-2724"><a href="#Select.select-2724"><span class="linenos">2724</span></a><span class="sd"> Args:</span>
-</span><span id="Select.select-2725"><a href="#Select.select-2725"><span class="linenos">2725</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.select-2726"><a href="#Select.select-2726"><span class="linenos">2726</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.select-2727"><a href="#Select.select-2727"><span class="linenos">2727</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.select-2728"><a href="#Select.select-2728"><span class="linenos">2728</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Select.select-2729"><a href="#Select.select-2729"><span class="linenos">2729</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select.select-2730"><a href="#Select.select-2730"><span class="linenos">2730</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.select-2731"><a href="#Select.select-2731"><span class="linenos">2731</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.select-2732"><a href="#Select.select-2732"><span class="linenos">2732</span></a>
-</span><span id="Select.select-2733"><a href="#Select.select-2733"><span class="linenos">2733</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.select-2734"><a href="#Select.select-2734"><span class="linenos">2734</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.select-2735"><a href="#Select.select-2735"><span class="linenos">2735</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.select-2736"><a href="#Select.select-2736"><span class="linenos">2736</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select.select-2737"><a href="#Select.select-2737"><span class="linenos">2737</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.select-2738"><a href="#Select.select-2738"><span class="linenos">2738</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.select-2739"><a href="#Select.select-2739"><span class="linenos">2739</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="Select.select-2740"><a href="#Select.select-2740"><span class="linenos">2740</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.select-2741"><a href="#Select.select-2741"><span class="linenos">2741</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.select-2742"><a href="#Select.select-2742"><span class="linenos">2742</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.select-2743"><a href="#Select.select-2743"><span class="linenos">2743</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.select-2744"><a href="#Select.select-2744"><span class="linenos">2744</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.select-2728"><a href="#Select.select-2728"><span class="linenos">2728</span></a> <span class="k">def</span> <span class="nf">select</span><span class="p">(</span>
+</span><span id="Select.select-2729"><a href="#Select.select-2729"><span class="linenos">2729</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.select-2730"><a href="#Select.select-2730"><span class="linenos">2730</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.select-2731"><a href="#Select.select-2731"><span class="linenos">2731</span></a> <span class="n">append</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="Select.select-2732"><a href="#Select.select-2732"><span class="linenos">2732</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="Select.select-2733"><a href="#Select.select-2733"><span class="linenos">2733</span></a> <span class="n">copy</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="Select.select-2734"><a href="#Select.select-2734"><span class="linenos">2734</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.select-2735"><a href="#Select.select-2735"><span class="linenos">2735</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.select-2736"><a href="#Select.select-2736"><span class="linenos">2736</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.select-2737"><a href="#Select.select-2737"><span class="linenos">2737</span></a><span class="sd"> Append to or set the SELECT expressions.</span>
+</span><span id="Select.select-2738"><a href="#Select.select-2738"><span class="linenos">2738</span></a>
+</span><span id="Select.select-2739"><a href="#Select.select-2739"><span class="linenos">2739</span></a><span class="sd"> Example:</span>
+</span><span id="Select.select-2740"><a href="#Select.select-2740"><span class="linenos">2740</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;y&quot;).sql()</span>
+</span><span id="Select.select-2741"><a href="#Select.select-2741"><span class="linenos">2741</span></a><span class="sd"> &#39;SELECT x, y&#39;</span>
+</span><span id="Select.select-2742"><a href="#Select.select-2742"><span class="linenos">2742</span></a>
+</span><span id="Select.select-2743"><a href="#Select.select-2743"><span class="linenos">2743</span></a><span class="sd"> Args:</span>
+</span><span id="Select.select-2744"><a href="#Select.select-2744"><span class="linenos">2744</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.select-2745"><a href="#Select.select-2745"><span class="linenos">2745</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.select-2746"><a href="#Select.select-2746"><span class="linenos">2746</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.select-2747"><a href="#Select.select-2747"><span class="linenos">2747</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Select.select-2748"><a href="#Select.select-2748"><span class="linenos">2748</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select.select-2749"><a href="#Select.select-2749"><span class="linenos">2749</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.select-2750"><a href="#Select.select-2750"><span class="linenos">2750</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.select-2751"><a href="#Select.select-2751"><span class="linenos">2751</span></a>
+</span><span id="Select.select-2752"><a href="#Select.select-2752"><span class="linenos">2752</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.select-2753"><a href="#Select.select-2753"><span class="linenos">2753</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.select-2754"><a href="#Select.select-2754"><span class="linenos">2754</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.select-2755"><a href="#Select.select-2755"><span class="linenos">2755</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select.select-2756"><a href="#Select.select-2756"><span class="linenos">2756</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.select-2757"><a href="#Select.select-2757"><span class="linenos">2757</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.select-2758"><a href="#Select.select-2758"><span class="linenos">2758</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="Select.select-2759"><a href="#Select.select-2759"><span class="linenos">2759</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.select-2760"><a href="#Select.select-2760"><span class="linenos">2760</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.select-2761"><a href="#Select.select-2761"><span class="linenos">2761</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.select-2762"><a href="#Select.select-2762"><span class="linenos">2762</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.select-2763"><a href="#Select.select-2763"><span class="linenos">2763</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25873,44 +33903,44 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Select.lateral"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.lateral-2746"><a href="#Select.lateral-2746"><span class="linenos">2746</span></a> <span class="k">def</span> <span class="nf">lateral</span><span class="p">(</span>
-</span><span id="Select.lateral-2747"><a href="#Select.lateral-2747"><span class="linenos">2747</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.lateral-2748"><a href="#Select.lateral-2748"><span class="linenos">2748</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.lateral-2749"><a href="#Select.lateral-2749"><span class="linenos">2749</span></a> <span class="n">append</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="Select.lateral-2750"><a href="#Select.lateral-2750"><span class="linenos">2750</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="Select.lateral-2751"><a href="#Select.lateral-2751"><span class="linenos">2751</span></a> <span class="n">copy</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="Select.lateral-2752"><a href="#Select.lateral-2752"><span class="linenos">2752</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.lateral-2753"><a href="#Select.lateral-2753"><span class="linenos">2753</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.lateral-2754"><a href="#Select.lateral-2754"><span class="linenos">2754</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.lateral-2755"><a href="#Select.lateral-2755"><span class="linenos">2755</span></a><span class="sd"> Append to or set the LATERAL expressions.</span>
-</span><span id="Select.lateral-2756"><a href="#Select.lateral-2756"><span class="linenos">2756</span></a>
-</span><span id="Select.lateral-2757"><a href="#Select.lateral-2757"><span class="linenos">2757</span></a><span class="sd"> Example:</span>
-</span><span id="Select.lateral-2758"><a href="#Select.lateral-2758"><span class="linenos">2758</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).lateral(&quot;OUTER explode(y) tbl2 AS z&quot;).from_(&quot;tbl&quot;).sql()</span>
-</span><span id="Select.lateral-2759"><a href="#Select.lateral-2759"><span class="linenos">2759</span></a><span class="sd"> &#39;SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z&#39;</span>
-</span><span id="Select.lateral-2760"><a href="#Select.lateral-2760"><span class="linenos">2760</span></a>
-</span><span id="Select.lateral-2761"><a href="#Select.lateral-2761"><span class="linenos">2761</span></a><span class="sd"> Args:</span>
-</span><span id="Select.lateral-2762"><a href="#Select.lateral-2762"><span class="linenos">2762</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.lateral-2763"><a href="#Select.lateral-2763"><span class="linenos">2763</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.lateral-2764"><a href="#Select.lateral-2764"><span class="linenos">2764</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.lateral-2765"><a href="#Select.lateral-2765"><span class="linenos">2765</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Select.lateral-2766"><a href="#Select.lateral-2766"><span class="linenos">2766</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select.lateral-2767"><a href="#Select.lateral-2767"><span class="linenos">2767</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.lateral-2768"><a href="#Select.lateral-2768"><span class="linenos">2768</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.lateral-2769"><a href="#Select.lateral-2769"><span class="linenos">2769</span></a>
-</span><span id="Select.lateral-2770"><a href="#Select.lateral-2770"><span class="linenos">2770</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.lateral-2771"><a href="#Select.lateral-2771"><span class="linenos">2771</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.lateral-2772"><a href="#Select.lateral-2772"><span class="linenos">2772</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.lateral-2773"><a href="#Select.lateral-2773"><span class="linenos">2773</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select.lateral-2774"><a href="#Select.lateral-2774"><span class="linenos">2774</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.lateral-2775"><a href="#Select.lateral-2775"><span class="linenos">2775</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.lateral-2776"><a href="#Select.lateral-2776"><span class="linenos">2776</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;laterals&quot;</span><span class="p">,</span>
-</span><span id="Select.lateral-2777"><a href="#Select.lateral-2777"><span class="linenos">2777</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.lateral-2778"><a href="#Select.lateral-2778"><span class="linenos">2778</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Lateral</span><span class="p">,</span>
-</span><span id="Select.lateral-2779"><a href="#Select.lateral-2779"><span class="linenos">2779</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LATERAL VIEW&quot;</span><span class="p">,</span>
-</span><span id="Select.lateral-2780"><a href="#Select.lateral-2780"><span class="linenos">2780</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.lateral-2781"><a href="#Select.lateral-2781"><span class="linenos">2781</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.lateral-2782"><a href="#Select.lateral-2782"><span class="linenos">2782</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.lateral-2783"><a href="#Select.lateral-2783"><span class="linenos">2783</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.lateral-2765"><a href="#Select.lateral-2765"><span class="linenos">2765</span></a> <span class="k">def</span> <span class="nf">lateral</span><span class="p">(</span>
+</span><span id="Select.lateral-2766"><a href="#Select.lateral-2766"><span class="linenos">2766</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.lateral-2767"><a href="#Select.lateral-2767"><span class="linenos">2767</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.lateral-2768"><a href="#Select.lateral-2768"><span class="linenos">2768</span></a> <span class="n">append</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="Select.lateral-2769"><a href="#Select.lateral-2769"><span class="linenos">2769</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="Select.lateral-2770"><a href="#Select.lateral-2770"><span class="linenos">2770</span></a> <span class="n">copy</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="Select.lateral-2771"><a href="#Select.lateral-2771"><span class="linenos">2771</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.lateral-2772"><a href="#Select.lateral-2772"><span class="linenos">2772</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.lateral-2773"><a href="#Select.lateral-2773"><span class="linenos">2773</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.lateral-2774"><a href="#Select.lateral-2774"><span class="linenos">2774</span></a><span class="sd"> Append to or set the LATERAL expressions.</span>
+</span><span id="Select.lateral-2775"><a href="#Select.lateral-2775"><span class="linenos">2775</span></a>
+</span><span id="Select.lateral-2776"><a href="#Select.lateral-2776"><span class="linenos">2776</span></a><span class="sd"> Example:</span>
+</span><span id="Select.lateral-2777"><a href="#Select.lateral-2777"><span class="linenos">2777</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).lateral(&quot;OUTER explode(y) tbl2 AS z&quot;).from_(&quot;tbl&quot;).sql()</span>
+</span><span id="Select.lateral-2778"><a href="#Select.lateral-2778"><span class="linenos">2778</span></a><span class="sd"> &#39;SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z&#39;</span>
+</span><span id="Select.lateral-2779"><a href="#Select.lateral-2779"><span class="linenos">2779</span></a>
+</span><span id="Select.lateral-2780"><a href="#Select.lateral-2780"><span class="linenos">2780</span></a><span class="sd"> Args:</span>
+</span><span id="Select.lateral-2781"><a href="#Select.lateral-2781"><span class="linenos">2781</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.lateral-2782"><a href="#Select.lateral-2782"><span class="linenos">2782</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.lateral-2783"><a href="#Select.lateral-2783"><span class="linenos">2783</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.lateral-2784"><a href="#Select.lateral-2784"><span class="linenos">2784</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Select.lateral-2785"><a href="#Select.lateral-2785"><span class="linenos">2785</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select.lateral-2786"><a href="#Select.lateral-2786"><span class="linenos">2786</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.lateral-2787"><a href="#Select.lateral-2787"><span class="linenos">2787</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.lateral-2788"><a href="#Select.lateral-2788"><span class="linenos">2788</span></a>
+</span><span id="Select.lateral-2789"><a href="#Select.lateral-2789"><span class="linenos">2789</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.lateral-2790"><a href="#Select.lateral-2790"><span class="linenos">2790</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.lateral-2791"><a href="#Select.lateral-2791"><span class="linenos">2791</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.lateral-2792"><a href="#Select.lateral-2792"><span class="linenos">2792</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select.lateral-2793"><a href="#Select.lateral-2793"><span class="linenos">2793</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.lateral-2794"><a href="#Select.lateral-2794"><span class="linenos">2794</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.lateral-2795"><a href="#Select.lateral-2795"><span class="linenos">2795</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;laterals&quot;</span><span class="p">,</span>
+</span><span id="Select.lateral-2796"><a href="#Select.lateral-2796"><span class="linenos">2796</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.lateral-2797"><a href="#Select.lateral-2797"><span class="linenos">2797</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Lateral</span><span class="p">,</span>
+</span><span id="Select.lateral-2798"><a href="#Select.lateral-2798"><span class="linenos">2798</span></a> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;LATERAL VIEW&quot;</span><span class="p">,</span>
+</span><span id="Select.lateral-2799"><a href="#Select.lateral-2799"><span class="linenos">2799</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.lateral-2800"><a href="#Select.lateral-2800"><span class="linenos">2800</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.lateral-2801"><a href="#Select.lateral-2801"><span class="linenos">2801</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.lateral-2802"><a href="#Select.lateral-2802"><span class="linenos">2802</span></a> <span class="p">)</span>
</span></pre></div>
@@ -25958,102 +33988,102 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Select.join"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.join-2785"><a href="#Select.join-2785"><span class="linenos">2785</span></a> <span class="k">def</span> <span class="nf">join</span><span class="p">(</span>
-</span><span id="Select.join-2786"><a href="#Select.join-2786"><span class="linenos">2786</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.join-2787"><a href="#Select.join-2787"><span class="linenos">2787</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Select.join-2788"><a href="#Select.join-2788"><span class="linenos">2788</span></a> <span class="n">on</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select.join-2789"><a href="#Select.join-2789"><span class="linenos">2789</span></a> <span class="n">using</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">ExpOrStr</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select.join-2790"><a href="#Select.join-2790"><span class="linenos">2790</span></a> <span class="n">append</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="Select.join-2791"><a href="#Select.join-2791"><span class="linenos">2791</span></a> <span class="n">join_type</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select.join-2792"><a href="#Select.join-2792"><span class="linenos">2792</span></a> <span class="n">join_alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="Select.join-2793"><a href="#Select.join-2793"><span class="linenos">2793</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="Select.join-2794"><a href="#Select.join-2794"><span class="linenos">2794</span></a> <span class="n">copy</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="Select.join-2795"><a href="#Select.join-2795"><span class="linenos">2795</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.join-2796"><a href="#Select.join-2796"><span class="linenos">2796</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.join-2797"><a href="#Select.join-2797"><span class="linenos">2797</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.join-2798"><a href="#Select.join-2798"><span class="linenos">2798</span></a><span class="sd"> Append to or set the JOIN expressions.</span>
-</span><span id="Select.join-2799"><a href="#Select.join-2799"><span class="linenos">2799</span></a>
-</span><span id="Select.join-2800"><a href="#Select.join-2800"><span class="linenos">2800</span></a><span class="sd"> Example:</span>
-</span><span id="Select.join-2801"><a href="#Select.join-2801"><span class="linenos">2801</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;).sql()</span>
-</span><span id="Select.join-2802"><a href="#Select.join-2802"><span class="linenos">2802</span></a><span class="sd"> &#39;SELECT * FROM tbl JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
-</span><span id="Select.join-2803"><a href="#Select.join-2803"><span class="linenos">2803</span></a>
-</span><span id="Select.join-2804"><a href="#Select.join-2804"><span class="linenos">2804</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;1&quot;).from_(&quot;a&quot;).join(&quot;b&quot;, using=[&quot;x&quot;, &quot;y&quot;, &quot;z&quot;]).sql()</span>
-</span><span id="Select.join-2805"><a href="#Select.join-2805"><span class="linenos">2805</span></a><span class="sd"> &#39;SELECT 1 FROM a JOIN b USING (x, y, z)&#39;</span>
-</span><span id="Select.join-2806"><a href="#Select.join-2806"><span class="linenos">2806</span></a>
-</span><span id="Select.join-2807"><a href="#Select.join-2807"><span class="linenos">2807</span></a><span class="sd"> Use `join_type` to change the type of join:</span>
-</span><span id="Select.join-2808"><a href="#Select.join-2808"><span class="linenos">2808</span></a>
-</span><span id="Select.join-2809"><a href="#Select.join-2809"><span class="linenos">2809</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;, join_type=&quot;left outer&quot;).sql()</span>
-</span><span id="Select.join-2810"><a href="#Select.join-2810"><span class="linenos">2810</span></a><span class="sd"> &#39;SELECT * FROM tbl LEFT OUTER JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
-</span><span id="Select.join-2811"><a href="#Select.join-2811"><span class="linenos">2811</span></a>
-</span><span id="Select.join-2812"><a href="#Select.join-2812"><span class="linenos">2812</span></a><span class="sd"> Args:</span>
-</span><span id="Select.join-2813"><a href="#Select.join-2813"><span class="linenos">2813</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="Select.join-2814"><a href="#Select.join-2814"><span class="linenos">2814</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.join-2815"><a href="#Select.join-2815"><span class="linenos">2815</span></a><span class="sd"> on: optionally specify the join &quot;on&quot; criteria as a SQL string.</span>
-</span><span id="Select.join-2816"><a href="#Select.join-2816"><span class="linenos">2816</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.join-2817"><a href="#Select.join-2817"><span class="linenos">2817</span></a><span class="sd"> using: optionally specify the join &quot;using&quot; criteria as a SQL string.</span>
-</span><span id="Select.join-2818"><a href="#Select.join-2818"><span class="linenos">2818</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.join-2819"><a href="#Select.join-2819"><span class="linenos">2819</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
-</span><span id="Select.join-2820"><a href="#Select.join-2820"><span class="linenos">2820</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
-</span><span id="Select.join-2821"><a href="#Select.join-2821"><span class="linenos">2821</span></a><span class="sd"> join_type: if set, alter the parsed join type.</span>
-</span><span id="Select.join-2822"><a href="#Select.join-2822"><span class="linenos">2822</span></a><span class="sd"> join_alias: an optional alias for the joined source.</span>
-</span><span id="Select.join-2823"><a href="#Select.join-2823"><span class="linenos">2823</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select.join-2824"><a href="#Select.join-2824"><span class="linenos">2824</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.join-2825"><a href="#Select.join-2825"><span class="linenos">2825</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.join-2826"><a href="#Select.join-2826"><span class="linenos">2826</span></a>
-</span><span id="Select.join-2827"><a href="#Select.join-2827"><span class="linenos">2827</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.join-2828"><a href="#Select.join-2828"><span class="linenos">2828</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select.join-2829"><a href="#Select.join-2829"><span class="linenos">2829</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.join-2830"><a href="#Select.join-2830"><span class="linenos">2830</span></a> <span class="n">parse_args</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;dialect&quot;</span><span class="p">:</span> <span class="n">dialect</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">}</span>
-</span><span id="Select.join-2831"><a href="#Select.join-2831"><span class="linenos">2831</span></a>
-</span><span id="Select.join-2832"><a href="#Select.join-2832"><span class="linenos">2832</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="Select.join-2833"><a href="#Select.join-2833"><span class="linenos">2833</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Join</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;JOIN&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
-</span><span id="Select.join-2834"><a href="#Select.join-2834"><span class="linenos">2834</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
-</span><span id="Select.join-2835"><a href="#Select.join-2835"><span class="linenos">2835</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="p">(</span><span class="n">Join</span><span class="p">,</span> <span class="n">Expression</span><span class="p">),</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
-</span><span id="Select.join-2836"><a href="#Select.join-2836"><span class="linenos">2836</span></a>
-</span><span id="Select.join-2837"><a href="#Select.join-2837"><span class="linenos">2837</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">expression</span> <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">Join</span><span class="p">)</span> <span class="k">else</span> <span class="n">Join</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="Select.join-2838"><a href="#Select.join-2838"><span class="linenos">2838</span></a>
-</span><span id="Select.join-2839"><a href="#Select.join-2839"><span class="linenos">2839</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">Select</span><span class="p">):</span>
-</span><span id="Select.join-2840"><a href="#Select.join-2840"><span class="linenos">2840</span></a> <span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">subquery</span><span class="p">())</span>
-</span><span id="Select.join-2841"><a href="#Select.join-2841"><span class="linenos">2841</span></a>
-</span><span id="Select.join-2842"><a href="#Select.join-2842"><span class="linenos">2842</span></a> <span class="k">if</span> <span class="n">join_type</span><span class="p">:</span>
-</span><span id="Select.join-2843"><a href="#Select.join-2843"><span class="linenos">2843</span></a> <span class="n">method</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">Token</span><span class="p">]</span>
-</span><span id="Select.join-2844"><a href="#Select.join-2844"><span class="linenos">2844</span></a> <span class="n">side</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">Token</span><span class="p">]</span>
-</span><span id="Select.join-2845"><a href="#Select.join-2845"><span class="linenos">2845</span></a> <span class="n">kind</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">Token</span><span class="p">]</span>
-</span><span id="Select.join-2846"><a href="#Select.join-2846"><span class="linenos">2846</span></a>
-</span><span id="Select.join-2847"><a href="#Select.join-2847"><span class="linenos">2847</span></a> <span class="n">method</span><span class="p">,</span> <span class="n">side</span><span class="p">,</span> <span class="n">kind</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">join_type</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="s2">&quot;JOIN_TYPE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="Select.join-2848"><a href="#Select.join-2848"><span class="linenos">2848</span></a>
-</span><span id="Select.join-2849"><a href="#Select.join-2849"><span class="linenos">2849</span></a> <span class="k">if</span> <span class="n">method</span><span class="p">:</span>
-</span><span id="Select.join-2850"><a href="#Select.join-2850"><span class="linenos">2850</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">,</span> <span class="n">method</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-</span><span id="Select.join-2851"><a href="#Select.join-2851"><span class="linenos">2851</span></a> <span class="k">if</span> <span class="n">side</span><span class="p">:</span>
-</span><span id="Select.join-2852"><a href="#Select.join-2852"><span class="linenos">2852</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-</span><span id="Select.join-2853"><a href="#Select.join-2853"><span class="linenos">2853</span></a> <span class="k">if</span> <span class="n">kind</span><span class="p">:</span>
-</span><span id="Select.join-2854"><a href="#Select.join-2854"><span class="linenos">2854</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="n">kind</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.join-2804"><a href="#Select.join-2804"><span class="linenos">2804</span></a> <span class="k">def</span> <span class="nf">join</span><span class="p">(</span>
+</span><span id="Select.join-2805"><a href="#Select.join-2805"><span class="linenos">2805</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.join-2806"><a href="#Select.join-2806"><span class="linenos">2806</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Select.join-2807"><a href="#Select.join-2807"><span class="linenos">2807</span></a> <span class="n">on</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select.join-2808"><a href="#Select.join-2808"><span class="linenos">2808</span></a> <span class="n">using</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">ExpOrStr</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select.join-2809"><a href="#Select.join-2809"><span class="linenos">2809</span></a> <span class="n">append</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="Select.join-2810"><a href="#Select.join-2810"><span class="linenos">2810</span></a> <span class="n">join_type</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select.join-2811"><a href="#Select.join-2811"><span class="linenos">2811</span></a> <span class="n">join_alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="Select.join-2812"><a href="#Select.join-2812"><span class="linenos">2812</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="Select.join-2813"><a href="#Select.join-2813"><span class="linenos">2813</span></a> <span class="n">copy</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="Select.join-2814"><a href="#Select.join-2814"><span class="linenos">2814</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.join-2815"><a href="#Select.join-2815"><span class="linenos">2815</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.join-2816"><a href="#Select.join-2816"><span class="linenos">2816</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.join-2817"><a href="#Select.join-2817"><span class="linenos">2817</span></a><span class="sd"> Append to or set the JOIN expressions.</span>
+</span><span id="Select.join-2818"><a href="#Select.join-2818"><span class="linenos">2818</span></a>
+</span><span id="Select.join-2819"><a href="#Select.join-2819"><span class="linenos">2819</span></a><span class="sd"> Example:</span>
+</span><span id="Select.join-2820"><a href="#Select.join-2820"><span class="linenos">2820</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;).sql()</span>
+</span><span id="Select.join-2821"><a href="#Select.join-2821"><span class="linenos">2821</span></a><span class="sd"> &#39;SELECT * FROM tbl JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="Select.join-2822"><a href="#Select.join-2822"><span class="linenos">2822</span></a>
+</span><span id="Select.join-2823"><a href="#Select.join-2823"><span class="linenos">2823</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;1&quot;).from_(&quot;a&quot;).join(&quot;b&quot;, using=[&quot;x&quot;, &quot;y&quot;, &quot;z&quot;]).sql()</span>
+</span><span id="Select.join-2824"><a href="#Select.join-2824"><span class="linenos">2824</span></a><span class="sd"> &#39;SELECT 1 FROM a JOIN b USING (x, y, z)&#39;</span>
+</span><span id="Select.join-2825"><a href="#Select.join-2825"><span class="linenos">2825</span></a>
+</span><span id="Select.join-2826"><a href="#Select.join-2826"><span class="linenos">2826</span></a><span class="sd"> Use `join_type` to change the type of join:</span>
+</span><span id="Select.join-2827"><a href="#Select.join-2827"><span class="linenos">2827</span></a>
+</span><span id="Select.join-2828"><a href="#Select.join-2828"><span class="linenos">2828</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).join(&quot;tbl2&quot;, on=&quot;tbl1.y = tbl2.y&quot;, join_type=&quot;left outer&quot;).sql()</span>
+</span><span id="Select.join-2829"><a href="#Select.join-2829"><span class="linenos">2829</span></a><span class="sd"> &#39;SELECT * FROM tbl LEFT OUTER JOIN tbl2 ON tbl1.y = tbl2.y&#39;</span>
+</span><span id="Select.join-2830"><a href="#Select.join-2830"><span class="linenos">2830</span></a>
+</span><span id="Select.join-2831"><a href="#Select.join-2831"><span class="linenos">2831</span></a><span class="sd"> Args:</span>
+</span><span id="Select.join-2832"><a href="#Select.join-2832"><span class="linenos">2832</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="Select.join-2833"><a href="#Select.join-2833"><span class="linenos">2833</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.join-2834"><a href="#Select.join-2834"><span class="linenos">2834</span></a><span class="sd"> on: optionally specify the join &quot;on&quot; criteria as a SQL string.</span>
+</span><span id="Select.join-2835"><a href="#Select.join-2835"><span class="linenos">2835</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.join-2836"><a href="#Select.join-2836"><span class="linenos">2836</span></a><span class="sd"> using: optionally specify the join &quot;using&quot; criteria as a SQL string.</span>
+</span><span id="Select.join-2837"><a href="#Select.join-2837"><span class="linenos">2837</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.join-2838"><a href="#Select.join-2838"><span class="linenos">2838</span></a><span class="sd"> append: if `True`, add to any existing expressions.</span>
+</span><span id="Select.join-2839"><a href="#Select.join-2839"><span class="linenos">2839</span></a><span class="sd"> Otherwise, this resets the expressions.</span>
+</span><span id="Select.join-2840"><a href="#Select.join-2840"><span class="linenos">2840</span></a><span class="sd"> join_type: if set, alter the parsed join type.</span>
+</span><span id="Select.join-2841"><a href="#Select.join-2841"><span class="linenos">2841</span></a><span class="sd"> join_alias: an optional alias for the joined source.</span>
+</span><span id="Select.join-2842"><a href="#Select.join-2842"><span class="linenos">2842</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select.join-2843"><a href="#Select.join-2843"><span class="linenos">2843</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.join-2844"><a href="#Select.join-2844"><span class="linenos">2844</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.join-2845"><a href="#Select.join-2845"><span class="linenos">2845</span></a>
+</span><span id="Select.join-2846"><a href="#Select.join-2846"><span class="linenos">2846</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.join-2847"><a href="#Select.join-2847"><span class="linenos">2847</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select.join-2848"><a href="#Select.join-2848"><span class="linenos">2848</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.join-2849"><a href="#Select.join-2849"><span class="linenos">2849</span></a> <span class="n">parse_args</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;dialect&quot;</span><span class="p">:</span> <span class="n">dialect</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">}</span>
+</span><span id="Select.join-2850"><a href="#Select.join-2850"><span class="linenos">2850</span></a>
+</span><span id="Select.join-2851"><a href="#Select.join-2851"><span class="linenos">2851</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="Select.join-2852"><a href="#Select.join-2852"><span class="linenos">2852</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Join</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s2">&quot;JOIN&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
+</span><span id="Select.join-2853"><a href="#Select.join-2853"><span class="linenos">2853</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
+</span><span id="Select.join-2854"><a href="#Select.join-2854"><span class="linenos">2854</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="p">(</span><span class="n">Join</span><span class="p">,</span> <span class="n">Expression</span><span class="p">),</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span>
</span><span id="Select.join-2855"><a href="#Select.join-2855"><span class="linenos">2855</span></a>
-</span><span id="Select.join-2856"><a href="#Select.join-2856"><span class="linenos">2856</span></a> <span class="k">if</span> <span class="n">on</span><span class="p">:</span>
-</span><span id="Select.join-2857"><a href="#Select.join-2857"><span class="linenos">2857</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">on</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="Select.join-2858"><a href="#Select.join-2858"><span class="linenos">2858</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;on&quot;</span><span class="p">,</span> <span class="n">on</span><span class="p">)</span>
-</span><span id="Select.join-2859"><a href="#Select.join-2859"><span class="linenos">2859</span></a>
-</span><span id="Select.join-2860"><a href="#Select.join-2860"><span class="linenos">2860</span></a> <span class="k">if</span> <span class="n">using</span><span class="p">:</span>
-</span><span id="Select.join-2861"><a href="#Select.join-2861"><span class="linenos">2861</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select.join-2862"><a href="#Select.join-2862"><span class="linenos">2862</span></a> <span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">using</span><span class="p">),</span>
-</span><span id="Select.join-2863"><a href="#Select.join-2863"><span class="linenos">2863</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">join</span><span class="p">,</span>
-</span><span id="Select.join-2864"><a href="#Select.join-2864"><span class="linenos">2864</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
-</span><span id="Select.join-2865"><a href="#Select.join-2865"><span class="linenos">2865</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.join-2866"><a href="#Select.join-2866"><span class="linenos">2866</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.join-2867"><a href="#Select.join-2867"><span class="linenos">2867</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.join-2868"><a href="#Select.join-2868"><span class="linenos">2868</span></a> <span class="p">)</span>
-</span><span id="Select.join-2869"><a href="#Select.join-2869"><span class="linenos">2869</span></a>
-</span><span id="Select.join-2870"><a href="#Select.join-2870"><span class="linenos">2870</span></a> <span class="k">if</span> <span class="n">join_alias</span><span class="p">:</span>
-</span><span id="Select.join-2871"><a href="#Select.join-2871"><span class="linenos">2871</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">alias_</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">join_alias</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
-</span><span id="Select.join-2872"><a href="#Select.join-2872"><span class="linenos">2872</span></a>
-</span><span id="Select.join-2873"><a href="#Select.join-2873"><span class="linenos">2873</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select.join-2874"><a href="#Select.join-2874"><span class="linenos">2874</span></a> <span class="n">join</span><span class="p">,</span>
-</span><span id="Select.join-2875"><a href="#Select.join-2875"><span class="linenos">2875</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.join-2876"><a href="#Select.join-2876"><span class="linenos">2876</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;joins&quot;</span><span class="p">,</span>
-</span><span id="Select.join-2877"><a href="#Select.join-2877"><span class="linenos">2877</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.join-2878"><a href="#Select.join-2878"><span class="linenos">2878</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.join-2879"><a href="#Select.join-2879"><span class="linenos">2879</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.join-2880"><a href="#Select.join-2880"><span class="linenos">2880</span></a> <span class="p">)</span>
+</span><span id="Select.join-2856"><a href="#Select.join-2856"><span class="linenos">2856</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">expression</span> <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">Join</span><span class="p">)</span> <span class="k">else</span> <span class="n">Join</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="Select.join-2857"><a href="#Select.join-2857"><span class="linenos">2857</span></a>
+</span><span id="Select.join-2858"><a href="#Select.join-2858"><span class="linenos">2858</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">Select</span><span class="p">):</span>
+</span><span id="Select.join-2859"><a href="#Select.join-2859"><span class="linenos">2859</span></a> <span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">subquery</span><span class="p">())</span>
+</span><span id="Select.join-2860"><a href="#Select.join-2860"><span class="linenos">2860</span></a>
+</span><span id="Select.join-2861"><a href="#Select.join-2861"><span class="linenos">2861</span></a> <span class="k">if</span> <span class="n">join_type</span><span class="p">:</span>
+</span><span id="Select.join-2862"><a href="#Select.join-2862"><span class="linenos">2862</span></a> <span class="n">method</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">Token</span><span class="p">]</span>
+</span><span id="Select.join-2863"><a href="#Select.join-2863"><span class="linenos">2863</span></a> <span class="n">side</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">Token</span><span class="p">]</span>
+</span><span id="Select.join-2864"><a href="#Select.join-2864"><span class="linenos">2864</span></a> <span class="n">kind</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">Token</span><span class="p">]</span>
+</span><span id="Select.join-2865"><a href="#Select.join-2865"><span class="linenos">2865</span></a>
+</span><span id="Select.join-2866"><a href="#Select.join-2866"><span class="linenos">2866</span></a> <span class="n">method</span><span class="p">,</span> <span class="n">side</span><span class="p">,</span> <span class="n">kind</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">join_type</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="s2">&quot;JOIN_TYPE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">parse_args</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="Select.join-2867"><a href="#Select.join-2867"><span class="linenos">2867</span></a>
+</span><span id="Select.join-2868"><a href="#Select.join-2868"><span class="linenos">2868</span></a> <span class="k">if</span> <span class="n">method</span><span class="p">:</span>
+</span><span id="Select.join-2869"><a href="#Select.join-2869"><span class="linenos">2869</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;method&quot;</span><span class="p">,</span> <span class="n">method</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select.join-2870"><a href="#Select.join-2870"><span class="linenos">2870</span></a> <span class="k">if</span> <span class="n">side</span><span class="p">:</span>
+</span><span id="Select.join-2871"><a href="#Select.join-2871"><span class="linenos">2871</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;side&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select.join-2872"><a href="#Select.join-2872"><span class="linenos">2872</span></a> <span class="k">if</span> <span class="n">kind</span><span class="p">:</span>
+</span><span id="Select.join-2873"><a href="#Select.join-2873"><span class="linenos">2873</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;kind&quot;</span><span class="p">,</span> <span class="n">kind</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+</span><span id="Select.join-2874"><a href="#Select.join-2874"><span class="linenos">2874</span></a>
+</span><span id="Select.join-2875"><a href="#Select.join-2875"><span class="linenos">2875</span></a> <span class="k">if</span> <span class="n">on</span><span class="p">:</span>
+</span><span id="Select.join-2876"><a href="#Select.join-2876"><span class="linenos">2876</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">on</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="Select.join-2877"><a href="#Select.join-2877"><span class="linenos">2877</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;on&quot;</span><span class="p">,</span> <span class="n">on</span><span class="p">)</span>
+</span><span id="Select.join-2878"><a href="#Select.join-2878"><span class="linenos">2878</span></a>
+</span><span id="Select.join-2879"><a href="#Select.join-2879"><span class="linenos">2879</span></a> <span class="k">if</span> <span class="n">using</span><span class="p">:</span>
+</span><span id="Select.join-2880"><a href="#Select.join-2880"><span class="linenos">2880</span></a> <span class="n">join</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select.join-2881"><a href="#Select.join-2881"><span class="linenos">2881</span></a> <span class="o">*</span><span class="n">ensure_list</span><span class="p">(</span><span class="n">using</span><span class="p">),</span>
+</span><span id="Select.join-2882"><a href="#Select.join-2882"><span class="linenos">2882</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">join</span><span class="p">,</span>
+</span><span id="Select.join-2883"><a href="#Select.join-2883"><span class="linenos">2883</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;using&quot;</span><span class="p">,</span>
+</span><span id="Select.join-2884"><a href="#Select.join-2884"><span class="linenos">2884</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.join-2885"><a href="#Select.join-2885"><span class="linenos">2885</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.join-2886"><a href="#Select.join-2886"><span class="linenos">2886</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.join-2887"><a href="#Select.join-2887"><span class="linenos">2887</span></a> <span class="p">)</span>
+</span><span id="Select.join-2888"><a href="#Select.join-2888"><span class="linenos">2888</span></a>
+</span><span id="Select.join-2889"><a href="#Select.join-2889"><span class="linenos">2889</span></a> <span class="k">if</span> <span class="n">join_alias</span><span class="p">:</span>
+</span><span id="Select.join-2890"><a href="#Select.join-2890"><span class="linenos">2890</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">alias_</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">this</span><span class="p">,</span> <span class="n">join_alias</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
+</span><span id="Select.join-2891"><a href="#Select.join-2891"><span class="linenos">2891</span></a>
+</span><span id="Select.join-2892"><a href="#Select.join-2892"><span class="linenos">2892</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select.join-2893"><a href="#Select.join-2893"><span class="linenos">2893</span></a> <span class="n">join</span><span class="p">,</span>
+</span><span id="Select.join-2894"><a href="#Select.join-2894"><span class="linenos">2894</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.join-2895"><a href="#Select.join-2895"><span class="linenos">2895</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;joins&quot;</span><span class="p">,</span>
+</span><span id="Select.join-2896"><a href="#Select.join-2896"><span class="linenos">2896</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.join-2897"><a href="#Select.join-2897"><span class="linenos">2897</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.join-2898"><a href="#Select.join-2898"><span class="linenos">2898</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.join-2899"><a href="#Select.join-2899"><span class="linenos">2899</span></a> <span class="p">)</span>
</span></pre></div>
@@ -26121,44 +34151,44 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Select.where"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.where-2882"><a href="#Select.where-2882"><span class="linenos">2882</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
-</span><span id="Select.where-2883"><a href="#Select.where-2883"><span class="linenos">2883</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.where-2884"><a href="#Select.where-2884"><span class="linenos">2884</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.where-2885"><a href="#Select.where-2885"><span class="linenos">2885</span></a> <span class="n">append</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="Select.where-2886"><a href="#Select.where-2886"><span class="linenos">2886</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="Select.where-2887"><a href="#Select.where-2887"><span class="linenos">2887</span></a> <span class="n">copy</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="Select.where-2888"><a href="#Select.where-2888"><span class="linenos">2888</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.where-2889"><a href="#Select.where-2889"><span class="linenos">2889</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.where-2890"><a href="#Select.where-2890"><span class="linenos">2890</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.where-2891"><a href="#Select.where-2891"><span class="linenos">2891</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
-</span><span id="Select.where-2892"><a href="#Select.where-2892"><span class="linenos">2892</span></a>
-</span><span id="Select.where-2893"><a href="#Select.where-2893"><span class="linenos">2893</span></a><span class="sd"> Example:</span>
-</span><span id="Select.where-2894"><a href="#Select.where-2894"><span class="linenos">2894</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
-</span><span id="Select.where-2895"><a href="#Select.where-2895"><span class="linenos">2895</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
-</span><span id="Select.where-2896"><a href="#Select.where-2896"><span class="linenos">2896</span></a>
-</span><span id="Select.where-2897"><a href="#Select.where-2897"><span class="linenos">2897</span></a><span class="sd"> Args:</span>
-</span><span id="Select.where-2898"><a href="#Select.where-2898"><span class="linenos">2898</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.where-2899"><a href="#Select.where-2899"><span class="linenos">2899</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.where-2900"><a href="#Select.where-2900"><span class="linenos">2900</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Select.where-2901"><a href="#Select.where-2901"><span class="linenos">2901</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Select.where-2902"><a href="#Select.where-2902"><span class="linenos">2902</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Select.where-2903"><a href="#Select.where-2903"><span class="linenos">2903</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select.where-2904"><a href="#Select.where-2904"><span class="linenos">2904</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.where-2905"><a href="#Select.where-2905"><span class="linenos">2905</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.where-2906"><a href="#Select.where-2906"><span class="linenos">2906</span></a>
-</span><span id="Select.where-2907"><a href="#Select.where-2907"><span class="linenos">2907</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.where-2908"><a href="#Select.where-2908"><span class="linenos">2908</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select.where-2909"><a href="#Select.where-2909"><span class="linenos">2909</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.where-2910"><a href="#Select.where-2910"><span class="linenos">2910</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Select.where-2911"><a href="#Select.where-2911"><span class="linenos">2911</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.where-2912"><a href="#Select.where-2912"><span class="linenos">2912</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.where-2913"><a href="#Select.where-2913"><span class="linenos">2913</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="Select.where-2914"><a href="#Select.where-2914"><span class="linenos">2914</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.where-2915"><a href="#Select.where-2915"><span class="linenos">2915</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
-</span><span id="Select.where-2916"><a href="#Select.where-2916"><span class="linenos">2916</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.where-2917"><a href="#Select.where-2917"><span class="linenos">2917</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.where-2918"><a href="#Select.where-2918"><span class="linenos">2918</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.where-2919"><a href="#Select.where-2919"><span class="linenos">2919</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.where-2901"><a href="#Select.where-2901"><span class="linenos">2901</span></a> <span class="k">def</span> <span class="nf">where</span><span class="p">(</span>
+</span><span id="Select.where-2902"><a href="#Select.where-2902"><span class="linenos">2902</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.where-2903"><a href="#Select.where-2903"><span class="linenos">2903</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.where-2904"><a href="#Select.where-2904"><span class="linenos">2904</span></a> <span class="n">append</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="Select.where-2905"><a href="#Select.where-2905"><span class="linenos">2905</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="Select.where-2906"><a href="#Select.where-2906"><span class="linenos">2906</span></a> <span class="n">copy</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="Select.where-2907"><a href="#Select.where-2907"><span class="linenos">2907</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.where-2908"><a href="#Select.where-2908"><span class="linenos">2908</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.where-2909"><a href="#Select.where-2909"><span class="linenos">2909</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.where-2910"><a href="#Select.where-2910"><span class="linenos">2910</span></a><span class="sd"> Append to or set the WHERE expressions.</span>
+</span><span id="Select.where-2911"><a href="#Select.where-2911"><span class="linenos">2911</span></a>
+</span><span id="Select.where-2912"><a href="#Select.where-2912"><span class="linenos">2912</span></a><span class="sd"> Example:</span>
+</span><span id="Select.where-2913"><a href="#Select.where-2913"><span class="linenos">2913</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;).sql()</span>
+</span><span id="Select.where-2914"><a href="#Select.where-2914"><span class="linenos">2914</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; OR x &lt; &#39;b&#39;&quot;</span>
+</span><span id="Select.where-2915"><a href="#Select.where-2915"><span class="linenos">2915</span></a>
+</span><span id="Select.where-2916"><a href="#Select.where-2916"><span class="linenos">2916</span></a><span class="sd"> Args:</span>
+</span><span id="Select.where-2917"><a href="#Select.where-2917"><span class="linenos">2917</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.where-2918"><a href="#Select.where-2918"><span class="linenos">2918</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.where-2919"><a href="#Select.where-2919"><span class="linenos">2919</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Select.where-2920"><a href="#Select.where-2920"><span class="linenos">2920</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Select.where-2921"><a href="#Select.where-2921"><span class="linenos">2921</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Select.where-2922"><a href="#Select.where-2922"><span class="linenos">2922</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select.where-2923"><a href="#Select.where-2923"><span class="linenos">2923</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.where-2924"><a href="#Select.where-2924"><span class="linenos">2924</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.where-2925"><a href="#Select.where-2925"><span class="linenos">2925</span></a>
+</span><span id="Select.where-2926"><a href="#Select.where-2926"><span class="linenos">2926</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.where-2927"><a href="#Select.where-2927"><span class="linenos">2927</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select.where-2928"><a href="#Select.where-2928"><span class="linenos">2928</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.where-2929"><a href="#Select.where-2929"><span class="linenos">2929</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Select.where-2930"><a href="#Select.where-2930"><span class="linenos">2930</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.where-2931"><a href="#Select.where-2931"><span class="linenos">2931</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.where-2932"><a href="#Select.where-2932"><span class="linenos">2932</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="Select.where-2933"><a href="#Select.where-2933"><span class="linenos">2933</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.where-2934"><a href="#Select.where-2934"><span class="linenos">2934</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Where</span><span class="p">,</span>
+</span><span id="Select.where-2935"><a href="#Select.where-2935"><span class="linenos">2935</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.where-2936"><a href="#Select.where-2936"><span class="linenos">2936</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.where-2937"><a href="#Select.where-2937"><span class="linenos">2937</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.where-2938"><a href="#Select.where-2938"><span class="linenos">2938</span></a> <span class="p">)</span>
</span></pre></div>
@@ -26207,44 +34237,44 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Select.having"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.having-2921"><a href="#Select.having-2921"><span class="linenos">2921</span></a> <span class="k">def</span> <span class="nf">having</span><span class="p">(</span>
-</span><span id="Select.having-2922"><a href="#Select.having-2922"><span class="linenos">2922</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.having-2923"><a href="#Select.having-2923"><span class="linenos">2923</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.having-2924"><a href="#Select.having-2924"><span class="linenos">2924</span></a> <span class="n">append</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="Select.having-2925"><a href="#Select.having-2925"><span class="linenos">2925</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="Select.having-2926"><a href="#Select.having-2926"><span class="linenos">2926</span></a> <span class="n">copy</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="Select.having-2927"><a href="#Select.having-2927"><span class="linenos">2927</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.having-2928"><a href="#Select.having-2928"><span class="linenos">2928</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.having-2929"><a href="#Select.having-2929"><span class="linenos">2929</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.having-2930"><a href="#Select.having-2930"><span class="linenos">2930</span></a><span class="sd"> Append to or set the HAVING expressions.</span>
-</span><span id="Select.having-2931"><a href="#Select.having-2931"><span class="linenos">2931</span></a>
-</span><span id="Select.having-2932"><a href="#Select.having-2932"><span class="linenos">2932</span></a><span class="sd"> Example:</span>
-</span><span id="Select.having-2933"><a href="#Select.having-2933"><span class="linenos">2933</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;COUNT(y)&quot;).from_(&quot;tbl&quot;).group_by(&quot;x&quot;).having(&quot;COUNT(y) &gt; 3&quot;).sql()</span>
-</span><span id="Select.having-2934"><a href="#Select.having-2934"><span class="linenos">2934</span></a><span class="sd"> &#39;SELECT x, COUNT(y) FROM tbl GROUP BY x HAVING COUNT(y) &gt; 3&#39;</span>
-</span><span id="Select.having-2935"><a href="#Select.having-2935"><span class="linenos">2935</span></a>
-</span><span id="Select.having-2936"><a href="#Select.having-2936"><span class="linenos">2936</span></a><span class="sd"> Args:</span>
-</span><span id="Select.having-2937"><a href="#Select.having-2937"><span class="linenos">2937</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="Select.having-2938"><a href="#Select.having-2938"><span class="linenos">2938</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.having-2939"><a href="#Select.having-2939"><span class="linenos">2939</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
-</span><span id="Select.having-2940"><a href="#Select.having-2940"><span class="linenos">2940</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
-</span><span id="Select.having-2941"><a href="#Select.having-2941"><span class="linenos">2941</span></a><span class="sd"> Otherwise, this resets the expression.</span>
-</span><span id="Select.having-2942"><a href="#Select.having-2942"><span class="linenos">2942</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="Select.having-2943"><a href="#Select.having-2943"><span class="linenos">2943</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.having-2944"><a href="#Select.having-2944"><span class="linenos">2944</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="Select.having-2945"><a href="#Select.having-2945"><span class="linenos">2945</span></a>
-</span><span id="Select.having-2946"><a href="#Select.having-2946"><span class="linenos">2946</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.having-2947"><a href="#Select.having-2947"><span class="linenos">2947</span></a><span class="sd"> The modified Select expression.</span>
-</span><span id="Select.having-2948"><a href="#Select.having-2948"><span class="linenos">2948</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.having-2949"><a href="#Select.having-2949"><span class="linenos">2949</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Select.having-2950"><a href="#Select.having-2950"><span class="linenos">2950</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.having-2951"><a href="#Select.having-2951"><span class="linenos">2951</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.having-2952"><a href="#Select.having-2952"><span class="linenos">2952</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;having&quot;</span><span class="p">,</span>
-</span><span id="Select.having-2953"><a href="#Select.having-2953"><span class="linenos">2953</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.having-2954"><a href="#Select.having-2954"><span class="linenos">2954</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Having</span><span class="p">,</span>
-</span><span id="Select.having-2955"><a href="#Select.having-2955"><span class="linenos">2955</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.having-2956"><a href="#Select.having-2956"><span class="linenos">2956</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.having-2957"><a href="#Select.having-2957"><span class="linenos">2957</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.having-2958"><a href="#Select.having-2958"><span class="linenos">2958</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.having-2940"><a href="#Select.having-2940"><span class="linenos">2940</span></a> <span class="k">def</span> <span class="nf">having</span><span class="p">(</span>
+</span><span id="Select.having-2941"><a href="#Select.having-2941"><span class="linenos">2941</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.having-2942"><a href="#Select.having-2942"><span class="linenos">2942</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.having-2943"><a href="#Select.having-2943"><span class="linenos">2943</span></a> <span class="n">append</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="Select.having-2944"><a href="#Select.having-2944"><span class="linenos">2944</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="Select.having-2945"><a href="#Select.having-2945"><span class="linenos">2945</span></a> <span class="n">copy</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="Select.having-2946"><a href="#Select.having-2946"><span class="linenos">2946</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.having-2947"><a href="#Select.having-2947"><span class="linenos">2947</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.having-2948"><a href="#Select.having-2948"><span class="linenos">2948</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.having-2949"><a href="#Select.having-2949"><span class="linenos">2949</span></a><span class="sd"> Append to or set the HAVING expressions.</span>
+</span><span id="Select.having-2950"><a href="#Select.having-2950"><span class="linenos">2950</span></a>
+</span><span id="Select.having-2951"><a href="#Select.having-2951"><span class="linenos">2951</span></a><span class="sd"> Example:</span>
+</span><span id="Select.having-2952"><a href="#Select.having-2952"><span class="linenos">2952</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;, &quot;COUNT(y)&quot;).from_(&quot;tbl&quot;).group_by(&quot;x&quot;).having(&quot;COUNT(y) &gt; 3&quot;).sql()</span>
+</span><span id="Select.having-2953"><a href="#Select.having-2953"><span class="linenos">2953</span></a><span class="sd"> &#39;SELECT x, COUNT(y) FROM tbl GROUP BY x HAVING COUNT(y) &gt; 3&#39;</span>
+</span><span id="Select.having-2954"><a href="#Select.having-2954"><span class="linenos">2954</span></a>
+</span><span id="Select.having-2955"><a href="#Select.having-2955"><span class="linenos">2955</span></a><span class="sd"> Args:</span>
+</span><span id="Select.having-2956"><a href="#Select.having-2956"><span class="linenos">2956</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="Select.having-2957"><a href="#Select.having-2957"><span class="linenos">2957</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.having-2958"><a href="#Select.having-2958"><span class="linenos">2958</span></a><span class="sd"> Multiple expressions are combined with an AND operator.</span>
+</span><span id="Select.having-2959"><a href="#Select.having-2959"><span class="linenos">2959</span></a><span class="sd"> append: if `True`, AND the new expressions to any existing expression.</span>
+</span><span id="Select.having-2960"><a href="#Select.having-2960"><span class="linenos">2960</span></a><span class="sd"> Otherwise, this resets the expression.</span>
+</span><span id="Select.having-2961"><a href="#Select.having-2961"><span class="linenos">2961</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="Select.having-2962"><a href="#Select.having-2962"><span class="linenos">2962</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.having-2963"><a href="#Select.having-2963"><span class="linenos">2963</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="Select.having-2964"><a href="#Select.having-2964"><span class="linenos">2964</span></a>
+</span><span id="Select.having-2965"><a href="#Select.having-2965"><span class="linenos">2965</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.having-2966"><a href="#Select.having-2966"><span class="linenos">2966</span></a><span class="sd"> The modified Select expression.</span>
+</span><span id="Select.having-2967"><a href="#Select.having-2967"><span class="linenos">2967</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.having-2968"><a href="#Select.having-2968"><span class="linenos">2968</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Select.having-2969"><a href="#Select.having-2969"><span class="linenos">2969</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.having-2970"><a href="#Select.having-2970"><span class="linenos">2970</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.having-2971"><a href="#Select.having-2971"><span class="linenos">2971</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;having&quot;</span><span class="p">,</span>
+</span><span id="Select.having-2972"><a href="#Select.having-2972"><span class="linenos">2972</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.having-2973"><a href="#Select.having-2973"><span class="linenos">2973</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Having</span><span class="p">,</span>
+</span><span id="Select.having-2974"><a href="#Select.having-2974"><span class="linenos">2974</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.having-2975"><a href="#Select.having-2975"><span class="linenos">2975</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.having-2976"><a href="#Select.having-2976"><span class="linenos">2976</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.having-2977"><a href="#Select.having-2977"><span class="linenos">2977</span></a> <span class="p">)</span>
</span></pre></div>
@@ -26293,24 +34323,24 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Select.window"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.window-2960"><a href="#Select.window-2960"><span class="linenos">2960</span></a> <span class="k">def</span> <span class="nf">window</span><span class="p">(</span>
-</span><span id="Select.window-2961"><a href="#Select.window-2961"><span class="linenos">2961</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.window-2962"><a href="#Select.window-2962"><span class="linenos">2962</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.window-2963"><a href="#Select.window-2963"><span class="linenos">2963</span></a> <span class="n">append</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="Select.window-2964"><a href="#Select.window-2964"><span class="linenos">2964</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="Select.window-2965"><a href="#Select.window-2965"><span class="linenos">2965</span></a> <span class="n">copy</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="Select.window-2966"><a href="#Select.window-2966"><span class="linenos">2966</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.window-2967"><a href="#Select.window-2967"><span class="linenos">2967</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.window-2968"><a href="#Select.window-2968"><span class="linenos">2968</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="Select.window-2969"><a href="#Select.window-2969"><span class="linenos">2969</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.window-2970"><a href="#Select.window-2970"><span class="linenos">2970</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.window-2971"><a href="#Select.window-2971"><span class="linenos">2971</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span>
-</span><span id="Select.window-2972"><a href="#Select.window-2972"><span class="linenos">2972</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.window-2973"><a href="#Select.window-2973"><span class="linenos">2973</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Window</span><span class="p">,</span>
-</span><span id="Select.window-2974"><a href="#Select.window-2974"><span class="linenos">2974</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.window-2975"><a href="#Select.window-2975"><span class="linenos">2975</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.window-2976"><a href="#Select.window-2976"><span class="linenos">2976</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.window-2977"><a href="#Select.window-2977"><span class="linenos">2977</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.window-2979"><a href="#Select.window-2979"><span class="linenos">2979</span></a> <span class="k">def</span> <span class="nf">window</span><span class="p">(</span>
+</span><span id="Select.window-2980"><a href="#Select.window-2980"><span class="linenos">2980</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.window-2981"><a href="#Select.window-2981"><span class="linenos">2981</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.window-2982"><a href="#Select.window-2982"><span class="linenos">2982</span></a> <span class="n">append</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="Select.window-2983"><a href="#Select.window-2983"><span class="linenos">2983</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="Select.window-2984"><a href="#Select.window-2984"><span class="linenos">2984</span></a> <span class="n">copy</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="Select.window-2985"><a href="#Select.window-2985"><span class="linenos">2985</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.window-2986"><a href="#Select.window-2986"><span class="linenos">2986</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.window-2987"><a href="#Select.window-2987"><span class="linenos">2987</span></a> <span class="k">return</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="Select.window-2988"><a href="#Select.window-2988"><span class="linenos">2988</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.window-2989"><a href="#Select.window-2989"><span class="linenos">2989</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.window-2990"><a href="#Select.window-2990"><span class="linenos">2990</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span>
+</span><span id="Select.window-2991"><a href="#Select.window-2991"><span class="linenos">2991</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.window-2992"><a href="#Select.window-2992"><span class="linenos">2992</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Window</span><span class="p">,</span>
+</span><span id="Select.window-2993"><a href="#Select.window-2993"><span class="linenos">2993</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.window-2994"><a href="#Select.window-2994"><span class="linenos">2994</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.window-2995"><a href="#Select.window-2995"><span class="linenos">2995</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.window-2996"><a href="#Select.window-2996"><span class="linenos">2996</span></a> <span class="p">)</span>
</span></pre></div>
@@ -26328,24 +34358,24 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Select.qualify"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.qualify-2979"><a href="#Select.qualify-2979"><span class="linenos">2979</span></a> <span class="k">def</span> <span class="nf">qualify</span><span class="p">(</span>
-</span><span id="Select.qualify-2980"><a href="#Select.qualify-2980"><span class="linenos">2980</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.qualify-2981"><a href="#Select.qualify-2981"><span class="linenos">2981</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
-</span><span id="Select.qualify-2982"><a href="#Select.qualify-2982"><span class="linenos">2982</span></a> <span class="n">append</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="Select.qualify-2983"><a href="#Select.qualify-2983"><span class="linenos">2983</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="Select.qualify-2984"><a href="#Select.qualify-2984"><span class="linenos">2984</span></a> <span class="n">copy</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="Select.qualify-2985"><a href="#Select.qualify-2985"><span class="linenos">2985</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.qualify-2986"><a href="#Select.qualify-2986"><span class="linenos">2986</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.qualify-2987"><a href="#Select.qualify-2987"><span class="linenos">2987</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
-</span><span id="Select.qualify-2988"><a href="#Select.qualify-2988"><span class="linenos">2988</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
-</span><span id="Select.qualify-2989"><a href="#Select.qualify-2989"><span class="linenos">2989</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.qualify-2990"><a href="#Select.qualify-2990"><span class="linenos">2990</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;qualify&quot;</span><span class="p">,</span>
-</span><span id="Select.qualify-2991"><a href="#Select.qualify-2991"><span class="linenos">2991</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
-</span><span id="Select.qualify-2992"><a href="#Select.qualify-2992"><span class="linenos">2992</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Qualify</span><span class="p">,</span>
-</span><span id="Select.qualify-2993"><a href="#Select.qualify-2993"><span class="linenos">2993</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.qualify-2994"><a href="#Select.qualify-2994"><span class="linenos">2994</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="Select.qualify-2995"><a href="#Select.qualify-2995"><span class="linenos">2995</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.qualify-2996"><a href="#Select.qualify-2996"><span class="linenos">2996</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.qualify-2998"><a href="#Select.qualify-2998"><span class="linenos">2998</span></a> <span class="k">def</span> <span class="nf">qualify</span><span class="p">(</span>
+</span><span id="Select.qualify-2999"><a href="#Select.qualify-2999"><span class="linenos">2999</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.qualify-3000"><a href="#Select.qualify-3000"><span class="linenos">3000</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span>
+</span><span id="Select.qualify-3001"><a href="#Select.qualify-3001"><span class="linenos">3001</span></a> <span class="n">append</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="Select.qualify-3002"><a href="#Select.qualify-3002"><span class="linenos">3002</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="Select.qualify-3003"><a href="#Select.qualify-3003"><span class="linenos">3003</span></a> <span class="n">copy</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="Select.qualify-3004"><a href="#Select.qualify-3004"><span class="linenos">3004</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.qualify-3005"><a href="#Select.qualify-3005"><span class="linenos">3005</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.qualify-3006"><a href="#Select.qualify-3006"><span class="linenos">3006</span></a> <span class="k">return</span> <span class="n">_apply_conjunction_builder</span><span class="p">(</span>
+</span><span id="Select.qualify-3007"><a href="#Select.qualify-3007"><span class="linenos">3007</span></a> <span class="o">*</span><span class="n">expressions</span><span class="p">,</span>
+</span><span id="Select.qualify-3008"><a href="#Select.qualify-3008"><span class="linenos">3008</span></a> <span class="n">instance</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.qualify-3009"><a href="#Select.qualify-3009"><span class="linenos">3009</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;qualify&quot;</span><span class="p">,</span>
+</span><span id="Select.qualify-3010"><a href="#Select.qualify-3010"><span class="linenos">3010</span></a> <span class="n">append</span><span class="o">=</span><span class="n">append</span><span class="p">,</span>
+</span><span id="Select.qualify-3011"><a href="#Select.qualify-3011"><span class="linenos">3011</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Qualify</span><span class="p">,</span>
+</span><span id="Select.qualify-3012"><a href="#Select.qualify-3012"><span class="linenos">3012</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.qualify-3013"><a href="#Select.qualify-3013"><span class="linenos">3013</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="Select.qualify-3014"><a href="#Select.qualify-3014"><span class="linenos">3014</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.qualify-3015"><a href="#Select.qualify-3015"><span class="linenos">3015</span></a> <span class="p">)</span>
</span></pre></div>
@@ -26363,28 +34393,28 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Select.distinct"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.distinct-2998"><a href="#Select.distinct-2998"><span class="linenos">2998</span></a> <span class="k">def</span> <span class="nf">distinct</span><span class="p">(</span>
-</span><span id="Select.distinct-2999"><a href="#Select.distinct-2999"><span class="linenos">2999</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">ons</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">ExpOrStr</span><span class="p">],</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="Select.distinct-3000"><a href="#Select.distinct-3000"><span class="linenos">3000</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.distinct-3001"><a href="#Select.distinct-3001"><span class="linenos">3001</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.distinct-3002"><a href="#Select.distinct-3002"><span class="linenos">3002</span></a><span class="sd"> Set the OFFSET expression.</span>
-</span><span id="Select.distinct-3003"><a href="#Select.distinct-3003"><span class="linenos">3003</span></a>
-</span><span id="Select.distinct-3004"><a href="#Select.distinct-3004"><span class="linenos">3004</span></a><span class="sd"> Example:</span>
-</span><span id="Select.distinct-3005"><a href="#Select.distinct-3005"><span class="linenos">3005</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).distinct().sql()</span>
-</span><span id="Select.distinct-3006"><a href="#Select.distinct-3006"><span class="linenos">3006</span></a><span class="sd"> &#39;SELECT DISTINCT x FROM tbl&#39;</span>
-</span><span id="Select.distinct-3007"><a href="#Select.distinct-3007"><span class="linenos">3007</span></a>
-</span><span id="Select.distinct-3008"><a href="#Select.distinct-3008"><span class="linenos">3008</span></a><span class="sd"> Args:</span>
-</span><span id="Select.distinct-3009"><a href="#Select.distinct-3009"><span class="linenos">3009</span></a><span class="sd"> ons: the expressions to distinct on</span>
-</span><span id="Select.distinct-3010"><a href="#Select.distinct-3010"><span class="linenos">3010</span></a><span class="sd"> distinct: whether the Select should be distinct</span>
-</span><span id="Select.distinct-3011"><a href="#Select.distinct-3011"><span class="linenos">3011</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.distinct-3012"><a href="#Select.distinct-3012"><span class="linenos">3012</span></a>
-</span><span id="Select.distinct-3013"><a href="#Select.distinct-3013"><span class="linenos">3013</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.distinct-3014"><a href="#Select.distinct-3014"><span class="linenos">3014</span></a><span class="sd"> Select: the modified expression.</span>
-</span><span id="Select.distinct-3015"><a href="#Select.distinct-3015"><span class="linenos">3015</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.distinct-3016"><a href="#Select.distinct-3016"><span class="linenos">3016</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select.distinct-3017"><a href="#Select.distinct-3017"><span class="linenos">3017</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">on</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">on</span> <span class="ow">in</span> <span class="n">ons</span> <span class="k">if</span> <span class="n">on</span><span class="p">])</span> <span class="k">if</span> <span class="n">ons</span> <span class="k">else</span> <span class="kc">None</span>
-</span><span id="Select.distinct-3018"><a href="#Select.distinct-3018"><span class="linenos">3018</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;distinct&quot;</span><span class="p">,</span> <span class="n">Distinct</span><span class="p">(</span><span class="n">on</span><span class="o">=</span><span class="n">on</span><span class="p">)</span> <span class="k">if</span> <span class="n">distinct</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="Select.distinct-3019"><a href="#Select.distinct-3019"><span class="linenos">3019</span></a> <span class="k">return</span> <span class="n">instance</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.distinct-3017"><a href="#Select.distinct-3017"><span class="linenos">3017</span></a> <span class="k">def</span> <span class="nf">distinct</span><span class="p">(</span>
+</span><span id="Select.distinct-3018"><a href="#Select.distinct-3018"><span class="linenos">3018</span></a> <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">ons</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">ExpOrStr</span><span class="p">],</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="Select.distinct-3019"><a href="#Select.distinct-3019"><span class="linenos">3019</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.distinct-3020"><a href="#Select.distinct-3020"><span class="linenos">3020</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.distinct-3021"><a href="#Select.distinct-3021"><span class="linenos">3021</span></a><span class="sd"> Set the OFFSET expression.</span>
+</span><span id="Select.distinct-3022"><a href="#Select.distinct-3022"><span class="linenos">3022</span></a>
+</span><span id="Select.distinct-3023"><a href="#Select.distinct-3023"><span class="linenos">3023</span></a><span class="sd"> Example:</span>
+</span><span id="Select.distinct-3024"><a href="#Select.distinct-3024"><span class="linenos">3024</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;x&quot;).distinct().sql()</span>
+</span><span id="Select.distinct-3025"><a href="#Select.distinct-3025"><span class="linenos">3025</span></a><span class="sd"> &#39;SELECT DISTINCT x FROM tbl&#39;</span>
+</span><span id="Select.distinct-3026"><a href="#Select.distinct-3026"><span class="linenos">3026</span></a>
+</span><span id="Select.distinct-3027"><a href="#Select.distinct-3027"><span class="linenos">3027</span></a><span class="sd"> Args:</span>
+</span><span id="Select.distinct-3028"><a href="#Select.distinct-3028"><span class="linenos">3028</span></a><span class="sd"> ons: the expressions to distinct on</span>
+</span><span id="Select.distinct-3029"><a href="#Select.distinct-3029"><span class="linenos">3029</span></a><span class="sd"> distinct: whether the Select should be distinct</span>
+</span><span id="Select.distinct-3030"><a href="#Select.distinct-3030"><span class="linenos">3030</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.distinct-3031"><a href="#Select.distinct-3031"><span class="linenos">3031</span></a>
+</span><span id="Select.distinct-3032"><a href="#Select.distinct-3032"><span class="linenos">3032</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.distinct-3033"><a href="#Select.distinct-3033"><span class="linenos">3033</span></a><span class="sd"> Select: the modified expression.</span>
+</span><span id="Select.distinct-3034"><a href="#Select.distinct-3034"><span class="linenos">3034</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.distinct-3035"><a href="#Select.distinct-3035"><span class="linenos">3035</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select.distinct-3036"><a href="#Select.distinct-3036"><span class="linenos">3036</span></a> <span class="n">on</span> <span class="o">=</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">on</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">on</span> <span class="ow">in</span> <span class="n">ons</span> <span class="k">if</span> <span class="n">on</span><span class="p">])</span> <span class="k">if</span> <span class="n">ons</span> <span class="k">else</span> <span class="kc">None</span>
+</span><span id="Select.distinct-3037"><a href="#Select.distinct-3037"><span class="linenos">3037</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;distinct&quot;</span><span class="p">,</span> <span class="n">Distinct</span><span class="p">(</span><span class="n">on</span><span class="o">=</span><span class="n">on</span><span class="p">)</span> <span class="k">if</span> <span class="n">distinct</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="Select.distinct-3038"><a href="#Select.distinct-3038"><span class="linenos">3038</span></a> <span class="k">return</span> <span class="n">instance</span>
</span></pre></div>
@@ -26428,49 +34458,49 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Select.ctas"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.ctas-3021"><a href="#Select.ctas-3021"><span class="linenos">3021</span></a> <span class="k">def</span> <span class="nf">ctas</span><span class="p">(</span>
-</span><span id="Select.ctas-3022"><a href="#Select.ctas-3022"><span class="linenos">3022</span></a> <span class="bp">self</span><span class="p">,</span>
-</span><span id="Select.ctas-3023"><a href="#Select.ctas-3023"><span class="linenos">3023</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="Select.ctas-3024"><a href="#Select.ctas-3024"><span class="linenos">3024</span></a> <span class="n">properties</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><span id="Select.ctas-3025"><a href="#Select.ctas-3025"><span class="linenos">3025</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="Select.ctas-3026"><a href="#Select.ctas-3026"><span class="linenos">3026</span></a> <span class="n">copy</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="Select.ctas-3027"><a href="#Select.ctas-3027"><span class="linenos">3027</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.ctas-3028"><a href="#Select.ctas-3028"><span class="linenos">3028</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Create</span><span class="p">:</span>
-</span><span id="Select.ctas-3029"><a href="#Select.ctas-3029"><span class="linenos">3029</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.ctas-3030"><a href="#Select.ctas-3030"><span class="linenos">3030</span></a><span class="sd"> Convert this expression to a CREATE TABLE AS statement.</span>
-</span><span id="Select.ctas-3031"><a href="#Select.ctas-3031"><span class="linenos">3031</span></a>
-</span><span id="Select.ctas-3032"><a href="#Select.ctas-3032"><span class="linenos">3032</span></a><span class="sd"> Example:</span>
-</span><span id="Select.ctas-3033"><a href="#Select.ctas-3033"><span class="linenos">3033</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).ctas(&quot;x&quot;).sql()</span>
-</span><span id="Select.ctas-3034"><a href="#Select.ctas-3034"><span class="linenos">3034</span></a><span class="sd"> &#39;CREATE TABLE x AS SELECT * FROM tbl&#39;</span>
-</span><span id="Select.ctas-3035"><a href="#Select.ctas-3035"><span class="linenos">3035</span></a>
-</span><span id="Select.ctas-3036"><a href="#Select.ctas-3036"><span class="linenos">3036</span></a><span class="sd"> Args:</span>
-</span><span id="Select.ctas-3037"><a href="#Select.ctas-3037"><span class="linenos">3037</span></a><span class="sd"> table: the SQL code string to parse as the table name.</span>
-</span><span id="Select.ctas-3038"><a href="#Select.ctas-3038"><span class="linenos">3038</span></a><span class="sd"> If another `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.ctas-3039"><a href="#Select.ctas-3039"><span class="linenos">3039</span></a><span class="sd"> properties: an optional mapping of table properties</span>
-</span><span id="Select.ctas-3040"><a href="#Select.ctas-3040"><span class="linenos">3040</span></a><span class="sd"> dialect: the dialect used to parse the input table.</span>
-</span><span id="Select.ctas-3041"><a href="#Select.ctas-3041"><span class="linenos">3041</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.ctas-3042"><a href="#Select.ctas-3042"><span class="linenos">3042</span></a><span class="sd"> opts: other options to use to parse the input table.</span>
-</span><span id="Select.ctas-3043"><a href="#Select.ctas-3043"><span class="linenos">3043</span></a>
-</span><span id="Select.ctas-3044"><a href="#Select.ctas-3044"><span class="linenos">3044</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.ctas-3045"><a href="#Select.ctas-3045"><span class="linenos">3045</span></a><span class="sd"> The new Create expression.</span>
-</span><span id="Select.ctas-3046"><a href="#Select.ctas-3046"><span class="linenos">3046</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.ctas-3047"><a href="#Select.ctas-3047"><span class="linenos">3047</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select.ctas-3048"><a href="#Select.ctas-3048"><span class="linenos">3048</span></a> <span class="n">table_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="Select.ctas-3049"><a href="#Select.ctas-3049"><span class="linenos">3049</span></a> <span class="n">table</span><span class="p">,</span>
-</span><span id="Select.ctas-3050"><a href="#Select.ctas-3050"><span class="linenos">3050</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
-</span><span id="Select.ctas-3051"><a href="#Select.ctas-3051"><span class="linenos">3051</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="Select.ctas-3052"><a href="#Select.ctas-3052"><span class="linenos">3052</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="Select.ctas-3053"><a href="#Select.ctas-3053"><span class="linenos">3053</span></a> <span class="p">)</span>
-</span><span id="Select.ctas-3054"><a href="#Select.ctas-3054"><span class="linenos">3054</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="kc">None</span>
-</span><span id="Select.ctas-3055"><a href="#Select.ctas-3055"><span class="linenos">3055</span></a> <span class="k">if</span> <span class="n">properties</span><span class="p">:</span>
-</span><span id="Select.ctas-3056"><a href="#Select.ctas-3056"><span class="linenos">3056</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">properties</span><span class="p">)</span>
-</span><span id="Select.ctas-3057"><a href="#Select.ctas-3057"><span class="linenos">3057</span></a>
-</span><span id="Select.ctas-3058"><a href="#Select.ctas-3058"><span class="linenos">3058</span></a> <span class="k">return</span> <span class="n">Create</span><span class="p">(</span>
-</span><span id="Select.ctas-3059"><a href="#Select.ctas-3059"><span class="linenos">3059</span></a> <span class="n">this</span><span class="o">=</span><span class="n">table_expression</span><span class="p">,</span>
-</span><span id="Select.ctas-3060"><a href="#Select.ctas-3060"><span class="linenos">3060</span></a> <span class="n">kind</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">,</span>
-</span><span id="Select.ctas-3061"><a href="#Select.ctas-3061"><span class="linenos">3061</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
-</span><span id="Select.ctas-3062"><a href="#Select.ctas-3062"><span class="linenos">3062</span></a> <span class="n">properties</span><span class="o">=</span><span class="n">properties_expression</span><span class="p">,</span>
-</span><span id="Select.ctas-3063"><a href="#Select.ctas-3063"><span class="linenos">3063</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.ctas-3040"><a href="#Select.ctas-3040"><span class="linenos">3040</span></a> <span class="k">def</span> <span class="nf">ctas</span><span class="p">(</span>
+</span><span id="Select.ctas-3041"><a href="#Select.ctas-3041"><span class="linenos">3041</span></a> <span class="bp">self</span><span class="p">,</span>
+</span><span id="Select.ctas-3042"><a href="#Select.ctas-3042"><span class="linenos">3042</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="Select.ctas-3043"><a href="#Select.ctas-3043"><span class="linenos">3043</span></a> <span class="n">properties</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><span id="Select.ctas-3044"><a href="#Select.ctas-3044"><span class="linenos">3044</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="Select.ctas-3045"><a href="#Select.ctas-3045"><span class="linenos">3045</span></a> <span class="n">copy</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="Select.ctas-3046"><a href="#Select.ctas-3046"><span class="linenos">3046</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.ctas-3047"><a href="#Select.ctas-3047"><span class="linenos">3047</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Create</span><span class="p">:</span>
+</span><span id="Select.ctas-3048"><a href="#Select.ctas-3048"><span class="linenos">3048</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.ctas-3049"><a href="#Select.ctas-3049"><span class="linenos">3049</span></a><span class="sd"> Convert this expression to a CREATE TABLE AS statement.</span>
+</span><span id="Select.ctas-3050"><a href="#Select.ctas-3050"><span class="linenos">3050</span></a>
+</span><span id="Select.ctas-3051"><a href="#Select.ctas-3051"><span class="linenos">3051</span></a><span class="sd"> Example:</span>
+</span><span id="Select.ctas-3052"><a href="#Select.ctas-3052"><span class="linenos">3052</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;*&quot;).from_(&quot;tbl&quot;).ctas(&quot;x&quot;).sql()</span>
+</span><span id="Select.ctas-3053"><a href="#Select.ctas-3053"><span class="linenos">3053</span></a><span class="sd"> &#39;CREATE TABLE x AS SELECT * FROM tbl&#39;</span>
+</span><span id="Select.ctas-3054"><a href="#Select.ctas-3054"><span class="linenos">3054</span></a>
+</span><span id="Select.ctas-3055"><a href="#Select.ctas-3055"><span class="linenos">3055</span></a><span class="sd"> Args:</span>
+</span><span id="Select.ctas-3056"><a href="#Select.ctas-3056"><span class="linenos">3056</span></a><span class="sd"> table: the SQL code string to parse as the table name.</span>
+</span><span id="Select.ctas-3057"><a href="#Select.ctas-3057"><span class="linenos">3057</span></a><span class="sd"> If another `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.ctas-3058"><a href="#Select.ctas-3058"><span class="linenos">3058</span></a><span class="sd"> properties: an optional mapping of table properties</span>
+</span><span id="Select.ctas-3059"><a href="#Select.ctas-3059"><span class="linenos">3059</span></a><span class="sd"> dialect: the dialect used to parse the input table.</span>
+</span><span id="Select.ctas-3060"><a href="#Select.ctas-3060"><span class="linenos">3060</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.ctas-3061"><a href="#Select.ctas-3061"><span class="linenos">3061</span></a><span class="sd"> opts: other options to use to parse the input table.</span>
+</span><span id="Select.ctas-3062"><a href="#Select.ctas-3062"><span class="linenos">3062</span></a>
+</span><span id="Select.ctas-3063"><a href="#Select.ctas-3063"><span class="linenos">3063</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.ctas-3064"><a href="#Select.ctas-3064"><span class="linenos">3064</span></a><span class="sd"> The new Create expression.</span>
+</span><span id="Select.ctas-3065"><a href="#Select.ctas-3065"><span class="linenos">3065</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.ctas-3066"><a href="#Select.ctas-3066"><span class="linenos">3066</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select.ctas-3067"><a href="#Select.ctas-3067"><span class="linenos">3067</span></a> <span class="n">table_expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="Select.ctas-3068"><a href="#Select.ctas-3068"><span class="linenos">3068</span></a> <span class="n">table</span><span class="p">,</span>
+</span><span id="Select.ctas-3069"><a href="#Select.ctas-3069"><span class="linenos">3069</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">,</span>
+</span><span id="Select.ctas-3070"><a href="#Select.ctas-3070"><span class="linenos">3070</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="Select.ctas-3071"><a href="#Select.ctas-3071"><span class="linenos">3071</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="Select.ctas-3072"><a href="#Select.ctas-3072"><span class="linenos">3072</span></a> <span class="p">)</span>
+</span><span id="Select.ctas-3073"><a href="#Select.ctas-3073"><span class="linenos">3073</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="kc">None</span>
+</span><span id="Select.ctas-3074"><a href="#Select.ctas-3074"><span class="linenos">3074</span></a> <span class="k">if</span> <span class="n">properties</span><span class="p">:</span>
+</span><span id="Select.ctas-3075"><a href="#Select.ctas-3075"><span class="linenos">3075</span></a> <span class="n">properties_expression</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">properties</span><span class="p">)</span>
+</span><span id="Select.ctas-3076"><a href="#Select.ctas-3076"><span class="linenos">3076</span></a>
+</span><span id="Select.ctas-3077"><a href="#Select.ctas-3077"><span class="linenos">3077</span></a> <span class="k">return</span> <span class="n">Create</span><span class="p">(</span>
+</span><span id="Select.ctas-3078"><a href="#Select.ctas-3078"><span class="linenos">3078</span></a> <span class="n">this</span><span class="o">=</span><span class="n">table_expression</span><span class="p">,</span>
+</span><span id="Select.ctas-3079"><a href="#Select.ctas-3079"><span class="linenos">3079</span></a> <span class="n">kind</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">,</span>
+</span><span id="Select.ctas-3080"><a href="#Select.ctas-3080"><span class="linenos">3080</span></a> <span class="n">expression</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+</span><span id="Select.ctas-3081"><a href="#Select.ctas-3081"><span class="linenos">3081</span></a> <span class="n">properties</span><span class="o">=</span><span class="n">properties_expression</span><span class="p">,</span>
+</span><span id="Select.ctas-3082"><a href="#Select.ctas-3082"><span class="linenos">3082</span></a> <span class="p">)</span>
</span></pre></div>
@@ -26517,28 +34547,28 @@ If another <code><a href="#Expression">Expression</a></code> instance is passed,
</div>
<a class="headerlink" href="#Select.lock"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.lock-3065"><a href="#Select.lock-3065"><span class="linenos">3065</span></a> <span class="k">def</span> <span class="nf">lock</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">update</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.lock-3066"><a href="#Select.lock-3066"><span class="linenos">3066</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.lock-3067"><a href="#Select.lock-3067"><span class="linenos">3067</span></a><span class="sd"> Set the locking read mode for this expression.</span>
-</span><span id="Select.lock-3068"><a href="#Select.lock-3068"><span class="linenos">3068</span></a>
-</span><span id="Select.lock-3069"><a href="#Select.lock-3069"><span class="linenos">3069</span></a><span class="sd"> Examples:</span>
-</span><span id="Select.lock-3070"><a href="#Select.lock-3070"><span class="linenos">3070</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock().sql(&quot;mysql&quot;)</span>
-</span><span id="Select.lock-3071"><a href="#Select.lock-3071"><span class="linenos">3071</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR UPDATE&quot;</span>
-</span><span id="Select.lock-3072"><a href="#Select.lock-3072"><span class="linenos">3072</span></a>
-</span><span id="Select.lock-3073"><a href="#Select.lock-3073"><span class="linenos">3073</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock(update=False).sql(&quot;mysql&quot;)</span>
-</span><span id="Select.lock-3074"><a href="#Select.lock-3074"><span class="linenos">3074</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR SHARE&quot;</span>
-</span><span id="Select.lock-3075"><a href="#Select.lock-3075"><span class="linenos">3075</span></a>
-</span><span id="Select.lock-3076"><a href="#Select.lock-3076"><span class="linenos">3076</span></a><span class="sd"> Args:</span>
-</span><span id="Select.lock-3077"><a href="#Select.lock-3077"><span class="linenos">3077</span></a><span class="sd"> update: if `True`, the locking type will be `FOR UPDATE`, else it will be `FOR SHARE`.</span>
-</span><span id="Select.lock-3078"><a href="#Select.lock-3078"><span class="linenos">3078</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
-</span><span id="Select.lock-3079"><a href="#Select.lock-3079"><span class="linenos">3079</span></a>
-</span><span id="Select.lock-3080"><a href="#Select.lock-3080"><span class="linenos">3080</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.lock-3081"><a href="#Select.lock-3081"><span class="linenos">3081</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Select.lock-3082"><a href="#Select.lock-3082"><span class="linenos">3082</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.lock-3083"><a href="#Select.lock-3083"><span class="linenos">3083</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select.lock-3084"><a href="#Select.lock-3084"><span class="linenos">3084</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;locks&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">Lock</span><span class="p">(</span><span class="n">update</span><span class="o">=</span><span class="n">update</span><span class="p">)])</span>
-</span><span id="Select.lock-3085"><a href="#Select.lock-3085"><span class="linenos">3085</span></a>
-</span><span id="Select.lock-3086"><a href="#Select.lock-3086"><span class="linenos">3086</span></a> <span class="k">return</span> <span class="n">inst</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.lock-3084"><a href="#Select.lock-3084"><span class="linenos">3084</span></a> <span class="k">def</span> <span class="nf">lock</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">update</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.lock-3085"><a href="#Select.lock-3085"><span class="linenos">3085</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.lock-3086"><a href="#Select.lock-3086"><span class="linenos">3086</span></a><span class="sd"> Set the locking read mode for this expression.</span>
+</span><span id="Select.lock-3087"><a href="#Select.lock-3087"><span class="linenos">3087</span></a>
+</span><span id="Select.lock-3088"><a href="#Select.lock-3088"><span class="linenos">3088</span></a><span class="sd"> Examples:</span>
+</span><span id="Select.lock-3089"><a href="#Select.lock-3089"><span class="linenos">3089</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock().sql(&quot;mysql&quot;)</span>
+</span><span id="Select.lock-3090"><a href="#Select.lock-3090"><span class="linenos">3090</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR UPDATE&quot;</span>
+</span><span id="Select.lock-3091"><a href="#Select.lock-3091"><span class="linenos">3091</span></a>
+</span><span id="Select.lock-3092"><a href="#Select.lock-3092"><span class="linenos">3092</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).where(&quot;x = &#39;a&#39;&quot;).lock(update=False).sql(&quot;mysql&quot;)</span>
+</span><span id="Select.lock-3093"><a href="#Select.lock-3093"><span class="linenos">3093</span></a><span class="sd"> &quot;SELECT x FROM tbl WHERE x = &#39;a&#39; FOR SHARE&quot;</span>
+</span><span id="Select.lock-3094"><a href="#Select.lock-3094"><span class="linenos">3094</span></a>
+</span><span id="Select.lock-3095"><a href="#Select.lock-3095"><span class="linenos">3095</span></a><span class="sd"> Args:</span>
+</span><span id="Select.lock-3096"><a href="#Select.lock-3096"><span class="linenos">3096</span></a><span class="sd"> update: if `True`, the locking type will be `FOR UPDATE`, else it will be `FOR SHARE`.</span>
+</span><span id="Select.lock-3097"><a href="#Select.lock-3097"><span class="linenos">3097</span></a><span class="sd"> copy: if `False`, modify this expression instance in-place.</span>
+</span><span id="Select.lock-3098"><a href="#Select.lock-3098"><span class="linenos">3098</span></a>
+</span><span id="Select.lock-3099"><a href="#Select.lock-3099"><span class="linenos">3099</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.lock-3100"><a href="#Select.lock-3100"><span class="linenos">3100</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Select.lock-3101"><a href="#Select.lock-3101"><span class="linenos">3101</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.lock-3102"><a href="#Select.lock-3102"><span class="linenos">3102</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select.lock-3103"><a href="#Select.lock-3103"><span class="linenos">3103</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;locks&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">Lock</span><span class="p">(</span><span class="n">update</span><span class="o">=</span><span class="n">update</span><span class="p">)])</span>
+</span><span id="Select.lock-3104"><a href="#Select.lock-3104"><span class="linenos">3104</span></a>
+</span><span id="Select.lock-3105"><a href="#Select.lock-3105"><span class="linenos">3105</span></a> <span class="k">return</span> <span class="n">inst</span>
</span></pre></div>
@@ -26587,29 +34617,29 @@ If another <code><a href="#Expression">Expression</a></code> instance is passed,
</div>
<a class="headerlink" href="#Select.hint"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Select.hint-3088"><a href="#Select.hint-3088"><span class="linenos">3088</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">hints</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="Select.hint-3089"><a href="#Select.hint-3089"><span class="linenos">3089</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Select.hint-3090"><a href="#Select.hint-3090"><span class="linenos">3090</span></a><span class="sd"> Set hints for this expression.</span>
-</span><span id="Select.hint-3091"><a href="#Select.hint-3091"><span class="linenos">3091</span></a>
-</span><span id="Select.hint-3092"><a href="#Select.hint-3092"><span class="linenos">3092</span></a><span class="sd"> Examples:</span>
-</span><span id="Select.hint-3093"><a href="#Select.hint-3093"><span class="linenos">3093</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).hint(&quot;BROADCAST(y)&quot;).sql(dialect=&quot;spark&quot;)</span>
-</span><span id="Select.hint-3094"><a href="#Select.hint-3094"><span class="linenos">3094</span></a><span class="sd"> &#39;SELECT /*+ BROADCAST(y) */ x FROM tbl&#39;</span>
-</span><span id="Select.hint-3095"><a href="#Select.hint-3095"><span class="linenos">3095</span></a>
-</span><span id="Select.hint-3096"><a href="#Select.hint-3096"><span class="linenos">3096</span></a><span class="sd"> Args:</span>
-</span><span id="Select.hint-3097"><a href="#Select.hint-3097"><span class="linenos">3097</span></a><span class="sd"> hints: The SQL code strings to parse as the hints.</span>
-</span><span id="Select.hint-3098"><a href="#Select.hint-3098"><span class="linenos">3098</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="Select.hint-3099"><a href="#Select.hint-3099"><span class="linenos">3099</span></a><span class="sd"> dialect: The dialect used to parse the hints.</span>
-</span><span id="Select.hint-3100"><a href="#Select.hint-3100"><span class="linenos">3100</span></a><span class="sd"> copy: If `False`, modify this expression instance in-place.</span>
-</span><span id="Select.hint-3101"><a href="#Select.hint-3101"><span class="linenos">3101</span></a>
-</span><span id="Select.hint-3102"><a href="#Select.hint-3102"><span class="linenos">3102</span></a><span class="sd"> Returns:</span>
-</span><span id="Select.hint-3103"><a href="#Select.hint-3103"><span class="linenos">3103</span></a><span class="sd"> The modified expression.</span>
-</span><span id="Select.hint-3104"><a href="#Select.hint-3104"><span class="linenos">3104</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Select.hint-3105"><a href="#Select.hint-3105"><span class="linenos">3105</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Select.hint-3106"><a href="#Select.hint-3106"><span class="linenos">3106</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="Select.hint-3107"><a href="#Select.hint-3107"><span class="linenos">3107</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">,</span> <span class="n">Hint</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</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="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">hints</span><span class="p">])</span>
-</span><span id="Select.hint-3108"><a href="#Select.hint-3108"><span class="linenos">3108</span></a> <span class="p">)</span>
-</span><span id="Select.hint-3109"><a href="#Select.hint-3109"><span class="linenos">3109</span></a>
-</span><span id="Select.hint-3110"><a href="#Select.hint-3110"><span class="linenos">3110</span></a> <span class="k">return</span> <span class="n">inst</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Select.hint-3107"><a href="#Select.hint-3107"><span class="linenos">3107</span></a> <span class="k">def</span> <span class="nf">hint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">hints</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="Select.hint-3108"><a href="#Select.hint-3108"><span class="linenos">3108</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Select.hint-3109"><a href="#Select.hint-3109"><span class="linenos">3109</span></a><span class="sd"> Set hints for this expression.</span>
+</span><span id="Select.hint-3110"><a href="#Select.hint-3110"><span class="linenos">3110</span></a>
+</span><span id="Select.hint-3111"><a href="#Select.hint-3111"><span class="linenos">3111</span></a><span class="sd"> Examples:</span>
+</span><span id="Select.hint-3112"><a href="#Select.hint-3112"><span class="linenos">3112</span></a><span class="sd"> &gt;&gt;&gt; Select().select(&quot;x&quot;).from_(&quot;tbl&quot;).hint(&quot;BROADCAST(y)&quot;).sql(dialect=&quot;spark&quot;)</span>
+</span><span id="Select.hint-3113"><a href="#Select.hint-3113"><span class="linenos">3113</span></a><span class="sd"> &#39;SELECT /*+ BROADCAST(y) */ x FROM tbl&#39;</span>
+</span><span id="Select.hint-3114"><a href="#Select.hint-3114"><span class="linenos">3114</span></a>
+</span><span id="Select.hint-3115"><a href="#Select.hint-3115"><span class="linenos">3115</span></a><span class="sd"> Args:</span>
+</span><span id="Select.hint-3116"><a href="#Select.hint-3116"><span class="linenos">3116</span></a><span class="sd"> hints: The SQL code strings to parse as the hints.</span>
+</span><span id="Select.hint-3117"><a href="#Select.hint-3117"><span class="linenos">3117</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="Select.hint-3118"><a href="#Select.hint-3118"><span class="linenos">3118</span></a><span class="sd"> dialect: The dialect used to parse the hints.</span>
+</span><span id="Select.hint-3119"><a href="#Select.hint-3119"><span class="linenos">3119</span></a><span class="sd"> copy: If `False`, modify this expression instance in-place.</span>
+</span><span id="Select.hint-3120"><a href="#Select.hint-3120"><span class="linenos">3120</span></a>
+</span><span id="Select.hint-3121"><a href="#Select.hint-3121"><span class="linenos">3121</span></a><span class="sd"> Returns:</span>
+</span><span id="Select.hint-3122"><a href="#Select.hint-3122"><span class="linenos">3122</span></a><span class="sd"> The modified expression.</span>
+</span><span id="Select.hint-3123"><a href="#Select.hint-3123"><span class="linenos">3123</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Select.hint-3124"><a href="#Select.hint-3124"><span class="linenos">3124</span></a> <span class="n">inst</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Select.hint-3125"><a href="#Select.hint-3125"><span class="linenos">3125</span></a> <span class="n">inst</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="Select.hint-3126"><a href="#Select.hint-3126"><span class="linenos">3126</span></a> <span class="s2">&quot;hint&quot;</span><span class="p">,</span> <span class="n">Hint</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</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="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">hints</span><span class="p">])</span>
+</span><span id="Select.hint-3127"><a href="#Select.hint-3127"><span class="linenos">3127</span></a> <span class="p">)</span>
+</span><span id="Select.hint-3128"><a href="#Select.hint-3128"><span class="linenos">3128</span></a>
+</span><span id="Select.hint-3129"><a href="#Select.hint-3129"><span class="linenos">3129</span></a> <span class="k">return</span> <span class="n">inst</span>
</span></pre></div>
@@ -26643,6 +34673,17 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Select.named_selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">named_selects</span><span class="annotation">: List[str]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Select.named_selects"></a>
+
+
+
+ </div>
<div id="Select.is_star" class="classattr">
<div class="attr variable">
<span class="name">is_star</span><span class="annotation">: bool</span>
@@ -26656,11 +34697,39 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Select.selects" class="classattr">
+ <div class="attr variable">
+ <span class="name">selects</span><span class="annotation">: List[<a href="#Expression">sqlglot.expressions.Expression</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Select.selects"></a>
+
+
+
+ </div>
+ <div id="Select.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;select&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Select.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Select.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Select.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Select.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Select.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Select.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Select.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Select.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Select.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Select.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -26669,7 +34738,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Select.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
<dd id="Select.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Select.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Select.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Select.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Select.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Select.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Select.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Select.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Select.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Select.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -26701,6 +34774,7 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<div><dt><a href="#Subqueryable">Subqueryable</a></dt>
<dd id="Select.subquery" class="function"><a href="#Subqueryable.subquery">subquery</a></dd>
+ <dd id="Select.ctes" class="variable"><a href="#Subqueryable.ctes">ctes</a></dd>
<dd id="Select.with_" class="function"><a href="#Subqueryable.with_">with_</a></dd>
</div>
@@ -26724,35 +34798,48 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Subquery"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Subquery-3125"><a href="#Subquery-3125"><span class="linenos">3125</span></a><span class="k">class</span> <span class="nc">Subquery</span><span class="p">(</span><span class="n">DerivedTable</span><span class="p">,</span> <span class="n">Unionable</span><span class="p">):</span>
-</span><span id="Subquery-3126"><a href="#Subquery-3126"><span class="linenos">3126</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Subquery-3127"><a href="#Subquery-3127"><span class="linenos">3127</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Subquery-3128"><a href="#Subquery-3128"><span class="linenos">3128</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Subquery-3129"><a href="#Subquery-3129"><span class="linenos">3129</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Subquery-3130"><a href="#Subquery-3130"><span class="linenos">3130</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
-</span><span id="Subquery-3131"><a href="#Subquery-3131"><span class="linenos">3131</span></a> <span class="p">}</span>
-</span><span id="Subquery-3132"><a href="#Subquery-3132"><span class="linenos">3132</span></a>
-</span><span id="Subquery-3133"><a href="#Subquery-3133"><span class="linenos">3133</span></a> <span class="k">def</span> <span class="nf">unnest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Subquery-3134"><a href="#Subquery-3134"><span class="linenos">3134</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Subquery-3135"><a href="#Subquery-3135"><span class="linenos">3135</span></a><span class="sd"> Returns the first non subquery.</span>
-</span><span id="Subquery-3136"><a href="#Subquery-3136"><span class="linenos">3136</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Subquery-3137"><a href="#Subquery-3137"><span class="linenos">3137</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="bp">self</span>
-</span><span id="Subquery-3138"><a href="#Subquery-3138"><span class="linenos">3138</span></a> <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Subquery</span><span class="p">):</span>
-</span><span id="Subquery-3139"><a href="#Subquery-3139"><span class="linenos">3139</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span>
-</span><span id="Subquery-3140"><a href="#Subquery-3140"><span class="linenos">3140</span></a> <span class="k">return</span> <span class="n">expression</span>
-</span><span id="Subquery-3141"><a href="#Subquery-3141"><span class="linenos">3141</span></a>
-</span><span id="Subquery-3142"><a href="#Subquery-3142"><span class="linenos">3142</span></a> <span class="nd">@property</span>
-</span><span id="Subquery-3143"><a href="#Subquery-3143"><span class="linenos">3143</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Subquery-3144"><a href="#Subquery-3144"><span class="linenos">3144</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span>
-</span><span id="Subquery-3145"><a href="#Subquery-3145"><span class="linenos">3145</span></a>
-</span><span id="Subquery-3146"><a href="#Subquery-3146"><span class="linenos">3146</span></a> <span class="nd">@property</span>
-</span><span id="Subquery-3147"><a href="#Subquery-3147"><span class="linenos">3147</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Subquery-3148"><a href="#Subquery-3148"><span class="linenos">3148</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
-</span></pre></div>
-
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Subquery-3144"><a href="#Subquery-3144"><span class="linenos">3144</span></a><span class="k">class</span> <span class="nc">Subquery</span><span class="p">(</span><span class="n">DerivedTable</span><span class="p">,</span> <span class="n">Unionable</span><span class="p">):</span>
+</span><span id="Subquery-3145"><a href="#Subquery-3145"><span class="linenos">3145</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Subquery-3146"><a href="#Subquery-3146"><span class="linenos">3146</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Subquery-3147"><a href="#Subquery-3147"><span class="linenos">3147</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Subquery-3148"><a href="#Subquery-3148"><span class="linenos">3148</span></a> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Subquery-3149"><a href="#Subquery-3149"><span class="linenos">3149</span></a> <span class="o">**</span><span class="n">QUERY_MODIFIERS</span><span class="p">,</span>
+</span><span id="Subquery-3150"><a href="#Subquery-3150"><span class="linenos">3150</span></a> <span class="p">}</span>
+</span><span id="Subquery-3151"><a href="#Subquery-3151"><span class="linenos">3151</span></a>
+</span><span id="Subquery-3152"><a href="#Subquery-3152"><span class="linenos">3152</span></a> <span class="k">def</span> <span class="nf">unnest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Subquery-3153"><a href="#Subquery-3153"><span class="linenos">3153</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Subquery-3154"><a href="#Subquery-3154"><span class="linenos">3154</span></a><span class="sd"> Returns the first non subquery.</span>
+</span><span id="Subquery-3155"><a href="#Subquery-3155"><span class="linenos">3155</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Subquery-3156"><a href="#Subquery-3156"><span class="linenos">3156</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="bp">self</span>
+</span><span id="Subquery-3157"><a href="#Subquery-3157"><span class="linenos">3157</span></a> <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Subquery</span><span class="p">):</span>
+</span><span id="Subquery-3158"><a href="#Subquery-3158"><span class="linenos">3158</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span>
+</span><span id="Subquery-3159"><a href="#Subquery-3159"><span class="linenos">3159</span></a> <span class="k">return</span> <span class="n">expression</span>
+</span><span id="Subquery-3160"><a href="#Subquery-3160"><span class="linenos">3160</span></a>
+</span><span id="Subquery-3161"><a href="#Subquery-3161"><span class="linenos">3161</span></a> <span class="nd">@property</span>
+</span><span id="Subquery-3162"><a href="#Subquery-3162"><span class="linenos">3162</span></a> <span class="k">def</span> <span class="nf">is_star</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Subquery-3163"><a href="#Subquery-3163"><span class="linenos">3163</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">is_star</span>
+</span><span id="Subquery-3164"><a href="#Subquery-3164"><span class="linenos">3164</span></a>
+</span><span id="Subquery-3165"><a href="#Subquery-3165"><span class="linenos">3165</span></a> <span class="nd">@property</span>
+</span><span id="Subquery-3166"><a href="#Subquery-3166"><span class="linenos">3166</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Subquery-3167"><a href="#Subquery-3167"><span class="linenos">3167</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
+</span></pre></div>
+
+
+
+
+ <div id="Subquery.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Subquery.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Subquery.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;alias&#39;: False, &#39;with&#39;: False, &#39;match&#39;: False, &#39;laterals&#39;: False, &#39;joins&#39;: False, &#39;pivots&#39;: False, &#39;where&#39;: False, &#39;group&#39;: False, &#39;having&#39;: False, &#39;qualify&#39;: False, &#39;windows&#39;: False, &#39;distribute&#39;: False, &#39;sort&#39;: False, &#39;cluster&#39;: False, &#39;order&#39;: False, &#39;limit&#39;: False, &#39;offset&#39;: False, &#39;locks&#39;: False, &#39;sample&#39;: False, &#39;settings&#39;: False, &#39;format&#39;: False}</span>
+
+ </div>
+ <a class="headerlink" href="#Subquery.arg_types"></a>
+
+ </div>
<div id="Subquery.unnest" class="classattr">
<input id="Subquery.unnest-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -26764,14 +34851,14 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Subquery.unnest"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Subquery.unnest-3133"><a href="#Subquery.unnest-3133"><span class="linenos">3133</span></a> <span class="k">def</span> <span class="nf">unnest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Subquery.unnest-3134"><a href="#Subquery.unnest-3134"><span class="linenos">3134</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Subquery.unnest-3135"><a href="#Subquery.unnest-3135"><span class="linenos">3135</span></a><span class="sd"> Returns the first non subquery.</span>
-</span><span id="Subquery.unnest-3136"><a href="#Subquery.unnest-3136"><span class="linenos">3136</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Subquery.unnest-3137"><a href="#Subquery.unnest-3137"><span class="linenos">3137</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="bp">self</span>
-</span><span id="Subquery.unnest-3138"><a href="#Subquery.unnest-3138"><span class="linenos">3138</span></a> <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Subquery</span><span class="p">):</span>
-</span><span id="Subquery.unnest-3139"><a href="#Subquery.unnest-3139"><span class="linenos">3139</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span>
-</span><span id="Subquery.unnest-3140"><a href="#Subquery.unnest-3140"><span class="linenos">3140</span></a> <span class="k">return</span> <span class="n">expression</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Subquery.unnest-3152"><a href="#Subquery.unnest-3152"><span class="linenos">3152</span></a> <span class="k">def</span> <span class="nf">unnest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Subquery.unnest-3153"><a href="#Subquery.unnest-3153"><span class="linenos">3153</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Subquery.unnest-3154"><a href="#Subquery.unnest-3154"><span class="linenos">3154</span></a><span class="sd"> Returns the first non subquery.</span>
+</span><span id="Subquery.unnest-3155"><a href="#Subquery.unnest-3155"><span class="linenos">3155</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Subquery.unnest-3156"><a href="#Subquery.unnest-3156"><span class="linenos">3156</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="bp">self</span>
+</span><span id="Subquery.unnest-3157"><a href="#Subquery.unnest-3157"><span class="linenos">3157</span></a> <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">Subquery</span><span class="p">):</span>
+</span><span id="Subquery.unnest-3158"><a href="#Subquery.unnest-3158"><span class="linenos">3158</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span>
+</span><span id="Subquery.unnest-3159"><a href="#Subquery.unnest-3159"><span class="linenos">3159</span></a> <span class="k">return</span> <span class="n">expression</span>
</span></pre></div>
@@ -26823,11 +34910,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Subquery.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;subquery&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Subquery.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Subquery.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Subquery.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Subquery.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Subquery.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Subquery.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Subquery.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Subquery.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Subquery.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Subquery.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -26836,6 +34940,10 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Subquery.is_number" class="variable"><a href="#Expression.is_number">is_number</a></dd>
<dd id="Subquery.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Subquery.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Subquery.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Subquery.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Subquery.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Subquery.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Subquery.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Subquery.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Subquery.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -26864,6 +34972,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Subquery.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#DerivedTable">DerivedTable</a></dt>
+ <dd id="Subquery.alias_column_names" class="variable"><a href="#DerivedTable.alias_column_names">alias_column_names</a></dd>
+ <dd id="Subquery.selects" class="variable"><a href="#DerivedTable.selects">selects</a></dd>
+ <dd id="Subquery.named_selects" class="variable"><a href="#DerivedTable.named_selects">named_selects</a></dd>
+
+ </div>
<div><dt><a href="#Unionable">Unionable</a></dt>
<dd id="Subquery.union" class="function"><a href="#Unionable.union">union</a></dd>
<dd id="Subquery.intersect" class="function"><a href="#Unionable.intersect">intersect</a></dd>
@@ -26884,29 +34998,59 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#TableSample"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TableSample-3151"><a href="#TableSample-3151"><span class="linenos">3151</span></a><span class="k">class</span> <span class="nc">TableSample</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="TableSample-3152"><a href="#TableSample-3152"><span class="linenos">3152</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="TableSample-3153"><a href="#TableSample-3153"><span class="linenos">3153</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3154"><a href="#TableSample-3154"><span class="linenos">3154</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3155"><a href="#TableSample-3155"><span class="linenos">3155</span></a> <span class="s2">&quot;bucket_numerator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3156"><a href="#TableSample-3156"><span class="linenos">3156</span></a> <span class="s2">&quot;bucket_denominator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3157"><a href="#TableSample-3157"><span class="linenos">3157</span></a> <span class="s2">&quot;bucket_field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3158"><a href="#TableSample-3158"><span class="linenos">3158</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3159"><a href="#TableSample-3159"><span class="linenos">3159</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3160"><a href="#TableSample-3160"><span class="linenos">3160</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3161"><a href="#TableSample-3161"><span class="linenos">3161</span></a> <span class="s2">&quot;seed&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3162"><a href="#TableSample-3162"><span class="linenos">3162</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="TableSample-3163"><a href="#TableSample-3163"><span class="linenos">3163</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TableSample-3170"><a href="#TableSample-3170"><span class="linenos">3170</span></a><span class="k">class</span> <span class="nc">TableSample</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="TableSample-3171"><a href="#TableSample-3171"><span class="linenos">3171</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="TableSample-3172"><a href="#TableSample-3172"><span class="linenos">3172</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3173"><a href="#TableSample-3173"><span class="linenos">3173</span></a> <span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3174"><a href="#TableSample-3174"><span class="linenos">3174</span></a> <span class="s2">&quot;bucket_numerator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3175"><a href="#TableSample-3175"><span class="linenos">3175</span></a> <span class="s2">&quot;bucket_denominator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3176"><a href="#TableSample-3176"><span class="linenos">3176</span></a> <span class="s2">&quot;bucket_field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3177"><a href="#TableSample-3177"><span class="linenos">3177</span></a> <span class="s2">&quot;percent&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3178"><a href="#TableSample-3178"><span class="linenos">3178</span></a> <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3179"><a href="#TableSample-3179"><span class="linenos">3179</span></a> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3180"><a href="#TableSample-3180"><span class="linenos">3180</span></a> <span class="s2">&quot;seed&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3181"><a href="#TableSample-3181"><span class="linenos">3181</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="TableSample-3182"><a href="#TableSample-3182"><span class="linenos">3182</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="TableSample.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="TableSample.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="TableSample.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: False, &#39;method&#39;: False, &#39;bucket_numerator&#39;: False, &#39;bucket_denominator&#39;: False, &#39;bucket_field&#39;: False, &#39;percent&#39;: False, &#39;rows&#39;: False, &#39;size&#39;: False, &#39;seed&#39;: False, &#39;kind&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TableSample.arg_types"></a>
+
+
+
+ </div>
+ <div id="TableSample.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tablesample&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TableSample.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TableSample.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TableSample.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TableSample.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TableSample.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TableSample.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TableSample.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TableSample.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TableSample.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TableSample.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -26916,7 +35060,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="TableSample.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TableSample.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TableSample.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TableSample.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TableSample.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TableSample.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TableSample.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TableSample.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TableSample.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TableSample.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TableSample.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -26960,14 +35108,14 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Tag"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Tag-3166"><a href="#Tag-3166"><span class="linenos">3166</span></a><span class="k">class</span> <span class="nc">Tag</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Tag-3167"><a href="#Tag-3167"><span class="linenos">3167</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Tags are used for generating arbitrary sql like SELECT &lt;span&gt;x&lt;/span&gt;.&quot;&quot;&quot;</span>
-</span><span id="Tag-3168"><a href="#Tag-3168"><span class="linenos">3168</span></a>
-</span><span id="Tag-3169"><a href="#Tag-3169"><span class="linenos">3169</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Tag-3170"><a href="#Tag-3170"><span class="linenos">3170</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Tag-3171"><a href="#Tag-3171"><span class="linenos">3171</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Tag-3172"><a href="#Tag-3172"><span class="linenos">3172</span></a> <span class="s2">&quot;postfix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Tag-3173"><a href="#Tag-3173"><span class="linenos">3173</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Tag-3185"><a href="#Tag-3185"><span class="linenos">3185</span></a><span class="k">class</span> <span class="nc">Tag</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Tag-3186"><a href="#Tag-3186"><span class="linenos">3186</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Tags are used for generating arbitrary sql like SELECT &lt;span&gt;x&lt;/span&gt;.&quot;&quot;&quot;</span>
+</span><span id="Tag-3187"><a href="#Tag-3187"><span class="linenos">3187</span></a>
+</span><span id="Tag-3188"><a href="#Tag-3188"><span class="linenos">3188</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Tag-3189"><a href="#Tag-3189"><span class="linenos">3189</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Tag-3190"><a href="#Tag-3190"><span class="linenos">3190</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Tag-3191"><a href="#Tag-3191"><span class="linenos">3191</span></a> <span class="s2">&quot;postfix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Tag-3192"><a href="#Tag-3192"><span class="linenos">3192</span></a> <span class="p">}</span>
</span></pre></div>
@@ -26975,11 +35123,40 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Tag.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;prefix&#39;: False, &#39;postfix&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Tag.arg_types"></a>
+
+
+
+ </div>
+ <div id="Tag.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tag&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Tag.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Tag.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Tag.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Tag.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Tag.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Tag.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Tag.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Tag.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Tag.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Tag.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -26989,7 +35166,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Tag.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Tag.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Tag.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Tag.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Tag.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Tag.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Tag.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Tag.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Tag.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Tag.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Tag.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27033,27 +35214,57 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Pivot"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Pivot-3178"><a href="#Pivot-3178"><span class="linenos">3178</span></a><span class="k">class</span> <span class="nc">Pivot</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Pivot-3179"><a href="#Pivot-3179"><span class="linenos">3179</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Pivot-3180"><a href="#Pivot-3180"><span class="linenos">3180</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3181"><a href="#Pivot-3181"><span class="linenos">3181</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3182"><a href="#Pivot-3182"><span class="linenos">3182</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Pivot-3183"><a href="#Pivot-3183"><span class="linenos">3183</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3184"><a href="#Pivot-3184"><span class="linenos">3184</span></a> <span class="s2">&quot;unpivot&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3185"><a href="#Pivot-3185"><span class="linenos">3185</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3186"><a href="#Pivot-3186"><span class="linenos">3186</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3187"><a href="#Pivot-3187"><span class="linenos">3187</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Pivot-3188"><a href="#Pivot-3188"><span class="linenos">3188</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Pivot-3197"><a href="#Pivot-3197"><span class="linenos">3197</span></a><span class="k">class</span> <span class="nc">Pivot</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Pivot-3198"><a href="#Pivot-3198"><span class="linenos">3198</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Pivot-3199"><a href="#Pivot-3199"><span class="linenos">3199</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3200"><a href="#Pivot-3200"><span class="linenos">3200</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3201"><a href="#Pivot-3201"><span class="linenos">3201</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Pivot-3202"><a href="#Pivot-3202"><span class="linenos">3202</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3203"><a href="#Pivot-3203"><span class="linenos">3203</span></a> <span class="s2">&quot;unpivot&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3204"><a href="#Pivot-3204"><span class="linenos">3204</span></a> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3205"><a href="#Pivot-3205"><span class="linenos">3205</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3206"><a href="#Pivot-3206"><span class="linenos">3206</span></a> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Pivot-3207"><a href="#Pivot-3207"><span class="linenos">3207</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Pivot.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Pivot.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Pivot.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: False, &#39;alias&#39;: False, &#39;expressions&#39;: True, &#39;field&#39;: False, &#39;unpivot&#39;: False, &#39;using&#39;: False, &#39;group&#39;: False, &#39;columns&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Pivot.arg_types"></a>
+
+
+
+ </div>
+ <div id="Pivot.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;pivot&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Pivot.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Pivot.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Pivot.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Pivot.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Pivot.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Pivot.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Pivot.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Pivot.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Pivot.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Pivot.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27063,7 +35274,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Pivot.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Pivot.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Pivot.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Pivot.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Pivot.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Pivot.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Pivot.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Pivot.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Pivot.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Pivot.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Pivot.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27107,26 +35322,56 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Window"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Window-3191"><a href="#Window-3191"><span class="linenos">3191</span></a><span class="k">class</span> <span class="nc">Window</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Window-3192"><a href="#Window-3192"><span class="linenos">3192</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Window-3193"><a href="#Window-3193"><span class="linenos">3193</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Window-3194"><a href="#Window-3194"><span class="linenos">3194</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Window-3195"><a href="#Window-3195"><span class="linenos">3195</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Window-3196"><a href="#Window-3196"><span class="linenos">3196</span></a> <span class="s2">&quot;spec&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Window-3197"><a href="#Window-3197"><span class="linenos">3197</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Window-3198"><a href="#Window-3198"><span class="linenos">3198</span></a> <span class="s2">&quot;over&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Window-3199"><a href="#Window-3199"><span class="linenos">3199</span></a> <span class="s2">&quot;first&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Window-3200"><a href="#Window-3200"><span class="linenos">3200</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Window-3210"><a href="#Window-3210"><span class="linenos">3210</span></a><span class="k">class</span> <span class="nc">Window</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Window-3211"><a href="#Window-3211"><span class="linenos">3211</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Window-3212"><a href="#Window-3212"><span class="linenos">3212</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Window-3213"><a href="#Window-3213"><span class="linenos">3213</span></a> <span class="s2">&quot;partition_by&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Window-3214"><a href="#Window-3214"><span class="linenos">3214</span></a> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Window-3215"><a href="#Window-3215"><span class="linenos">3215</span></a> <span class="s2">&quot;spec&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Window-3216"><a href="#Window-3216"><span class="linenos">3216</span></a> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Window-3217"><a href="#Window-3217"><span class="linenos">3217</span></a> <span class="s2">&quot;over&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Window-3218"><a href="#Window-3218"><span class="linenos">3218</span></a> <span class="s2">&quot;first&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Window-3219"><a href="#Window-3219"><span class="linenos">3219</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Window.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="Window.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="Window.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;partition_by&#39;: False, &#39;order&#39;: False, &#39;spec&#39;: False, &#39;alias&#39;: False, &#39;over&#39;: False, &#39;first&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Window.arg_types"></a>
+
+
+
+ </div>
+ <div id="Window.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;window&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Window.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Window.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Window.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Window.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Window.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Window.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Window.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Window.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Window.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Window.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27136,7 +35381,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Window.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Window.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Window.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Window.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Window.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Window.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Window.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Window.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Window.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Window.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Window.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27180,24 +35429,53 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#WindowSpec"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="WindowSpec-3203"><a href="#WindowSpec-3203"><span class="linenos">3203</span></a><span class="k">class</span> <span class="nc">WindowSpec</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="WindowSpec-3204"><a href="#WindowSpec-3204"><span class="linenos">3204</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="WindowSpec-3205"><a href="#WindowSpec-3205"><span class="linenos">3205</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="WindowSpec-3206"><a href="#WindowSpec-3206"><span class="linenos">3206</span></a> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="WindowSpec-3207"><a href="#WindowSpec-3207"><span class="linenos">3207</span></a> <span class="s2">&quot;start_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="WindowSpec-3208"><a href="#WindowSpec-3208"><span class="linenos">3208</span></a> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="WindowSpec-3209"><a href="#WindowSpec-3209"><span class="linenos">3209</span></a> <span class="s2">&quot;end_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="WindowSpec-3210"><a href="#WindowSpec-3210"><span class="linenos">3210</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="WindowSpec-3222"><a href="#WindowSpec-3222"><span class="linenos">3222</span></a><span class="k">class</span> <span class="nc">WindowSpec</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="WindowSpec-3223"><a href="#WindowSpec-3223"><span class="linenos">3223</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="WindowSpec-3224"><a href="#WindowSpec-3224"><span class="linenos">3224</span></a> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="WindowSpec-3225"><a href="#WindowSpec-3225"><span class="linenos">3225</span></a> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="WindowSpec-3226"><a href="#WindowSpec-3226"><span class="linenos">3226</span></a> <span class="s2">&quot;start_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="WindowSpec-3227"><a href="#WindowSpec-3227"><span class="linenos">3227</span></a> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="WindowSpec-3228"><a href="#WindowSpec-3228"><span class="linenos">3228</span></a> <span class="s2">&quot;end_side&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="WindowSpec-3229"><a href="#WindowSpec-3229"><span class="linenos">3229</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="WindowSpec.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;kind&#39;: False, &#39;start&#39;: False, &#39;start_side&#39;: False, &#39;end&#39;: False, &#39;end_side&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#WindowSpec.arg_types"></a>
+
+
+
+ </div>
+ <div id="WindowSpec.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;windowspec&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#WindowSpec.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="WindowSpec.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="WindowSpec.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="WindowSpec.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="WindowSpec.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="WindowSpec.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="WindowSpec.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="WindowSpec.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="WindowSpec.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="WindowSpec.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27207,7 +35485,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="WindowSpec.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="WindowSpec.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="WindowSpec.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="WindowSpec.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="WindowSpec.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="WindowSpec.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="WindowSpec.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="WindowSpec.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="WindowSpec.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="WindowSpec.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="WindowSpec.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27251,18 +35533,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Where"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Where-3213"><a href="#Where-3213"><span class="linenos">3213</span></a><span class="k">class</span> <span class="nc">Where</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Where-3214"><a href="#Where-3214"><span class="linenos">3214</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Where-3232"><a href="#Where-3232"><span class="linenos">3232</span></a><span class="k">class</span> <span class="nc">Where</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Where-3233"><a href="#Where-3233"><span class="linenos">3233</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Where.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;where&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Where.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Where.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Where.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Where.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Where.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Where.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Where.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Where.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Where.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Where.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Where.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27272,7 +35572,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Where.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Where.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Where.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Where.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Where.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Where.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Where.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Where.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Where.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Where.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Where.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27316,21 +35620,44 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Star"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Star-3217"><a href="#Star-3217"><span class="linenos">3217</span></a><span class="k">class</span> <span class="nc">Star</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Star-3218"><a href="#Star-3218"><span class="linenos">3218</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;except&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Star-3219"><a href="#Star-3219"><span class="linenos">3219</span></a>
-</span><span id="Star-3220"><a href="#Star-3220"><span class="linenos">3220</span></a> <span class="nd">@property</span>
-</span><span id="Star-3221"><a href="#Star-3221"><span class="linenos">3221</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Star-3222"><a href="#Star-3222"><span class="linenos">3222</span></a> <span class="k">return</span> <span class="s2">&quot;*&quot;</span>
-</span><span id="Star-3223"><a href="#Star-3223"><span class="linenos">3223</span></a>
-</span><span id="Star-3224"><a href="#Star-3224"><span class="linenos">3224</span></a> <span class="nd">@property</span>
-</span><span id="Star-3225"><a href="#Star-3225"><span class="linenos">3225</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Star-3226"><a href="#Star-3226"><span class="linenos">3226</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Star-3236"><a href="#Star-3236"><span class="linenos">3236</span></a><span class="k">class</span> <span class="nc">Star</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Star-3237"><a href="#Star-3237"><span class="linenos">3237</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;except&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Star-3238"><a href="#Star-3238"><span class="linenos">3238</span></a>
+</span><span id="Star-3239"><a href="#Star-3239"><span class="linenos">3239</span></a> <span class="nd">@property</span>
+</span><span id="Star-3240"><a href="#Star-3240"><span class="linenos">3240</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Star-3241"><a href="#Star-3241"><span class="linenos">3241</span></a> <span class="k">return</span> <span class="s2">&quot;*&quot;</span>
+</span><span id="Star-3242"><a href="#Star-3242"><span class="linenos">3242</span></a>
+</span><span id="Star-3243"><a href="#Star-3243"><span class="linenos">3243</span></a> <span class="nd">@property</span>
+</span><span id="Star-3244"><a href="#Star-3244"><span class="linenos">3244</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Star-3245"><a href="#Star-3245"><span class="linenos">3245</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
</span></pre></div>
+ <div id="Star.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;except&#39;: False, &#39;replace&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Star.arg_types"></a>
+
+
+
+ </div>
+ <div id="Star.name" class="classattr">
+ <div class="attr variable">
+ <span class="name">name</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Star.name"></a>
+
+
+
+ </div>
<div id="Star.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -27361,11 +35688,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Star.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;star&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Star.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Star.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Star.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Star.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Star.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Star.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Star.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Star.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Star.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Star.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27375,6 +35719,9 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Star.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Star.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Star.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Star.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Star.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Star.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Star.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Star.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Star.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27418,18 +35765,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Parameter"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Parameter-3229"><a href="#Parameter-3229"><span class="linenos">3229</span></a><span class="k">class</span> <span class="nc">Parameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Parameter-3230"><a href="#Parameter-3230"><span class="linenos">3230</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;wrapped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Parameter-3248"><a href="#Parameter-3248"><span class="linenos">3248</span></a><span class="k">class</span> <span class="nc">Parameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Parameter-3249"><a href="#Parameter-3249"><span class="linenos">3249</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;wrapped&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Parameter.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;wrapped&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Parameter.arg_types"></a>
+
+
+
+ </div>
+ <div id="Parameter.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;parameter&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Parameter.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Parameter.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Parameter.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Parameter.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Parameter.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Parameter.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Parameter.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Parameter.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Parameter.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Parameter.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27439,7 +35815,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Parameter.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Parameter.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Parameter.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Parameter.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Parameter.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Parameter.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Parameter.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Parameter.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Parameter.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Parameter.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Parameter.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27498,18 +35878,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#SessionParameter"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SessionParameter-3233"><a href="#SessionParameter-3233"><span class="linenos">3233</span></a><span class="k">class</span> <span class="nc">SessionParameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="SessionParameter-3234"><a href="#SessionParameter-3234"><span class="linenos">3234</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SessionParameter-3252"><a href="#SessionParameter-3252"><span class="linenos">3252</span></a><span class="k">class</span> <span class="nc">SessionParameter</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="SessionParameter-3253"><a href="#SessionParameter-3253"><span class="linenos">3253</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="SessionParameter.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SessionParameter.arg_types"></a>
+
+
+
+ </div>
+ <div id="SessionParameter.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sessionparameter&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SessionParameter.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SessionParameter.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SessionParameter.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SessionParameter.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SessionParameter.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SessionParameter.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SessionParameter.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SessionParameter.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SessionParameter.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SessionParameter.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27519,7 +35928,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SessionParameter.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SessionParameter.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SessionParameter.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SessionParameter.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SessionParameter.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SessionParameter.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SessionParameter.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SessionParameter.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SessionParameter.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SessionParameter.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SessionParameter.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27578,18 +35991,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Placeholder"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Placeholder-3237"><a href="#Placeholder-3237"><span class="linenos">3237</span></a><span class="k">class</span> <span class="nc">Placeholder</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Placeholder-3238"><a href="#Placeholder-3238"><span class="linenos">3238</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Placeholder-3256"><a href="#Placeholder-3256"><span class="linenos">3256</span></a><span class="k">class</span> <span class="nc">Placeholder</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Placeholder-3257"><a href="#Placeholder-3257"><span class="linenos">3257</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Placeholder.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;kind&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Placeholder.arg_types"></a>
+
+
+
+ </div>
+ <div id="Placeholder.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;placeholder&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Placeholder.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Placeholder.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Placeholder.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Placeholder.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Placeholder.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Placeholder.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Placeholder.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Placeholder.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Placeholder.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Placeholder.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27599,7 +36041,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Placeholder.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Placeholder.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Placeholder.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Placeholder.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Placeholder.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Placeholder.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Placeholder.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Placeholder.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Placeholder.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Placeholder.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Placeholder.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27658,22 +36104,62 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Null"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Null-3241"><a href="#Null-3241"><span class="linenos">3241</span></a><span class="k">class</span> <span class="nc">Null</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Null-3242"><a href="#Null-3242"><span class="linenos">3242</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-</span><span id="Null-3243"><a href="#Null-3243"><span class="linenos">3243</span></a>
-</span><span id="Null-3244"><a href="#Null-3244"><span class="linenos">3244</span></a> <span class="nd">@property</span>
-</span><span id="Null-3245"><a href="#Null-3245"><span class="linenos">3245</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Null-3246"><a href="#Null-3246"><span class="linenos">3246</span></a> <span class="k">return</span> <span class="s2">&quot;NULL&quot;</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Null-3260"><a href="#Null-3260"><span class="linenos">3260</span></a><span class="k">class</span> <span class="nc">Null</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Null-3261"><a href="#Null-3261"><span class="linenos">3261</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+</span><span id="Null-3262"><a href="#Null-3262"><span class="linenos">3262</span></a>
+</span><span id="Null-3263"><a href="#Null-3263"><span class="linenos">3263</span></a> <span class="nd">@property</span>
+</span><span id="Null-3264"><a href="#Null-3264"><span class="linenos">3264</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Null-3265"><a href="#Null-3265"><span class="linenos">3265</span></a> <span class="k">return</span> <span class="s2">&quot;NULL&quot;</span>
</span></pre></div>
+ <div id="Null.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span><span class="annotation">: Dict[str, Any]</span> =
+<span class="default_value">{}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Null.arg_types"></a>
+
+
+
+ </div>
+ <div id="Null.name" class="classattr">
+ <div class="attr variable">
+ <span class="name">name</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Null.name"></a>
+
+
+
+ </div>
+ <div id="Null.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;null&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Null.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Null.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Null.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Null.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Null.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Null.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Null.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Null.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Null.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Null.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27683,7 +36169,10 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Null.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Null.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Null.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Null.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Null.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Null.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Null.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Null.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Null.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Null.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27742,18 +36231,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Boolean"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Boolean-3249"><a href="#Boolean-3249"><span class="linenos">3249</span></a><span class="k">class</span> <span class="nc">Boolean</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Boolean-3250"><a href="#Boolean-3250"><span class="linenos">3250</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Boolean-3268"><a href="#Boolean-3268"><span class="linenos">3268</span></a><span class="k">class</span> <span class="nc">Boolean</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Boolean-3269"><a href="#Boolean-3269"><span class="linenos">3269</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Boolean.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;boolean&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Boolean.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Boolean.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Boolean.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Boolean.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Boolean.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Boolean.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Boolean.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Boolean.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Boolean.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Boolean.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Boolean.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27763,7 +36270,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Boolean.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Boolean.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Boolean.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Boolean.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Boolean.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Boolean.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Boolean.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Boolean.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Boolean.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Boolean.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Boolean.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27822,18 +36333,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DataTypeSize"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DataTypeSize-3253"><a href="#DataTypeSize-3253"><span class="linenos">3253</span></a><span class="k">class</span> <span class="nc">DataTypeSize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="DataTypeSize-3254"><a href="#DataTypeSize-3254"><span class="linenos">3254</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DataTypeSize-3272"><a href="#DataTypeSize-3272"><span class="linenos">3272</span></a><span class="k">class</span> <span class="nc">DataTypeSize</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="DataTypeSize-3273"><a href="#DataTypeSize-3273"><span class="linenos">3273</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DataTypeSize.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataTypeSize.arg_types"></a>
+
+
+
+ </div>
+ <div id="DataTypeSize.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datatypesize&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataTypeSize.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DataTypeSize.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DataTypeSize.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DataTypeSize.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DataTypeSize.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DataTypeSize.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DataTypeSize.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DataTypeSize.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DataTypeSize.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DataTypeSize.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -27843,7 +36383,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DataTypeSize.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DataTypeSize.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DataTypeSize.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DataTypeSize.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DataTypeSize.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DataTypeSize.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DataTypeSize.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DataTypeSize.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DataTypeSize.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DataTypeSize.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DataTypeSize.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -27887,161 +36431,250 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DataType"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DataType-3257"><a href="#DataType-3257"><span class="linenos">3257</span></a><span class="k">class</span> <span class="nc">DataType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="DataType-3258"><a href="#DataType-3258"><span class="linenos">3258</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="DataType-3259"><a href="#DataType-3259"><span class="linenos">3259</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="DataType-3260"><a href="#DataType-3260"><span class="linenos">3260</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataType-3261"><a href="#DataType-3261"><span class="linenos">3261</span></a> <span class="s2">&quot;nested&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataType-3262"><a href="#DataType-3262"><span class="linenos">3262</span></a> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataType-3263"><a href="#DataType-3263"><span class="linenos">3263</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="DataType-3264"><a href="#DataType-3264"><span class="linenos">3264</span></a> <span class="p">}</span>
-</span><span id="DataType-3265"><a href="#DataType-3265"><span class="linenos">3265</span></a>
-</span><span id="DataType-3266"><a href="#DataType-3266"><span class="linenos">3266</span></a> <span class="k">class</span> <span class="nc">Type</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="DataType-3267"><a href="#DataType-3267"><span class="linenos">3267</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3268"><a href="#DataType-3268"><span class="linenos">3268</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3269"><a href="#DataType-3269"><span class="linenos">3269</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3270"><a href="#DataType-3270"><span class="linenos">3270</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3271"><a href="#DataType-3271"><span class="linenos">3271</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3272"><a href="#DataType-3272"><span class="linenos">3272</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3273"><a href="#DataType-3273"><span class="linenos">3273</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3274"><a href="#DataType-3274"><span class="linenos">3274</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3275"><a href="#DataType-3275"><span class="linenos">3275</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3276"><a href="#DataType-3276"><span class="linenos">3276</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3277"><a href="#DataType-3277"><span class="linenos">3277</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3278"><a href="#DataType-3278"><span class="linenos">3278</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3279"><a href="#DataType-3279"><span class="linenos">3279</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3280"><a href="#DataType-3280"><span class="linenos">3280</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3281"><a href="#DataType-3281"><span class="linenos">3281</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3282"><a href="#DataType-3282"><span class="linenos">3282</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3283"><a href="#DataType-3283"><span class="linenos">3283</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3284"><a href="#DataType-3284"><span class="linenos">3284</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3285"><a href="#DataType-3285"><span class="linenos">3285</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3286"><a href="#DataType-3286"><span class="linenos">3286</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3287"><a href="#DataType-3287"><span class="linenos">3287</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3288"><a href="#DataType-3288"><span class="linenos">3288</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3289"><a href="#DataType-3289"><span class="linenos">3289</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3290"><a href="#DataType-3290"><span class="linenos">3290</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3291"><a href="#DataType-3291"><span class="linenos">3291</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3292"><a href="#DataType-3292"><span class="linenos">3292</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3293"><a href="#DataType-3293"><span class="linenos">3293</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3294"><a href="#DataType-3294"><span class="linenos">3294</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3295"><a href="#DataType-3295"><span class="linenos">3295</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3296"><a href="#DataType-3296"><span class="linenos">3296</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3297"><a href="#DataType-3297"><span class="linenos">3297</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3298"><a href="#DataType-3298"><span class="linenos">3298</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3299"><a href="#DataType-3299"><span class="linenos">3299</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3300"><a href="#DataType-3300"><span class="linenos">3300</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3301"><a href="#DataType-3301"><span class="linenos">3301</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3302"><a href="#DataType-3302"><span class="linenos">3302</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3303"><a href="#DataType-3303"><span class="linenos">3303</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3304"><a href="#DataType-3304"><span class="linenos">3304</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3305"><a href="#DataType-3305"><span class="linenos">3305</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3306"><a href="#DataType-3306"><span class="linenos">3306</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3307"><a href="#DataType-3307"><span class="linenos">3307</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3308"><a href="#DataType-3308"><span class="linenos">3308</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3309"><a href="#DataType-3309"><span class="linenos">3309</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3310"><a href="#DataType-3310"><span class="linenos">3310</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3311"><a href="#DataType-3311"><span class="linenos">3311</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3312"><a href="#DataType-3312"><span class="linenos">3312</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3313"><a href="#DataType-3313"><span class="linenos">3313</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3314"><a href="#DataType-3314"><span class="linenos">3314</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3315"><a href="#DataType-3315"><span class="linenos">3315</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3316"><a href="#DataType-3316"><span class="linenos">3316</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3317"><a href="#DataType-3317"><span class="linenos">3317</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3318"><a href="#DataType-3318"><span class="linenos">3318</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3319"><a href="#DataType-3319"><span class="linenos">3319</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3320"><a href="#DataType-3320"><span class="linenos">3320</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3321"><a href="#DataType-3321"><span class="linenos">3321</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3322"><a href="#DataType-3322"><span class="linenos">3322</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3323"><a href="#DataType-3323"><span class="linenos">3323</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3324"><a href="#DataType-3324"><span class="linenos">3324</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3325"><a href="#DataType-3325"><span class="linenos">3325</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3326"><a href="#DataType-3326"><span class="linenos">3326</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3327"><a href="#DataType-3327"><span class="linenos">3327</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3328"><a href="#DataType-3328"><span class="linenos">3328</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3329"><a href="#DataType-3329"><span class="linenos">3329</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3330"><a href="#DataType-3330"><span class="linenos">3330</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3331"><a href="#DataType-3331"><span class="linenos">3331</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3332"><a href="#DataType-3332"><span class="linenos">3332</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3333"><a href="#DataType-3333"><span class="linenos">3333</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3334"><a href="#DataType-3334"><span class="linenos">3334</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3335"><a href="#DataType-3335"><span class="linenos">3335</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span> <span class="c1"># Sentinel value, useful for type annotation</span>
-</span><span id="DataType-3336"><a href="#DataType-3336"><span class="linenos">3336</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3337"><a href="#DataType-3337"><span class="linenos">3337</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3338"><a href="#DataType-3338"><span class="linenos">3338</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3339"><a href="#DataType-3339"><span class="linenos">3339</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3340"><a href="#DataType-3340"><span class="linenos">3340</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3341"><a href="#DataType-3341"><span class="linenos">3341</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3342"><a href="#DataType-3342"><span class="linenos">3342</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3343"><a href="#DataType-3343"><span class="linenos">3343</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType-3344"><a href="#DataType-3344"><span class="linenos">3344</span></a>
-</span><span id="DataType-3345"><a href="#DataType-3345"><span class="linenos">3345</span></a> <span class="n">TEXT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="DataType-3346"><a href="#DataType-3346"><span class="linenos">3346</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
-</span><span id="DataType-3347"><a href="#DataType-3347"><span class="linenos">3347</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
-</span><span id="DataType-3348"><a href="#DataType-3348"><span class="linenos">3348</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
-</span><span id="DataType-3349"><a href="#DataType-3349"><span class="linenos">3349</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
-</span><span id="DataType-3350"><a href="#DataType-3350"><span class="linenos">3350</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
-</span><span id="DataType-3351"><a href="#DataType-3351"><span class="linenos">3351</span></a> <span class="p">}</span>
-</span><span id="DataType-3352"><a href="#DataType-3352"><span class="linenos">3352</span></a>
-</span><span id="DataType-3353"><a href="#DataType-3353"><span class="linenos">3353</span></a> <span class="n">INTEGER_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="DataType-3354"><a href="#DataType-3354"><span class="linenos">3354</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
-</span><span id="DataType-3355"><a href="#DataType-3355"><span class="linenos">3355</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
-</span><span id="DataType-3356"><a href="#DataType-3356"><span class="linenos">3356</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
-</span><span id="DataType-3357"><a href="#DataType-3357"><span class="linenos">3357</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
-</span><span id="DataType-3358"><a href="#DataType-3358"><span class="linenos">3358</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
-</span><span id="DataType-3359"><a href="#DataType-3359"><span class="linenos">3359</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT256</span><span class="p">,</span>
-</span><span id="DataType-3360"><a href="#DataType-3360"><span class="linenos">3360</span></a> <span class="p">}</span>
-</span><span id="DataType-3361"><a href="#DataType-3361"><span class="linenos">3361</span></a>
-</span><span id="DataType-3362"><a href="#DataType-3362"><span class="linenos">3362</span></a> <span class="n">FLOAT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="DataType-3363"><a href="#DataType-3363"><span class="linenos">3363</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
-</span><span id="DataType-3364"><a href="#DataType-3364"><span class="linenos">3364</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
-</span><span id="DataType-3365"><a href="#DataType-3365"><span class="linenos">3365</span></a> <span class="p">}</span>
-</span><span id="DataType-3366"><a href="#DataType-3366"><span class="linenos">3366</span></a>
-</span><span id="DataType-3367"><a href="#DataType-3367"><span class="linenos">3367</span></a> <span class="n">NUMERIC_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="o">*</span><span class="n">INTEGER_TYPES</span><span class="p">,</span> <span class="o">*</span><span class="n">FLOAT_TYPES</span><span class="p">}</span>
-</span><span id="DataType-3368"><a href="#DataType-3368"><span class="linenos">3368</span></a>
-</span><span id="DataType-3369"><a href="#DataType-3369"><span class="linenos">3369</span></a> <span class="n">TEMPORAL_TYPES</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="DataType-3370"><a href="#DataType-3370"><span class="linenos">3370</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
-</span><span id="DataType-3371"><a href="#DataType-3371"><span class="linenos">3371</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
-</span><span id="DataType-3372"><a href="#DataType-3372"><span class="linenos">3372</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
-</span><span id="DataType-3373"><a href="#DataType-3373"><span class="linenos">3373</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
-</span><span id="DataType-3374"><a href="#DataType-3374"><span class="linenos">3374</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
-</span><span id="DataType-3375"><a href="#DataType-3375"><span class="linenos">3375</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
-</span><span id="DataType-3376"><a href="#DataType-3376"><span class="linenos">3376</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME64</span><span class="p">,</span>
-</span><span id="DataType-3377"><a href="#DataType-3377"><span class="linenos">3377</span></a> <span class="p">}</span>
-</span><span id="DataType-3378"><a href="#DataType-3378"><span class="linenos">3378</span></a>
-</span><span id="DataType-3379"><a href="#DataType-3379"><span class="linenos">3379</span></a> <span class="n">META_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;UNKNOWN&quot;</span><span class="p">,</span> <span class="s2">&quot;NULL&quot;</span><span class="p">}</span>
-</span><span id="DataType-3380"><a href="#DataType-3380"><span class="linenos">3380</span></a>
-</span><span id="DataType-3381"><a href="#DataType-3381"><span class="linenos">3381</span></a> <span class="nd">@classmethod</span>
-</span><span id="DataType-3382"><a href="#DataType-3382"><span class="linenos">3382</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span>
-</span><span id="DataType-3383"><a href="#DataType-3383"><span class="linenos">3383</span></a> <span class="bp">cls</span><span class="p">,</span> <span class="n">dtype</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span>
-</span><span id="DataType-3384"><a href="#DataType-3384"><span class="linenos">3384</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
-</span><span id="DataType-3385"><a href="#DataType-3385"><span class="linenos">3385</span></a> <span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">parse_one</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DataType-3276"><a href="#DataType-3276"><span class="linenos">3276</span></a><span class="k">class</span> <span class="nc">DataType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="DataType-3277"><a href="#DataType-3277"><span class="linenos">3277</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="DataType-3278"><a href="#DataType-3278"><span class="linenos">3278</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="DataType-3279"><a href="#DataType-3279"><span class="linenos">3279</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataType-3280"><a href="#DataType-3280"><span class="linenos">3280</span></a> <span class="s2">&quot;nested&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataType-3281"><a href="#DataType-3281"><span class="linenos">3281</span></a> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataType-3282"><a href="#DataType-3282"><span class="linenos">3282</span></a> <span class="s2">&quot;prefix&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="DataType-3283"><a href="#DataType-3283"><span class="linenos">3283</span></a> <span class="p">}</span>
+</span><span id="DataType-3284"><a href="#DataType-3284"><span class="linenos">3284</span></a>
+</span><span id="DataType-3285"><a href="#DataType-3285"><span class="linenos">3285</span></a> <span class="k">class</span> <span class="nc">Type</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
+</span><span id="DataType-3286"><a href="#DataType-3286"><span class="linenos">3286</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3287"><a href="#DataType-3287"><span class="linenos">3287</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3288"><a href="#DataType-3288"><span class="linenos">3288</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3289"><a href="#DataType-3289"><span class="linenos">3289</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3290"><a href="#DataType-3290"><span class="linenos">3290</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3291"><a href="#DataType-3291"><span class="linenos">3291</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3292"><a href="#DataType-3292"><span class="linenos">3292</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3293"><a href="#DataType-3293"><span class="linenos">3293</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3294"><a href="#DataType-3294"><span class="linenos">3294</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3295"><a href="#DataType-3295"><span class="linenos">3295</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3296"><a href="#DataType-3296"><span class="linenos">3296</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3297"><a href="#DataType-3297"><span class="linenos">3297</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3298"><a href="#DataType-3298"><span class="linenos">3298</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3299"><a href="#DataType-3299"><span class="linenos">3299</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3300"><a href="#DataType-3300"><span class="linenos">3300</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3301"><a href="#DataType-3301"><span class="linenos">3301</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3302"><a href="#DataType-3302"><span class="linenos">3302</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3303"><a href="#DataType-3303"><span class="linenos">3303</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3304"><a href="#DataType-3304"><span class="linenos">3304</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3305"><a href="#DataType-3305"><span class="linenos">3305</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3306"><a href="#DataType-3306"><span class="linenos">3306</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3307"><a href="#DataType-3307"><span class="linenos">3307</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3308"><a href="#DataType-3308"><span class="linenos">3308</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3309"><a href="#DataType-3309"><span class="linenos">3309</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3310"><a href="#DataType-3310"><span class="linenos">3310</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3311"><a href="#DataType-3311"><span class="linenos">3311</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3312"><a href="#DataType-3312"><span class="linenos">3312</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3313"><a href="#DataType-3313"><span class="linenos">3313</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3314"><a href="#DataType-3314"><span class="linenos">3314</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3315"><a href="#DataType-3315"><span class="linenos">3315</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3316"><a href="#DataType-3316"><span class="linenos">3316</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3317"><a href="#DataType-3317"><span class="linenos">3317</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3318"><a href="#DataType-3318"><span class="linenos">3318</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3319"><a href="#DataType-3319"><span class="linenos">3319</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3320"><a href="#DataType-3320"><span class="linenos">3320</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3321"><a href="#DataType-3321"><span class="linenos">3321</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3322"><a href="#DataType-3322"><span class="linenos">3322</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3323"><a href="#DataType-3323"><span class="linenos">3323</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3324"><a href="#DataType-3324"><span class="linenos">3324</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3325"><a href="#DataType-3325"><span class="linenos">3325</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3326"><a href="#DataType-3326"><span class="linenos">3326</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3327"><a href="#DataType-3327"><span class="linenos">3327</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3328"><a href="#DataType-3328"><span class="linenos">3328</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3329"><a href="#DataType-3329"><span class="linenos">3329</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3330"><a href="#DataType-3330"><span class="linenos">3330</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3331"><a href="#DataType-3331"><span class="linenos">3331</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3332"><a href="#DataType-3332"><span class="linenos">3332</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3333"><a href="#DataType-3333"><span class="linenos">3333</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3334"><a href="#DataType-3334"><span class="linenos">3334</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3335"><a href="#DataType-3335"><span class="linenos">3335</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3336"><a href="#DataType-3336"><span class="linenos">3336</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3337"><a href="#DataType-3337"><span class="linenos">3337</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3338"><a href="#DataType-3338"><span class="linenos">3338</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3339"><a href="#DataType-3339"><span class="linenos">3339</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3340"><a href="#DataType-3340"><span class="linenos">3340</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3341"><a href="#DataType-3341"><span class="linenos">3341</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3342"><a href="#DataType-3342"><span class="linenos">3342</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3343"><a href="#DataType-3343"><span class="linenos">3343</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3344"><a href="#DataType-3344"><span class="linenos">3344</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3345"><a href="#DataType-3345"><span class="linenos">3345</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3346"><a href="#DataType-3346"><span class="linenos">3346</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3347"><a href="#DataType-3347"><span class="linenos">3347</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3348"><a href="#DataType-3348"><span class="linenos">3348</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3349"><a href="#DataType-3349"><span class="linenos">3349</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3350"><a href="#DataType-3350"><span class="linenos">3350</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3351"><a href="#DataType-3351"><span class="linenos">3351</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3352"><a href="#DataType-3352"><span class="linenos">3352</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3353"><a href="#DataType-3353"><span class="linenos">3353</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3354"><a href="#DataType-3354"><span class="linenos">3354</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span> <span class="c1"># Sentinel value, useful for type annotation</span>
+</span><span id="DataType-3355"><a href="#DataType-3355"><span class="linenos">3355</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3356"><a href="#DataType-3356"><span class="linenos">3356</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3357"><a href="#DataType-3357"><span class="linenos">3357</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3358"><a href="#DataType-3358"><span class="linenos">3358</span></a> <span class="n">USERDEFINED</span> <span class="o">=</span> <span class="s2">&quot;USER-DEFINED&quot;</span>
+</span><span id="DataType-3359"><a href="#DataType-3359"><span class="linenos">3359</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3360"><a href="#DataType-3360"><span class="linenos">3360</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3361"><a href="#DataType-3361"><span class="linenos">3361</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3362"><a href="#DataType-3362"><span class="linenos">3362</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3363"><a href="#DataType-3363"><span class="linenos">3363</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType-3364"><a href="#DataType-3364"><span class="linenos">3364</span></a>
+</span><span id="DataType-3365"><a href="#DataType-3365"><span class="linenos">3365</span></a> <span class="n">TEXT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="DataType-3366"><a href="#DataType-3366"><span class="linenos">3366</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">CHAR</span><span class="p">,</span>
+</span><span id="DataType-3367"><a href="#DataType-3367"><span class="linenos">3367</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NCHAR</span><span class="p">,</span>
+</span><span id="DataType-3368"><a href="#DataType-3368"><span class="linenos">3368</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
+</span><span id="DataType-3369"><a href="#DataType-3369"><span class="linenos">3369</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">NVARCHAR</span><span class="p">,</span>
+</span><span id="DataType-3370"><a href="#DataType-3370"><span class="linenos">3370</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
+</span><span id="DataType-3371"><a href="#DataType-3371"><span class="linenos">3371</span></a> <span class="p">}</span>
+</span><span id="DataType-3372"><a href="#DataType-3372"><span class="linenos">3372</span></a>
+</span><span id="DataType-3373"><a href="#DataType-3373"><span class="linenos">3373</span></a> <span class="n">INTEGER_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="DataType-3374"><a href="#DataType-3374"><span class="linenos">3374</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
+</span><span id="DataType-3375"><a href="#DataType-3375"><span class="linenos">3375</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
+</span><span id="DataType-3376"><a href="#DataType-3376"><span class="linenos">3376</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">SMALLINT</span><span class="p">,</span>
+</span><span id="DataType-3377"><a href="#DataType-3377"><span class="linenos">3377</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">BIGINT</span><span class="p">,</span>
+</span><span id="DataType-3378"><a href="#DataType-3378"><span class="linenos">3378</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
+</span><span id="DataType-3379"><a href="#DataType-3379"><span class="linenos">3379</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">INT256</span><span class="p">,</span>
+</span><span id="DataType-3380"><a href="#DataType-3380"><span class="linenos">3380</span></a> <span class="p">}</span>
+</span><span id="DataType-3381"><a href="#DataType-3381"><span class="linenos">3381</span></a>
+</span><span id="DataType-3382"><a href="#DataType-3382"><span class="linenos">3382</span></a> <span class="n">FLOAT_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="DataType-3383"><a href="#DataType-3383"><span class="linenos">3383</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">FLOAT</span><span class="p">,</span>
+</span><span id="DataType-3384"><a href="#DataType-3384"><span class="linenos">3384</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DOUBLE</span><span class="p">,</span>
+</span><span id="DataType-3385"><a href="#DataType-3385"><span class="linenos">3385</span></a> <span class="p">}</span>
</span><span id="DataType-3386"><a href="#DataType-3386"><span class="linenos">3386</span></a>
-</span><span id="DataType-3387"><a href="#DataType-3387"><span class="linenos">3387</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="DataType-3388"><a href="#DataType-3388"><span class="linenos">3388</span></a> <span class="n">upper</span> <span class="o">=</span> <span class="n">dtype</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="DataType-3389"><a href="#DataType-3389"><span class="linenos">3389</span></a> <span class="k">if</span> <span class="n">upper</span> <span class="ow">in</span> <span class="n">DataType</span><span class="o">.</span><span class="n">META_TYPES</span><span class="p">:</span>
-</span><span id="DataType-3390"><a href="#DataType-3390"><span class="linenos">3390</span></a> <span class="n">data_type_exp</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">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">upper</span><span class="p">])</span>
-</span><span id="DataType-3391"><a href="#DataType-3391"><span class="linenos">3391</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="DataType-3392"><a href="#DataType-3392"><span class="linenos">3392</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">parse_one</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">DataType</span><span class="p">)</span>
-</span><span id="DataType-3393"><a href="#DataType-3393"><span class="linenos">3393</span></a>
-</span><span id="DataType-3394"><a href="#DataType-3394"><span class="linenos">3394</span></a> <span class="k">if</span> <span class="n">data_type_exp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="DataType-3395"><a href="#DataType-3395"><span class="linenos">3395</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unparsable data type value: </span><span class="si">{</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="DataType-3396"><a href="#DataType-3396"><span class="linenos">3396</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">):</span>
-</span><span id="DataType-3397"><a href="#DataType-3397"><span class="linenos">3397</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span>
-</span><span id="DataType-3398"><a href="#DataType-3398"><span class="linenos">3398</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="p">):</span>
-</span><span id="DataType-3399"><a href="#DataType-3399"><span class="linenos">3399</span></a> <span class="k">return</span> <span class="n">dtype</span>
-</span><span id="DataType-3400"><a href="#DataType-3400"><span class="linenos">3400</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="DataType-3401"><a href="#DataType-3401"><span class="linenos">3401</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid data type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="si">}</span><span class="s2">. Expected str or DataType.Type&quot;</span><span class="p">)</span>
-</span><span id="DataType-3402"><a href="#DataType-3402"><span class="linenos">3402</span></a>
-</span><span id="DataType-3403"><a href="#DataType-3403"><span class="linenos">3403</span></a> <span class="k">return</span> <span class="n">DataType</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="o">**</span><span class="n">data_type_exp</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">})</span>
-</span><span id="DataType-3404"><a href="#DataType-3404"><span class="linenos">3404</span></a>
-</span><span id="DataType-3405"><a href="#DataType-3405"><span class="linenos">3405</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="DataType-3406"><a href="#DataType-3406"><span class="linenos">3406</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">this</span> <span class="k">for</span> <span class="n">dtype</span> <span class="ow">in</span> <span class="n">dtypes</span><span class="p">)</span>
-</span></pre></div>
+</span><span id="DataType-3387"><a href="#DataType-3387"><span class="linenos">3387</span></a> <span class="n">NUMERIC_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="o">*</span><span class="n">INTEGER_TYPES</span><span class="p">,</span> <span class="o">*</span><span class="n">FLOAT_TYPES</span><span class="p">}</span>
+</span><span id="DataType-3388"><a href="#DataType-3388"><span class="linenos">3388</span></a>
+</span><span id="DataType-3389"><a href="#DataType-3389"><span class="linenos">3389</span></a> <span class="n">TEMPORAL_TYPES</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="DataType-3390"><a href="#DataType-3390"><span class="linenos">3390</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIME</span><span class="p">,</span>
+</span><span id="DataType-3391"><a href="#DataType-3391"><span class="linenos">3391</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">,</span>
+</span><span id="DataType-3392"><a href="#DataType-3392"><span class="linenos">3392</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">,</span>
+</span><span id="DataType-3393"><a href="#DataType-3393"><span class="linenos">3393</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPLTZ</span><span class="p">,</span>
+</span><span id="DataType-3394"><a href="#DataType-3394"><span class="linenos">3394</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">,</span>
+</span><span id="DataType-3395"><a href="#DataType-3395"><span class="linenos">3395</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">,</span>
+</span><span id="DataType-3396"><a href="#DataType-3396"><span class="linenos">3396</span></a> <span class="n">Type</span><span class="o">.</span><span class="n">DATETIME64</span><span class="p">,</span>
+</span><span id="DataType-3397"><a href="#DataType-3397"><span class="linenos">3397</span></a> <span class="p">}</span>
+</span><span id="DataType-3398"><a href="#DataType-3398"><span class="linenos">3398</span></a>
+</span><span id="DataType-3399"><a href="#DataType-3399"><span class="linenos">3399</span></a> <span class="n">META_TYPES</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;UNKNOWN&quot;</span><span class="p">,</span> <span class="s2">&quot;NULL&quot;</span><span class="p">}</span>
+</span><span id="DataType-3400"><a href="#DataType-3400"><span class="linenos">3400</span></a>
+</span><span id="DataType-3401"><a href="#DataType-3401"><span class="linenos">3401</span></a> <span class="nd">@classmethod</span>
+</span><span id="DataType-3402"><a href="#DataType-3402"><span class="linenos">3402</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span>
+</span><span id="DataType-3403"><a href="#DataType-3403"><span class="linenos">3403</span></a> <span class="bp">cls</span><span class="p">,</span> <span class="n">dtype</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span>
+</span><span id="DataType-3404"><a href="#DataType-3404"><span class="linenos">3404</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
+</span><span id="DataType-3405"><a href="#DataType-3405"><span class="linenos">3405</span></a> <span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">parse_one</span>
+</span><span id="DataType-3406"><a href="#DataType-3406"><span class="linenos">3406</span></a>
+</span><span id="DataType-3407"><a href="#DataType-3407"><span class="linenos">3407</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="DataType-3408"><a href="#DataType-3408"><span class="linenos">3408</span></a> <span class="n">upper</span> <span class="o">=</span> <span class="n">dtype</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="DataType-3409"><a href="#DataType-3409"><span class="linenos">3409</span></a> <span class="k">if</span> <span class="n">upper</span> <span class="ow">in</span> <span class="n">DataType</span><span class="o">.</span><span class="n">META_TYPES</span><span class="p">:</span>
+</span><span id="DataType-3410"><a href="#DataType-3410"><span class="linenos">3410</span></a> <span class="n">data_type_exp</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">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">upper</span><span class="p">])</span>
+</span><span id="DataType-3411"><a href="#DataType-3411"><span class="linenos">3411</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="DataType-3412"><a href="#DataType-3412"><span class="linenos">3412</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">parse_one</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">DataType</span><span class="p">)</span>
+</span><span id="DataType-3413"><a href="#DataType-3413"><span class="linenos">3413</span></a>
+</span><span id="DataType-3414"><a href="#DataType-3414"><span class="linenos">3414</span></a> <span class="k">if</span> <span class="n">data_type_exp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="DataType-3415"><a href="#DataType-3415"><span class="linenos">3415</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unparsable data type value: </span><span class="si">{</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="DataType-3416"><a href="#DataType-3416"><span class="linenos">3416</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">):</span>
+</span><span id="DataType-3417"><a href="#DataType-3417"><span class="linenos">3417</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span>
+</span><span id="DataType-3418"><a href="#DataType-3418"><span class="linenos">3418</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="p">):</span>
+</span><span id="DataType-3419"><a href="#DataType-3419"><span class="linenos">3419</span></a> <span class="k">return</span> <span class="n">dtype</span>
+</span><span id="DataType-3420"><a href="#DataType-3420"><span class="linenos">3420</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="DataType-3421"><a href="#DataType-3421"><span class="linenos">3421</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid data type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="si">}</span><span class="s2">. Expected str or DataType.Type&quot;</span><span class="p">)</span>
+</span><span id="DataType-3422"><a href="#DataType-3422"><span class="linenos">3422</span></a>
+</span><span id="DataType-3423"><a href="#DataType-3423"><span class="linenos">3423</span></a> <span class="k">return</span> <span class="n">DataType</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="o">**</span><span class="n">data_type_exp</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">})</span>
+</span><span id="DataType-3424"><a href="#DataType-3424"><span class="linenos">3424</span></a>
+</span><span id="DataType-3425"><a href="#DataType-3425"><span class="linenos">3425</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="DataType-3426"><a href="#DataType-3426"><span class="linenos">3426</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">this</span> <span class="k">for</span> <span class="n">dtype</span> <span class="ow">in</span> <span class="n">dtypes</span><span class="p">)</span>
+</span></pre></div>
+
+
+
+
+ <div id="DataType.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False, &#39;nested&#39;: False, &#39;values&#39;: False, &#39;prefix&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.arg_types"></a>
+
+
+
+ </div>
+ <div id="DataType.TEXT_TYPES" class="classattr">
+ <div class="attr variable">
+ <span class="name">TEXT_TYPES</span> =
+<input id="DataType.TEXT_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="DataType.TEXT_TYPES-view-value"></label><span class="default_value">{&lt;Type.CHAR: &#39;CHAR&#39;&gt;, &lt;Type.VARCHAR: &#39;VARCHAR&#39;&gt;, &lt;Type.NCHAR: &#39;NCHAR&#39;&gt;, &lt;Type.TEXT: &#39;TEXT&#39;&gt;, &lt;Type.NVARCHAR: &#39;NVARCHAR&#39;&gt;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.TEXT_TYPES"></a>
+
+
+
+ </div>
+ <div id="DataType.INTEGER_TYPES" class="classattr">
+ <div class="attr variable">
+ <span class="name">INTEGER_TYPES</span> =
+<input id="DataType.INTEGER_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="DataType.INTEGER_TYPES-view-value"></label><span class="default_value">{&lt;Type.BIGINT: &#39;BIGINT&#39;&gt;, &lt;Type.TINYINT: &#39;TINYINT&#39;&gt;, &lt;Type.INT: &#39;INT&#39;&gt;, &lt;Type.INT256: &#39;INT256&#39;&gt;, &lt;Type.SMALLINT: &#39;SMALLINT&#39;&gt;, &lt;Type.INT128: &#39;INT128&#39;&gt;}</span>
+
+ </div>
+ <a class="headerlink" href="#DataType.INTEGER_TYPES"></a>
+
+
+ </div>
+ <div id="DataType.FLOAT_TYPES" class="classattr">
+ <div class="attr variable">
+ <span class="name">FLOAT_TYPES</span> =
+<span class="default_value">{&lt;Type.FLOAT: &#39;FLOAT&#39;&gt;, &lt;Type.DOUBLE: &#39;DOUBLE&#39;&gt;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.FLOAT_TYPES"></a>
+
+ </div>
+ <div id="DataType.NUMERIC_TYPES" class="classattr">
+ <div class="attr variable">
+ <span class="name">NUMERIC_TYPES</span> =
+<input id="DataType.NUMERIC_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="DataType.NUMERIC_TYPES-view-value"></label><span class="default_value">{&lt;Type.SMALLINT: &#39;SMALLINT&#39;&gt;, &lt;Type.BIGINT: &#39;BIGINT&#39;&gt;, &lt;Type.INT128: &#39;INT128&#39;&gt;, &lt;Type.TINYINT: &#39;TINYINT&#39;&gt;, &lt;Type.DOUBLE: &#39;DOUBLE&#39;&gt;, &lt;Type.INT: &#39;INT&#39;&gt;, &lt;Type.INT256: &#39;INT256&#39;&gt;, &lt;Type.FLOAT: &#39;FLOAT&#39;&gt;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.NUMERIC_TYPES"></a>
+
+
+
+ </div>
+ <div id="DataType.TEMPORAL_TYPES" class="classattr">
+ <div class="attr variable">
+ <span class="name">TEMPORAL_TYPES</span> =
+<input id="DataType.TEMPORAL_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="DataType.TEMPORAL_TYPES-view-value"></label><span class="default_value">{&lt;Type.DATETIME: &#39;DATETIME&#39;&gt;, &lt;Type.DATE: &#39;DATE&#39;&gt;, &lt;Type.DATETIME64: &#39;DATETIME64&#39;&gt;, &lt;Type.TIMESTAMPTZ: &#39;TIMESTAMPTZ&#39;&gt;, &lt;Type.TIME: &#39;TIME&#39;&gt;, &lt;Type.TIMESTAMPLTZ: &#39;TIMESTAMPLTZ&#39;&gt;, &lt;Type.TIMESTAMP: &#39;TIMESTAMP&#39;&gt;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.TEMPORAL_TYPES"></a>
+
+
+
+ </div>
+ <div id="DataType.META_TYPES" class="classattr">
+ <div class="attr variable">
+ <span class="name">META_TYPES</span> =
+<span class="default_value">{&#39;NULL&#39;, &#39;UNKNOWN&#39;}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.META_TYPES"></a>
+
+
+
+ </div>
<div id="DataType.build" class="classattr">
<input id="DataType.build-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -28054,29 +36687,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DataType.build"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DataType.build-3381"><a href="#DataType.build-3381"><span class="linenos">3381</span></a> <span class="nd">@classmethod</span>
-</span><span id="DataType.build-3382"><a href="#DataType.build-3382"><span class="linenos">3382</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span>
-</span><span id="DataType.build-3383"><a href="#DataType.build-3383"><span class="linenos">3383</span></a> <span class="bp">cls</span><span class="p">,</span> <span class="n">dtype</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span>
-</span><span id="DataType.build-3384"><a href="#DataType.build-3384"><span class="linenos">3384</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
-</span><span id="DataType.build-3385"><a href="#DataType.build-3385"><span class="linenos">3385</span></a> <span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">parse_one</span>
-</span><span id="DataType.build-3386"><a href="#DataType.build-3386"><span class="linenos">3386</span></a>
-</span><span id="DataType.build-3387"><a href="#DataType.build-3387"><span class="linenos">3387</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="DataType.build-3388"><a href="#DataType.build-3388"><span class="linenos">3388</span></a> <span class="n">upper</span> <span class="o">=</span> <span class="n">dtype</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-</span><span id="DataType.build-3389"><a href="#DataType.build-3389"><span class="linenos">3389</span></a> <span class="k">if</span> <span class="n">upper</span> <span class="ow">in</span> <span class="n">DataType</span><span class="o">.</span><span class="n">META_TYPES</span><span class="p">:</span>
-</span><span id="DataType.build-3390"><a href="#DataType.build-3390"><span class="linenos">3390</span></a> <span class="n">data_type_exp</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">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">upper</span><span class="p">])</span>
-</span><span id="DataType.build-3391"><a href="#DataType.build-3391"><span class="linenos">3391</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="DataType.build-3392"><a href="#DataType.build-3392"><span class="linenos">3392</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">parse_one</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">DataType</span><span class="p">)</span>
-</span><span id="DataType.build-3393"><a href="#DataType.build-3393"><span class="linenos">3393</span></a>
-</span><span id="DataType.build-3394"><a href="#DataType.build-3394"><span class="linenos">3394</span></a> <span class="k">if</span> <span class="n">data_type_exp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="DataType.build-3395"><a href="#DataType.build-3395"><span class="linenos">3395</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unparsable data type value: </span><span class="si">{</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="DataType.build-3396"><a href="#DataType.build-3396"><span class="linenos">3396</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">):</span>
-</span><span id="DataType.build-3397"><a href="#DataType.build-3397"><span class="linenos">3397</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span>
-</span><span id="DataType.build-3398"><a href="#DataType.build-3398"><span class="linenos">3398</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="p">):</span>
-</span><span id="DataType.build-3399"><a href="#DataType.build-3399"><span class="linenos">3399</span></a> <span class="k">return</span> <span class="n">dtype</span>
-</span><span id="DataType.build-3400"><a href="#DataType.build-3400"><span class="linenos">3400</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="DataType.build-3401"><a href="#DataType.build-3401"><span class="linenos">3401</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid data type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="si">}</span><span class="s2">. Expected str or DataType.Type&quot;</span><span class="p">)</span>
-</span><span id="DataType.build-3402"><a href="#DataType.build-3402"><span class="linenos">3402</span></a>
-</span><span id="DataType.build-3403"><a href="#DataType.build-3403"><span class="linenos">3403</span></a> <span class="k">return</span> <span class="n">DataType</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="o">**</span><span class="n">data_type_exp</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">})</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DataType.build-3401"><a href="#DataType.build-3401"><span class="linenos">3401</span></a> <span class="nd">@classmethod</span>
+</span><span id="DataType.build-3402"><a href="#DataType.build-3402"><span class="linenos">3402</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span>
+</span><span id="DataType.build-3403"><a href="#DataType.build-3403"><span class="linenos">3403</span></a> <span class="bp">cls</span><span class="p">,</span> <span class="n">dtype</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span>
+</span><span id="DataType.build-3404"><a href="#DataType.build-3404"><span class="linenos">3404</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
+</span><span id="DataType.build-3405"><a href="#DataType.build-3405"><span class="linenos">3405</span></a> <span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">parse_one</span>
+</span><span id="DataType.build-3406"><a href="#DataType.build-3406"><span class="linenos">3406</span></a>
+</span><span id="DataType.build-3407"><a href="#DataType.build-3407"><span class="linenos">3407</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="DataType.build-3408"><a href="#DataType.build-3408"><span class="linenos">3408</span></a> <span class="n">upper</span> <span class="o">=</span> <span class="n">dtype</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+</span><span id="DataType.build-3409"><a href="#DataType.build-3409"><span class="linenos">3409</span></a> <span class="k">if</span> <span class="n">upper</span> <span class="ow">in</span> <span class="n">DataType</span><span class="o">.</span><span class="n">META_TYPES</span><span class="p">:</span>
+</span><span id="DataType.build-3410"><a href="#DataType.build-3410"><span class="linenos">3410</span></a> <span class="n">data_type_exp</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">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">upper</span><span class="p">])</span>
+</span><span id="DataType.build-3411"><a href="#DataType.build-3411"><span class="linenos">3411</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="DataType.build-3412"><a href="#DataType.build-3412"><span class="linenos">3412</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">parse_one</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">DataType</span><span class="p">)</span>
+</span><span id="DataType.build-3413"><a href="#DataType.build-3413"><span class="linenos">3413</span></a>
+</span><span id="DataType.build-3414"><a href="#DataType.build-3414"><span class="linenos">3414</span></a> <span class="k">if</span> <span class="n">data_type_exp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="DataType.build-3415"><a href="#DataType.build-3415"><span class="linenos">3415</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unparsable data type value: </span><span class="si">{</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="DataType.build-3416"><a href="#DataType.build-3416"><span class="linenos">3416</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">):</span>
+</span><span id="DataType.build-3417"><a href="#DataType.build-3417"><span class="linenos">3417</span></a> <span class="n">data_type_exp</span> <span class="o">=</span> <span class="n">DataType</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span>
+</span><span id="DataType.build-3418"><a href="#DataType.build-3418"><span class="linenos">3418</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span> <span class="n">DataType</span><span class="p">):</span>
+</span><span id="DataType.build-3419"><a href="#DataType.build-3419"><span class="linenos">3419</span></a> <span class="k">return</span> <span class="n">dtype</span>
+</span><span id="DataType.build-3420"><a href="#DataType.build-3420"><span class="linenos">3420</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="DataType.build-3421"><a href="#DataType.build-3421"><span class="linenos">3421</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid data type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="si">}</span><span class="s2">. Expected str or DataType.Type&quot;</span><span class="p">)</span>
+</span><span id="DataType.build-3422"><a href="#DataType.build-3422"><span class="linenos">3422</span></a>
+</span><span id="DataType.build-3423"><a href="#DataType.build-3423"><span class="linenos">3423</span></a> <span class="k">return</span> <span class="n">DataType</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="o">**</span><span class="n">data_type_exp</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">})</span>
</span></pre></div>
@@ -28094,19 +36727,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DataType.is_type"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DataType.is_type-3405"><a href="#DataType.is_type-3405"><span class="linenos">3405</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="DataType.is_type-3406"><a href="#DataType.is_type-3406"><span class="linenos">3406</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">this</span> <span class="k">for</span> <span class="n">dtype</span> <span class="ow">in</span> <span class="n">dtypes</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DataType.is_type-3425"><a href="#DataType.is_type-3425"><span class="linenos">3425</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="DataType.is_type-3426"><a href="#DataType.is_type-3426"><span class="linenos">3426</span></a> <span class="k">return</span> <span class="nb">any</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">this</span> <span class="k">for</span> <span class="n">dtype</span> <span class="ow">in</span> <span class="n">dtypes</span><span class="p">)</span>
</span></pre></div>
</div>
+ <div id="DataType.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datatype&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DataType.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DataType.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DataType.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DataType.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DataType.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DataType.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DataType.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DataType.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DataType.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -28116,7 +36766,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DataType.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DataType.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DataType.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DataType.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DataType.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DataType.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DataType.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DataType.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DataType.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DataType.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DataType.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -28160,84 +36814,85 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DataType.Type"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DataType.Type-3266"><a href="#DataType.Type-3266"><span class="linenos">3266</span></a> <span class="k">class</span> <span class="nc">Type</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
-</span><span id="DataType.Type-3267"><a href="#DataType.Type-3267"><span class="linenos">3267</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3268"><a href="#DataType.Type-3268"><span class="linenos">3268</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3269"><a href="#DataType.Type-3269"><span class="linenos">3269</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3270"><a href="#DataType.Type-3270"><span class="linenos">3270</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3271"><a href="#DataType.Type-3271"><span class="linenos">3271</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3272"><a href="#DataType.Type-3272"><span class="linenos">3272</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3273"><a href="#DataType.Type-3273"><span class="linenos">3273</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3274"><a href="#DataType.Type-3274"><span class="linenos">3274</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3275"><a href="#DataType.Type-3275"><span class="linenos">3275</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3276"><a href="#DataType.Type-3276"><span class="linenos">3276</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3277"><a href="#DataType.Type-3277"><span class="linenos">3277</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3278"><a href="#DataType.Type-3278"><span class="linenos">3278</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3279"><a href="#DataType.Type-3279"><span class="linenos">3279</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3280"><a href="#DataType.Type-3280"><span class="linenos">3280</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3281"><a href="#DataType.Type-3281"><span class="linenos">3281</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3282"><a href="#DataType.Type-3282"><span class="linenos">3282</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3283"><a href="#DataType.Type-3283"><span class="linenos">3283</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3284"><a href="#DataType.Type-3284"><span class="linenos">3284</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3285"><a href="#DataType.Type-3285"><span class="linenos">3285</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3286"><a href="#DataType.Type-3286"><span class="linenos">3286</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3287"><a href="#DataType.Type-3287"><span class="linenos">3287</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3288"><a href="#DataType.Type-3288"><span class="linenos">3288</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3289"><a href="#DataType.Type-3289"><span class="linenos">3289</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3290"><a href="#DataType.Type-3290"><span class="linenos">3290</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3291"><a href="#DataType.Type-3291"><span class="linenos">3291</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3292"><a href="#DataType.Type-3292"><span class="linenos">3292</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3293"><a href="#DataType.Type-3293"><span class="linenos">3293</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3294"><a href="#DataType.Type-3294"><span class="linenos">3294</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3295"><a href="#DataType.Type-3295"><span class="linenos">3295</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3296"><a href="#DataType.Type-3296"><span class="linenos">3296</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3297"><a href="#DataType.Type-3297"><span class="linenos">3297</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3298"><a href="#DataType.Type-3298"><span class="linenos">3298</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3299"><a href="#DataType.Type-3299"><span class="linenos">3299</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3300"><a href="#DataType.Type-3300"><span class="linenos">3300</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3301"><a href="#DataType.Type-3301"><span class="linenos">3301</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3302"><a href="#DataType.Type-3302"><span class="linenos">3302</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3303"><a href="#DataType.Type-3303"><span class="linenos">3303</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3304"><a href="#DataType.Type-3304"><span class="linenos">3304</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3305"><a href="#DataType.Type-3305"><span class="linenos">3305</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3306"><a href="#DataType.Type-3306"><span class="linenos">3306</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3307"><a href="#DataType.Type-3307"><span class="linenos">3307</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3308"><a href="#DataType.Type-3308"><span class="linenos">3308</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3309"><a href="#DataType.Type-3309"><span class="linenos">3309</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3310"><a href="#DataType.Type-3310"><span class="linenos">3310</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3311"><a href="#DataType.Type-3311"><span class="linenos">3311</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3312"><a href="#DataType.Type-3312"><span class="linenos">3312</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3313"><a href="#DataType.Type-3313"><span class="linenos">3313</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3314"><a href="#DataType.Type-3314"><span class="linenos">3314</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3315"><a href="#DataType.Type-3315"><span class="linenos">3315</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3316"><a href="#DataType.Type-3316"><span class="linenos">3316</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3317"><a href="#DataType.Type-3317"><span class="linenos">3317</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3318"><a href="#DataType.Type-3318"><span class="linenos">3318</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3319"><a href="#DataType.Type-3319"><span class="linenos">3319</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3320"><a href="#DataType.Type-3320"><span class="linenos">3320</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3321"><a href="#DataType.Type-3321"><span class="linenos">3321</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3322"><a href="#DataType.Type-3322"><span class="linenos">3322</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3323"><a href="#DataType.Type-3323"><span class="linenos">3323</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3324"><a href="#DataType.Type-3324"><span class="linenos">3324</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3325"><a href="#DataType.Type-3325"><span class="linenos">3325</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3326"><a href="#DataType.Type-3326"><span class="linenos">3326</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3327"><a href="#DataType.Type-3327"><span class="linenos">3327</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3328"><a href="#DataType.Type-3328"><span class="linenos">3328</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3329"><a href="#DataType.Type-3329"><span class="linenos">3329</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3330"><a href="#DataType.Type-3330"><span class="linenos">3330</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3331"><a href="#DataType.Type-3331"><span class="linenos">3331</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3332"><a href="#DataType.Type-3332"><span class="linenos">3332</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3333"><a href="#DataType.Type-3333"><span class="linenos">3333</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3334"><a href="#DataType.Type-3334"><span class="linenos">3334</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3335"><a href="#DataType.Type-3335"><span class="linenos">3335</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span> <span class="c1"># Sentinel value, useful for type annotation</span>
-</span><span id="DataType.Type-3336"><a href="#DataType.Type-3336"><span class="linenos">3336</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3337"><a href="#DataType.Type-3337"><span class="linenos">3337</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3338"><a href="#DataType.Type-3338"><span class="linenos">3338</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3339"><a href="#DataType.Type-3339"><span class="linenos">3339</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3340"><a href="#DataType.Type-3340"><span class="linenos">3340</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3341"><a href="#DataType.Type-3341"><span class="linenos">3341</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3342"><a href="#DataType.Type-3342"><span class="linenos">3342</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
-</span><span id="DataType.Type-3343"><a href="#DataType.Type-3343"><span class="linenos">3343</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DataType.Type-3285"><a href="#DataType.Type-3285"><span class="linenos">3285</span></a> <span class="k">class</span> <span class="nc">Type</span><span class="p">(</span><span class="n">AutoName</span><span class="p">):</span>
+</span><span id="DataType.Type-3286"><a href="#DataType.Type-3286"><span class="linenos">3286</span></a> <span class="n">ARRAY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3287"><a href="#DataType.Type-3287"><span class="linenos">3287</span></a> <span class="n">BIGDECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3288"><a href="#DataType.Type-3288"><span class="linenos">3288</span></a> <span class="n">BIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3289"><a href="#DataType.Type-3289"><span class="linenos">3289</span></a> <span class="n">BIGSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3290"><a href="#DataType.Type-3290"><span class="linenos">3290</span></a> <span class="n">BINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3291"><a href="#DataType.Type-3291"><span class="linenos">3291</span></a> <span class="n">BIT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3292"><a href="#DataType.Type-3292"><span class="linenos">3292</span></a> <span class="n">BOOLEAN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3293"><a href="#DataType.Type-3293"><span class="linenos">3293</span></a> <span class="n">CHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3294"><a href="#DataType.Type-3294"><span class="linenos">3294</span></a> <span class="n">DATE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3295"><a href="#DataType.Type-3295"><span class="linenos">3295</span></a> <span class="n">DATETIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3296"><a href="#DataType.Type-3296"><span class="linenos">3296</span></a> <span class="n">DATETIME64</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3297"><a href="#DataType.Type-3297"><span class="linenos">3297</span></a> <span class="n">ENUM</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3298"><a href="#DataType.Type-3298"><span class="linenos">3298</span></a> <span class="n">INT4RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3299"><a href="#DataType.Type-3299"><span class="linenos">3299</span></a> <span class="n">INT4MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3300"><a href="#DataType.Type-3300"><span class="linenos">3300</span></a> <span class="n">INT8RANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3301"><a href="#DataType.Type-3301"><span class="linenos">3301</span></a> <span class="n">INT8MULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3302"><a href="#DataType.Type-3302"><span class="linenos">3302</span></a> <span class="n">NUMRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3303"><a href="#DataType.Type-3303"><span class="linenos">3303</span></a> <span class="n">NUMMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3304"><a href="#DataType.Type-3304"><span class="linenos">3304</span></a> <span class="n">TSRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3305"><a href="#DataType.Type-3305"><span class="linenos">3305</span></a> <span class="n">TSMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3306"><a href="#DataType.Type-3306"><span class="linenos">3306</span></a> <span class="n">TSTZRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3307"><a href="#DataType.Type-3307"><span class="linenos">3307</span></a> <span class="n">TSTZMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3308"><a href="#DataType.Type-3308"><span class="linenos">3308</span></a> <span class="n">DATERANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3309"><a href="#DataType.Type-3309"><span class="linenos">3309</span></a> <span class="n">DATEMULTIRANGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3310"><a href="#DataType.Type-3310"><span class="linenos">3310</span></a> <span class="n">DECIMAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3311"><a href="#DataType.Type-3311"><span class="linenos">3311</span></a> <span class="n">DOUBLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3312"><a href="#DataType.Type-3312"><span class="linenos">3312</span></a> <span class="n">FLOAT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3313"><a href="#DataType.Type-3313"><span class="linenos">3313</span></a> <span class="n">GEOGRAPHY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3314"><a href="#DataType.Type-3314"><span class="linenos">3314</span></a> <span class="n">GEOMETRY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3315"><a href="#DataType.Type-3315"><span class="linenos">3315</span></a> <span class="n">HLLSKETCH</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3316"><a href="#DataType.Type-3316"><span class="linenos">3316</span></a> <span class="n">HSTORE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3317"><a href="#DataType.Type-3317"><span class="linenos">3317</span></a> <span class="n">IMAGE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3318"><a href="#DataType.Type-3318"><span class="linenos">3318</span></a> <span class="n">INET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3319"><a href="#DataType.Type-3319"><span class="linenos">3319</span></a> <span class="n">INT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3320"><a href="#DataType.Type-3320"><span class="linenos">3320</span></a> <span class="n">INT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3321"><a href="#DataType.Type-3321"><span class="linenos">3321</span></a> <span class="n">INT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3322"><a href="#DataType.Type-3322"><span class="linenos">3322</span></a> <span class="n">INTERVAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3323"><a href="#DataType.Type-3323"><span class="linenos">3323</span></a> <span class="n">JSON</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3324"><a href="#DataType.Type-3324"><span class="linenos">3324</span></a> <span class="n">JSONB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3325"><a href="#DataType.Type-3325"><span class="linenos">3325</span></a> <span class="n">LONGBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3326"><a href="#DataType.Type-3326"><span class="linenos">3326</span></a> <span class="n">LONGTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3327"><a href="#DataType.Type-3327"><span class="linenos">3327</span></a> <span class="n">MAP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3328"><a href="#DataType.Type-3328"><span class="linenos">3328</span></a> <span class="n">MEDIUMBLOB</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3329"><a href="#DataType.Type-3329"><span class="linenos">3329</span></a> <span class="n">MEDIUMTEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3330"><a href="#DataType.Type-3330"><span class="linenos">3330</span></a> <span class="n">MONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3331"><a href="#DataType.Type-3331"><span class="linenos">3331</span></a> <span class="n">NCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3332"><a href="#DataType.Type-3332"><span class="linenos">3332</span></a> <span class="n">NULL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3333"><a href="#DataType.Type-3333"><span class="linenos">3333</span></a> <span class="n">NULLABLE</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3334"><a href="#DataType.Type-3334"><span class="linenos">3334</span></a> <span class="n">NVARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3335"><a href="#DataType.Type-3335"><span class="linenos">3335</span></a> <span class="n">OBJECT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3336"><a href="#DataType.Type-3336"><span class="linenos">3336</span></a> <span class="n">ROWVERSION</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3337"><a href="#DataType.Type-3337"><span class="linenos">3337</span></a> <span class="n">SERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3338"><a href="#DataType.Type-3338"><span class="linenos">3338</span></a> <span class="n">SET</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3339"><a href="#DataType.Type-3339"><span class="linenos">3339</span></a> <span class="n">SMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3340"><a href="#DataType.Type-3340"><span class="linenos">3340</span></a> <span class="n">SMALLMONEY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3341"><a href="#DataType.Type-3341"><span class="linenos">3341</span></a> <span class="n">SMALLSERIAL</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3342"><a href="#DataType.Type-3342"><span class="linenos">3342</span></a> <span class="n">STRUCT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3343"><a href="#DataType.Type-3343"><span class="linenos">3343</span></a> <span class="n">SUPER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3344"><a href="#DataType.Type-3344"><span class="linenos">3344</span></a> <span class="n">TEXT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3345"><a href="#DataType.Type-3345"><span class="linenos">3345</span></a> <span class="n">TIME</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3346"><a href="#DataType.Type-3346"><span class="linenos">3346</span></a> <span class="n">TIMESTAMP</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3347"><a href="#DataType.Type-3347"><span class="linenos">3347</span></a> <span class="n">TIMESTAMPTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3348"><a href="#DataType.Type-3348"><span class="linenos">3348</span></a> <span class="n">TIMESTAMPLTZ</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3349"><a href="#DataType.Type-3349"><span class="linenos">3349</span></a> <span class="n">TINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3350"><a href="#DataType.Type-3350"><span class="linenos">3350</span></a> <span class="n">UBIGINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3351"><a href="#DataType.Type-3351"><span class="linenos">3351</span></a> <span class="n">UINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3352"><a href="#DataType.Type-3352"><span class="linenos">3352</span></a> <span class="n">USMALLINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3353"><a href="#DataType.Type-3353"><span class="linenos">3353</span></a> <span class="n">UTINYINT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3354"><a href="#DataType.Type-3354"><span class="linenos">3354</span></a> <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span> <span class="c1"># Sentinel value, useful for type annotation</span>
+</span><span id="DataType.Type-3355"><a href="#DataType.Type-3355"><span class="linenos">3355</span></a> <span class="n">UINT128</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3356"><a href="#DataType.Type-3356"><span class="linenos">3356</span></a> <span class="n">UINT256</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3357"><a href="#DataType.Type-3357"><span class="linenos">3357</span></a> <span class="n">UNIQUEIDENTIFIER</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3358"><a href="#DataType.Type-3358"><span class="linenos">3358</span></a> <span class="n">USERDEFINED</span> <span class="o">=</span> <span class="s2">&quot;USER-DEFINED&quot;</span>
+</span><span id="DataType.Type-3359"><a href="#DataType.Type-3359"><span class="linenos">3359</span></a> <span class="n">UUID</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3360"><a href="#DataType.Type-3360"><span class="linenos">3360</span></a> <span class="n">VARBINARY</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3361"><a href="#DataType.Type-3361"><span class="linenos">3361</span></a> <span class="n">VARCHAR</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3362"><a href="#DataType.Type-3362"><span class="linenos">3362</span></a> <span class="n">VARIANT</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
+</span><span id="DataType.Type-3363"><a href="#DataType.Type-3363"><span class="linenos">3363</span></a> <span class="n">XML</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
</span></pre></div>
@@ -29109,6 +37764,18 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="DataType.Type.USERDEFINED" class="classattr">
+ <div class="attr variable">
+ <span class="name">USERDEFINED</span> =
+<span class="default_value">&lt;Type.USERDEFINED: &#39;USER-DEFINED&#39;&gt;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DataType.Type.USERDEFINED"></a>
+
+
+
+ </div>
<div id="DataType.Type.UUID" class="classattr">
<div class="attr variable">
<span class="name">UUID</span> =
@@ -29191,18 +37858,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#PseudoType"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="PseudoType-3410"><a href="#PseudoType-3410"><span class="linenos">3410</span></a><span class="k">class</span> <span class="nc">PseudoType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="PseudoType-3411"><a href="#PseudoType-3411"><span class="linenos">3411</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="PseudoType-3430"><a href="#PseudoType-3430"><span class="linenos">3430</span></a><span class="k">class</span> <span class="nc">PseudoType</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="PseudoType-3431"><a href="#PseudoType-3431"><span class="linenos">3431</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="PseudoType.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;pseudotype&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PseudoType.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PseudoType.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PseudoType.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="PseudoType.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PseudoType.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PseudoType.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PseudoType.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PseudoType.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PseudoType.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PseudoType.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PseudoType.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29212,7 +37897,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="PseudoType.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PseudoType.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PseudoType.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PseudoType.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PseudoType.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PseudoType.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PseudoType.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PseudoType.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PseudoType.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PseudoType.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PseudoType.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29256,18 +37945,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#SubqueryPredicate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SubqueryPredicate-3415"><a href="#SubqueryPredicate-3415"><span class="linenos">3415</span></a><span class="k">class</span> <span class="nc">SubqueryPredicate</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
-</span><span id="SubqueryPredicate-3416"><a href="#SubqueryPredicate-3416"><span class="linenos">3416</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SubqueryPredicate-3435"><a href="#SubqueryPredicate-3435"><span class="linenos">3435</span></a><span class="k">class</span> <span class="nc">SubqueryPredicate</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
+</span><span id="SubqueryPredicate-3436"><a href="#SubqueryPredicate-3436"><span class="linenos">3436</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="SubqueryPredicate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;subquerypredicate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SubqueryPredicate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SubqueryPredicate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SubqueryPredicate.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="SubqueryPredicate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SubqueryPredicate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SubqueryPredicate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SubqueryPredicate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SubqueryPredicate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SubqueryPredicate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SubqueryPredicate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SubqueryPredicate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29277,7 +37984,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SubqueryPredicate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SubqueryPredicate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SubqueryPredicate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SubqueryPredicate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SubqueryPredicate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SubqueryPredicate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SubqueryPredicate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SubqueryPredicate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SubqueryPredicate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SubqueryPredicate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SubqueryPredicate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29336,18 +38047,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#All"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="All-3419"><a href="#All-3419"><span class="linenos">3419</span></a><span class="k">class</span> <span class="nc">All</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
-</span><span id="All-3420"><a href="#All-3420"><span class="linenos">3420</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="All-3439"><a href="#All-3439"><span class="linenos">3439</span></a><span class="k">class</span> <span class="nc">All</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
+</span><span id="All-3440"><a href="#All-3440"><span class="linenos">3440</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="All.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;all&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#All.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="All.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="All.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="All.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="All.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="All.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="All.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="All.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="All.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="All.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="All.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29357,7 +38086,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="All.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="All.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="All.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="All.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="All.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="All.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="All.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="All.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="All.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="All.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="All.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29416,18 +38149,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Any"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Any-3423"><a href="#Any-3423"><span class="linenos">3423</span></a><span class="k">class</span> <span class="nc">Any</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
-</span><span id="Any-3424"><a href="#Any-3424"><span class="linenos">3424</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Any-3443"><a href="#Any-3443"><span class="linenos">3443</span></a><span class="k">class</span> <span class="nc">Any</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
+</span><span id="Any-3444"><a href="#Any-3444"><span class="linenos">3444</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Any.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;any&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Any.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Any.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Any.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Any.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Any.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Any.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Any.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Any.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Any.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Any.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Any.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29437,7 +38188,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Any.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Any.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Any.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Any.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Any.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Any.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Any.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Any.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Any.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Any.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Any.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29496,18 +38251,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Exists"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Exists-3427"><a href="#Exists-3427"><span class="linenos">3427</span></a><span class="k">class</span> <span class="nc">Exists</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
-</span><span id="Exists-3428"><a href="#Exists-3428"><span class="linenos">3428</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Exists-3447"><a href="#Exists-3447"><span class="linenos">3447</span></a><span class="k">class</span> <span class="nc">Exists</span><span class="p">(</span><span class="n">SubqueryPredicate</span><span class="p">):</span>
+</span><span id="Exists-3448"><a href="#Exists-3448"><span class="linenos">3448</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Exists.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;exists&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Exists.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Exists.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Exists.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Exists.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Exists.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Exists.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Exists.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Exists.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Exists.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Exists.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Exists.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29517,7 +38290,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Exists.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Exists.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Exists.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Exists.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Exists.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Exists.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Exists.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Exists.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Exists.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Exists.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Exists.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29576,18 +38353,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Command"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Command-3433"><a href="#Command-3433"><span class="linenos">3433</span></a><span class="k">class</span> <span class="nc">Command</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Command-3434"><a href="#Command-3434"><span class="linenos">3434</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Command-3453"><a href="#Command-3453"><span class="linenos">3453</span></a><span class="k">class</span> <span class="nc">Command</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Command-3454"><a href="#Command-3454"><span class="linenos">3454</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Command.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Command.arg_types"></a>
+
+
+
+ </div>
+ <div id="Command.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;command&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Command.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Command.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Command.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Command.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Command.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Command.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Command.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Command.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Command.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Command.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29597,7 +38403,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Command.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Command.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Command.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Command.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Command.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Command.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Command.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Command.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Command.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Command.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Command.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29641,18 +38451,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Transaction"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Transaction-3437"><a href="#Transaction-3437"><span class="linenos">3437</span></a><span class="k">class</span> <span class="nc">Transaction</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Transaction-3438"><a href="#Transaction-3438"><span class="linenos">3438</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;modes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Transaction-3457"><a href="#Transaction-3457"><span class="linenos">3457</span></a><span class="k">class</span> <span class="nc">Transaction</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Transaction-3458"><a href="#Transaction-3458"><span class="linenos">3458</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;modes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Transaction.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;modes&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Transaction.arg_types"></a>
+
+
+
+ </div>
+ <div id="Transaction.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;transaction&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Transaction.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Transaction.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Transaction.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Transaction.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Transaction.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Transaction.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Transaction.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Transaction.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Transaction.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Transaction.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29662,7 +38501,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Transaction.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Transaction.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Transaction.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Transaction.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Transaction.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Transaction.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Transaction.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Transaction.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Transaction.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Transaction.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Transaction.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29706,18 +38549,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Commit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Commit-3441"><a href="#Commit-3441"><span class="linenos">3441</span></a><span class="k">class</span> <span class="nc">Commit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Commit-3442"><a href="#Commit-3442"><span class="linenos">3442</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;chain&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Commit-3461"><a href="#Commit-3461"><span class="linenos">3461</span></a><span class="k">class</span> <span class="nc">Commit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Commit-3462"><a href="#Commit-3462"><span class="linenos">3462</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;chain&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Commit.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;chain&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Commit.arg_types"></a>
+
+
+
+ </div>
+ <div id="Commit.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;commit&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Commit.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Commit.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Commit.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Commit.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Commit.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Commit.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Commit.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Commit.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Commit.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Commit.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29727,7 +38599,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Commit.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Commit.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Commit.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Commit.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Commit.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Commit.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Commit.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Commit.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Commit.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Commit.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Commit.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29771,18 +38647,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Rollback"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Rollback-3445"><a href="#Rollback-3445"><span class="linenos">3445</span></a><span class="k">class</span> <span class="nc">Rollback</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Rollback-3446"><a href="#Rollback-3446"><span class="linenos">3446</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;savepoint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Rollback-3465"><a href="#Rollback-3465"><span class="linenos">3465</span></a><span class="k">class</span> <span class="nc">Rollback</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Rollback-3466"><a href="#Rollback-3466"><span class="linenos">3466</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;savepoint&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Rollback.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;savepoint&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Rollback.arg_types"></a>
+
+
+
+ </div>
+ <div id="Rollback.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rollback&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Rollback.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Rollback.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Rollback.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Rollback.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Rollback.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Rollback.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Rollback.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Rollback.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Rollback.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Rollback.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29792,7 +38697,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Rollback.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Rollback.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Rollback.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Rollback.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Rollback.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Rollback.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Rollback.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Rollback.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Rollback.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Rollback.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Rollback.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29836,18 +38745,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#AlterTable"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AlterTable-3449"><a href="#AlterTable-3449"><span class="linenos">3449</span></a><span class="k">class</span> <span class="nc">AlterTable</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="AlterTable-3450"><a href="#AlterTable-3450"><span class="linenos">3450</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;actions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AlterTable-3469"><a href="#AlterTable-3469"><span class="linenos">3469</span></a><span class="k">class</span> <span class="nc">AlterTable</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="AlterTable-3470"><a href="#AlterTable-3470"><span class="linenos">3470</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;actions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="AlterTable.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;actions&#39;: True, &#39;exists&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#AlterTable.arg_types"></a>
+
+
+
+ </div>
+ <div id="AlterTable.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;altertable&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AlterTable.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AlterTable.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AlterTable.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AlterTable.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AlterTable.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AlterTable.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AlterTable.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AlterTable.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AlterTable.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AlterTable.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29857,7 +38795,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="AlterTable.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AlterTable.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AlterTable.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AlterTable.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AlterTable.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AlterTable.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AlterTable.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AlterTable.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AlterTable.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AlterTable.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AlterTable.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29901,18 +38843,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#AddConstraint"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AddConstraint-3453"><a href="#AddConstraint-3453"><span class="linenos">3453</span></a><span class="k">class</span> <span class="nc">AddConstraint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="AddConstraint-3454"><a href="#AddConstraint-3454"><span class="linenos">3454</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;enforced&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AddConstraint-3473"><a href="#AddConstraint-3473"><span class="linenos">3473</span></a><span class="k">class</span> <span class="nc">AddConstraint</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="AddConstraint-3474"><a href="#AddConstraint-3474"><span class="linenos">3474</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;enforced&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="AddConstraint.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: False, &#39;enforced&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#AddConstraint.arg_types"></a>
+
+
+
+ </div>
+ <div id="AddConstraint.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;addconstraint&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AddConstraint.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AddConstraint.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AddConstraint.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AddConstraint.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AddConstraint.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AddConstraint.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AddConstraint.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AddConstraint.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AddConstraint.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AddConstraint.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29922,7 +38893,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="AddConstraint.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AddConstraint.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AddConstraint.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AddConstraint.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AddConstraint.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AddConstraint.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AddConstraint.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AddConstraint.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AddConstraint.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AddConstraint.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AddConstraint.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -29966,18 +38941,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DropPartition"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DropPartition-3457"><a href="#DropPartition-3457"><span class="linenos">3457</span></a><span class="k">class</span> <span class="nc">DropPartition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="DropPartition-3458"><a href="#DropPartition-3458"><span class="linenos">3458</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DropPartition-3477"><a href="#DropPartition-3477"><span class="linenos">3477</span></a><span class="k">class</span> <span class="nc">DropPartition</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="DropPartition-3478"><a href="#DropPartition-3478"><span class="linenos">3478</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;exists&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DropPartition.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True, &#39;exists&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DropPartition.arg_types"></a>
+
+
+
+ </div>
+ <div id="DropPartition.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;droppartition&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DropPartition.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DropPartition.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DropPartition.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DropPartition.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DropPartition.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DropPartition.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DropPartition.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DropPartition.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DropPartition.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DropPartition.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -29987,7 +38991,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DropPartition.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DropPartition.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DropPartition.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DropPartition.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DropPartition.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DropPartition.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DropPartition.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DropPartition.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DropPartition.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DropPartition.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DropPartition.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30031,26 +39039,77 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Binary"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Binary-3462"><a href="#Binary-3462"><span class="linenos">3462</span></a><span class="k">class</span> <span class="nc">Binary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Binary-3463"><a href="#Binary-3463"><span class="linenos">3463</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Binary-3464"><a href="#Binary-3464"><span class="linenos">3464</span></a>
-</span><span id="Binary-3465"><a href="#Binary-3465"><span class="linenos">3465</span></a> <span class="nd">@property</span>
-</span><span id="Binary-3466"><a href="#Binary-3466"><span class="linenos">3466</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Binary-3467"><a href="#Binary-3467"><span class="linenos">3467</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
-</span><span id="Binary-3468"><a href="#Binary-3468"><span class="linenos">3468</span></a>
-</span><span id="Binary-3469"><a href="#Binary-3469"><span class="linenos">3469</span></a> <span class="nd">@property</span>
-</span><span id="Binary-3470"><a href="#Binary-3470"><span class="linenos">3470</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Binary-3471"><a href="#Binary-3471"><span class="linenos">3471</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Binary-3482"><a href="#Binary-3482"><span class="linenos">3482</span></a><span class="k">class</span> <span class="nc">Binary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Binary-3483"><a href="#Binary-3483"><span class="linenos">3483</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Binary-3484"><a href="#Binary-3484"><span class="linenos">3484</span></a>
+</span><span id="Binary-3485"><a href="#Binary-3485"><span class="linenos">3485</span></a> <span class="nd">@property</span>
+</span><span id="Binary-3486"><a href="#Binary-3486"><span class="linenos">3486</span></a> <span class="k">def</span> <span class="nf">left</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Binary-3487"><a href="#Binary-3487"><span class="linenos">3487</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span>
+</span><span id="Binary-3488"><a href="#Binary-3488"><span class="linenos">3488</span></a>
+</span><span id="Binary-3489"><a href="#Binary-3489"><span class="linenos">3489</span></a> <span class="nd">@property</span>
+</span><span id="Binary-3490"><a href="#Binary-3490"><span class="linenos">3490</span></a> <span class="k">def</span> <span class="nf">right</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Binary-3491"><a href="#Binary-3491"><span class="linenos">3491</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span>
</span></pre></div>
+ <div id="Binary.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Binary.arg_types"></a>
+
+
+
+ </div>
+ <div id="Binary.left" class="classattr">
+ <div class="attr variable">
+ <span class="name">left</span>
+
+
+ </div>
+ <a class="headerlink" href="#Binary.left"></a>
+
+
+
+ </div>
+ <div id="Binary.right" class="classattr">
+ <div class="attr variable">
+ <span class="name">right</span>
+
+
+ </div>
+ <a class="headerlink" href="#Binary.right"></a>
+
+
+
+ </div>
+ <div id="Binary.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;binary&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Binary.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Binary.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Binary.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Binary.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Binary.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Binary.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Binary.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Binary.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Binary.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Binary.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30060,7 +39119,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Binary.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Binary.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Binary.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Binary.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Binary.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Binary.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Binary.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Binary.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Binary.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Binary.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Binary.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30119,18 +39182,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Add"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Add-3474"><a href="#Add-3474"><span class="linenos">3474</span></a><span class="k">class</span> <span class="nc">Add</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Add-3475"><a href="#Add-3475"><span class="linenos">3475</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Add-3494"><a href="#Add-3494"><span class="linenos">3494</span></a><span class="k">class</span> <span class="nc">Add</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Add-3495"><a href="#Add-3495"><span class="linenos">3495</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Add.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;add&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Add.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Add.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Add.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Add.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Add.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Add.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Add.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Add.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Add.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Add.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30140,7 +39220,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Add.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Add.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Add.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Add.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Add.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Add.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Add.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Add.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Add.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Add.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Add.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30170,6 +39254,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Add.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Add.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Add.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Add.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Add.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Add.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30199,18 +39289,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Connector"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Connector-3478"><a href="#Connector-3478"><span class="linenos">3478</span></a><span class="k">class</span> <span class="nc">Connector</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Connector-3479"><a href="#Connector-3479"><span class="linenos">3479</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Connector-3498"><a href="#Connector-3498"><span class="linenos">3498</span></a><span class="k">class</span> <span class="nc">Connector</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Connector-3499"><a href="#Connector-3499"><span class="linenos">3499</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Connector.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;connector&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Connector.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Connector.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Connector.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Connector.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Connector.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Connector.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Connector.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Connector.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Connector.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Connector.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30220,7 +39327,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Connector.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Connector.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Connector.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Connector.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Connector.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Connector.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Connector.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Connector.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Connector.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Connector.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Connector.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30250,6 +39361,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Connector.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Connector.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Connector.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Connector.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Connector.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Connector.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30279,18 +39396,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#And"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="And-3482"><a href="#And-3482"><span class="linenos">3482</span></a><span class="k">class</span> <span class="nc">And</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
-</span><span id="And-3483"><a href="#And-3483"><span class="linenos">3483</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="And-3502"><a href="#And-3502"><span class="linenos">3502</span></a><span class="k">class</span> <span class="nc">And</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
+</span><span id="And-3503"><a href="#And-3503"><span class="linenos">3503</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="And.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;and&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#And.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="And.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="And.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="And.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="And.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="And.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="And.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="And.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="And.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="And.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30300,7 +39434,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="And.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="And.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="And.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="And.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="And.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="And.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="And.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="And.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="And.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="And.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="And.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30330,6 +39468,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="And.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="And.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="And.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="And.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="And.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="And.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30359,18 +39503,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Or"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Or-3486"><a href="#Or-3486"><span class="linenos">3486</span></a><span class="k">class</span> <span class="nc">Or</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
-</span><span id="Or-3487"><a href="#Or-3487"><span class="linenos">3487</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Or-3506"><a href="#Or-3506"><span class="linenos">3506</span></a><span class="k">class</span> <span class="nc">Or</span><span class="p">(</span><span class="n">Connector</span><span class="p">):</span>
+</span><span id="Or-3507"><a href="#Or-3507"><span class="linenos">3507</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Or.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;or&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Or.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Or.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Or.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Or.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Or.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Or.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Or.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Or.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Or.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Or.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30380,7 +39541,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Or.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Or.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Or.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Or.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Or.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Or.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Or.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Or.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Or.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Or.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Or.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30410,6 +39575,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Or.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Or.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Or.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Or.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Or.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Or.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30439,18 +39610,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#BitwiseAnd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseAnd-3490"><a href="#BitwiseAnd-3490"><span class="linenos">3490</span></a><span class="k">class</span> <span class="nc">BitwiseAnd</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="BitwiseAnd-3491"><a href="#BitwiseAnd-3491"><span class="linenos">3491</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseAnd-3510"><a href="#BitwiseAnd-3510"><span class="linenos">3510</span></a><span class="k">class</span> <span class="nc">BitwiseAnd</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="BitwiseAnd-3511"><a href="#BitwiseAnd-3511"><span class="linenos">3511</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="BitwiseAnd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitwiseand&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitwiseAnd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitwiseAnd.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitwiseAnd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitwiseAnd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitwiseAnd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitwiseAnd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitwiseAnd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitwiseAnd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitwiseAnd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitwiseAnd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30460,7 +39648,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseAnd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitwiseAnd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitwiseAnd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitwiseAnd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitwiseAnd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitwiseAnd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitwiseAnd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitwiseAnd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitwiseAnd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitwiseAnd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitwiseAnd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30490,6 +39682,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseAnd.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="BitwiseAnd.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="BitwiseAnd.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="BitwiseAnd.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="BitwiseAnd.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="BitwiseAnd.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30519,18 +39717,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#BitwiseLeftShift"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseLeftShift-3494"><a href="#BitwiseLeftShift-3494"><span class="linenos">3494</span></a><span class="k">class</span> <span class="nc">BitwiseLeftShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="BitwiseLeftShift-3495"><a href="#BitwiseLeftShift-3495"><span class="linenos">3495</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseLeftShift-3514"><a href="#BitwiseLeftShift-3514"><span class="linenos">3514</span></a><span class="k">class</span> <span class="nc">BitwiseLeftShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="BitwiseLeftShift-3515"><a href="#BitwiseLeftShift-3515"><span class="linenos">3515</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="BitwiseLeftShift.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitwiseleftshift&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitwiseLeftShift.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitwiseLeftShift.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitwiseLeftShift.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitwiseLeftShift.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitwiseLeftShift.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitwiseLeftShift.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitwiseLeftShift.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitwiseLeftShift.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitwiseLeftShift.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitwiseLeftShift.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30540,7 +39755,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseLeftShift.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitwiseLeftShift.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitwiseLeftShift.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitwiseLeftShift.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitwiseLeftShift.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitwiseLeftShift.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitwiseLeftShift.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitwiseLeftShift.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitwiseLeftShift.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitwiseLeftShift.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitwiseLeftShift.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30570,6 +39789,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseLeftShift.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="BitwiseLeftShift.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="BitwiseLeftShift.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="BitwiseLeftShift.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="BitwiseLeftShift.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="BitwiseLeftShift.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30599,18 +39824,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#BitwiseOr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseOr-3498"><a href="#BitwiseOr-3498"><span class="linenos">3498</span></a><span class="k">class</span> <span class="nc">BitwiseOr</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="BitwiseOr-3499"><a href="#BitwiseOr-3499"><span class="linenos">3499</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseOr-3518"><a href="#BitwiseOr-3518"><span class="linenos">3518</span></a><span class="k">class</span> <span class="nc">BitwiseOr</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="BitwiseOr-3519"><a href="#BitwiseOr-3519"><span class="linenos">3519</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="BitwiseOr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitwiseor&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitwiseOr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitwiseOr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitwiseOr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitwiseOr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitwiseOr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitwiseOr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitwiseOr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitwiseOr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitwiseOr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitwiseOr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30620,7 +39862,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseOr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitwiseOr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitwiseOr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitwiseOr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitwiseOr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitwiseOr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitwiseOr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitwiseOr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitwiseOr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitwiseOr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitwiseOr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30650,6 +39896,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseOr.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="BitwiseOr.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="BitwiseOr.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="BitwiseOr.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="BitwiseOr.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="BitwiseOr.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30679,18 +39931,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#BitwiseRightShift"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseRightShift-3502"><a href="#BitwiseRightShift-3502"><span class="linenos">3502</span></a><span class="k">class</span> <span class="nc">BitwiseRightShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="BitwiseRightShift-3503"><a href="#BitwiseRightShift-3503"><span class="linenos">3503</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseRightShift-3522"><a href="#BitwiseRightShift-3522"><span class="linenos">3522</span></a><span class="k">class</span> <span class="nc">BitwiseRightShift</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="BitwiseRightShift-3523"><a href="#BitwiseRightShift-3523"><span class="linenos">3523</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="BitwiseRightShift.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitwiserightshift&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitwiseRightShift.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitwiseRightShift.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitwiseRightShift.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitwiseRightShift.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitwiseRightShift.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitwiseRightShift.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitwiseRightShift.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitwiseRightShift.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitwiseRightShift.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitwiseRightShift.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30700,7 +39969,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseRightShift.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitwiseRightShift.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitwiseRightShift.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitwiseRightShift.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitwiseRightShift.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitwiseRightShift.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitwiseRightShift.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitwiseRightShift.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitwiseRightShift.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitwiseRightShift.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitwiseRightShift.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30730,6 +40003,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseRightShift.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="BitwiseRightShift.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="BitwiseRightShift.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="BitwiseRightShift.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="BitwiseRightShift.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="BitwiseRightShift.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30759,18 +40038,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#BitwiseXor"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseXor-3506"><a href="#BitwiseXor-3506"><span class="linenos">3506</span></a><span class="k">class</span> <span class="nc">BitwiseXor</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="BitwiseXor-3507"><a href="#BitwiseXor-3507"><span class="linenos">3507</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseXor-3526"><a href="#BitwiseXor-3526"><span class="linenos">3526</span></a><span class="k">class</span> <span class="nc">BitwiseXor</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="BitwiseXor-3527"><a href="#BitwiseXor-3527"><span class="linenos">3527</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="BitwiseXor.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitwisexor&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitwiseXor.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitwiseXor.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitwiseXor.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitwiseXor.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitwiseXor.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitwiseXor.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitwiseXor.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitwiseXor.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitwiseXor.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitwiseXor.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30780,7 +40076,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseXor.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitwiseXor.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitwiseXor.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitwiseXor.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitwiseXor.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitwiseXor.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitwiseXor.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitwiseXor.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitwiseXor.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitwiseXor.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitwiseXor.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30810,6 +40110,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseXor.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="BitwiseXor.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="BitwiseXor.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="BitwiseXor.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="BitwiseXor.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="BitwiseXor.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30839,18 +40145,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Div"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Div-3510"><a href="#Div-3510"><span class="linenos">3510</span></a><span class="k">class</span> <span class="nc">Div</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Div-3511"><a href="#Div-3511"><span class="linenos">3511</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Div-3530"><a href="#Div-3530"><span class="linenos">3530</span></a><span class="k">class</span> <span class="nc">Div</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Div-3531"><a href="#Div-3531"><span class="linenos">3531</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Div.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;div&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Div.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Div.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Div.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Div.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Div.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Div.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Div.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Div.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Div.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Div.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30860,7 +40183,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Div.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Div.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Div.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Div.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Div.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Div.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Div.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Div.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Div.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Div.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Div.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30890,6 +40217,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Div.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Div.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Div.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Div.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Div.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Div.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30919,18 +40252,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Overlaps"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Overlaps-3514"><a href="#Overlaps-3514"><span class="linenos">3514</span></a><span class="k">class</span> <span class="nc">Overlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Overlaps-3515"><a href="#Overlaps-3515"><span class="linenos">3515</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Overlaps-3534"><a href="#Overlaps-3534"><span class="linenos">3534</span></a><span class="k">class</span> <span class="nc">Overlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Overlaps-3535"><a href="#Overlaps-3535"><span class="linenos">3535</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Overlaps.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;overlaps&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Overlaps.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Overlaps.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Overlaps.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Overlaps.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Overlaps.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Overlaps.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Overlaps.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Overlaps.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Overlaps.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Overlaps.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -30940,7 +40290,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Overlaps.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Overlaps.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Overlaps.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Overlaps.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Overlaps.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Overlaps.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Overlaps.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Overlaps.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Overlaps.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Overlaps.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Overlaps.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -30970,6 +40324,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Overlaps.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Overlaps.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Overlaps.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Overlaps.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Overlaps.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Overlaps.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -30999,33 +40359,44 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Dot"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Dot-3518"><a href="#Dot-3518"><span class="linenos">3518</span></a><span class="k">class</span> <span class="nc">Dot</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Dot-3519"><a href="#Dot-3519"><span class="linenos">3519</span></a> <span class="nd">@property</span>
-</span><span id="Dot-3520"><a href="#Dot-3520"><span class="linenos">3520</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Dot-3521"><a href="#Dot-3521"><span class="linenos">3521</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">name</span>
-</span><span id="Dot-3522"><a href="#Dot-3522"><span class="linenos">3522</span></a>
-</span><span id="Dot-3523"><a href="#Dot-3523"><span class="linenos">3523</span></a> <span class="nd">@property</span>
-</span><span id="Dot-3524"><a href="#Dot-3524"><span class="linenos">3524</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Dot-3525"><a href="#Dot-3525"><span class="linenos">3525</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-</span><span id="Dot-3526"><a href="#Dot-3526"><span class="linenos">3526</span></a>
-</span><span id="Dot-3527"><a href="#Dot-3527"><span class="linenos">3527</span></a> <span class="nd">@classmethod</span>
-</span><span id="Dot-3528"><a href="#Dot-3528"><span class="linenos">3528</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dot</span><span class="p">:</span>
-</span><span id="Dot-3529"><a href="#Dot-3529"><span class="linenos">3529</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Dot object with a sequence of expressions.&quot;&quot;&quot;</span>
-</span><span id="Dot-3530"><a href="#Dot-3530"><span class="linenos">3530</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
-</span><span id="Dot-3531"><a href="#Dot-3531"><span class="linenos">3531</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Dot requires &gt;= 2 expressions.&quot;</span><span class="p">)</span>
-</span><span id="Dot-3532"><a href="#Dot-3532"><span class="linenos">3532</span></a>
-</span><span id="Dot-3533"><a href="#Dot-3533"><span class="linenos">3533</span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span> <span class="o">=</span> <span class="n">expressions</span>
-</span><span id="Dot-3534"><a href="#Dot-3534"><span class="linenos">3534</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</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><span id="Dot-3535"><a href="#Dot-3535"><span class="linenos">3535</span></a>
-</span><span id="Dot-3536"><a href="#Dot-3536"><span class="linenos">3536</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="Dot-3537"><a href="#Dot-3537"><span class="linenos">3537</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dot</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="Dot-3538"><a href="#Dot-3538"><span class="linenos">3538</span></a>
-</span><span id="Dot-3539"><a href="#Dot-3539"><span class="linenos">3539</span></a> <span class="k">return</span> <span class="n">dot</span>
-</span></pre></div>
-
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Dot-3538"><a href="#Dot-3538"><span class="linenos">3538</span></a><span class="k">class</span> <span class="nc">Dot</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Dot-3539"><a href="#Dot-3539"><span class="linenos">3539</span></a> <span class="nd">@property</span>
+</span><span id="Dot-3540"><a href="#Dot-3540"><span class="linenos">3540</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Dot-3541"><a href="#Dot-3541"><span class="linenos">3541</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">name</span>
+</span><span id="Dot-3542"><a href="#Dot-3542"><span class="linenos">3542</span></a>
+</span><span id="Dot-3543"><a href="#Dot-3543"><span class="linenos">3543</span></a> <span class="nd">@property</span>
+</span><span id="Dot-3544"><a href="#Dot-3544"><span class="linenos">3544</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Dot-3545"><a href="#Dot-3545"><span class="linenos">3545</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="Dot-3546"><a href="#Dot-3546"><span class="linenos">3546</span></a>
+</span><span id="Dot-3547"><a href="#Dot-3547"><span class="linenos">3547</span></a> <span class="nd">@classmethod</span>
+</span><span id="Dot-3548"><a href="#Dot-3548"><span class="linenos">3548</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dot</span><span class="p">:</span>
+</span><span id="Dot-3549"><a href="#Dot-3549"><span class="linenos">3549</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Dot object with a sequence of expressions.&quot;&quot;&quot;</span>
+</span><span id="Dot-3550"><a href="#Dot-3550"><span class="linenos">3550</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
+</span><span id="Dot-3551"><a href="#Dot-3551"><span class="linenos">3551</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Dot requires &gt;= 2 expressions.&quot;</span><span class="p">)</span>
+</span><span id="Dot-3552"><a href="#Dot-3552"><span class="linenos">3552</span></a>
+</span><span id="Dot-3553"><a href="#Dot-3553"><span class="linenos">3553</span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span> <span class="o">=</span> <span class="n">expressions</span>
+</span><span id="Dot-3554"><a href="#Dot-3554"><span class="linenos">3554</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</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><span id="Dot-3555"><a href="#Dot-3555"><span class="linenos">3555</span></a>
+</span><span id="Dot-3556"><a href="#Dot-3556"><span class="linenos">3556</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="Dot-3557"><a href="#Dot-3557"><span class="linenos">3557</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dot</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="Dot-3558"><a href="#Dot-3558"><span class="linenos">3558</span></a>
+</span><span id="Dot-3559"><a href="#Dot-3559"><span class="linenos">3559</span></a> <span class="k">return</span> <span class="n">dot</span>
+</span></pre></div>
+
+
+
+
+ <div id="Dot.name" class="classattr">
+ <div class="attr variable">
+ <span class="name">name</span><span class="annotation">: str</span>
+
+ </div>
+ <a class="headerlink" href="#Dot.name"></a>
+
+ </div>
<div id="Dot.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -31068,19 +40439,19 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Dot.build"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Dot.build-3527"><a href="#Dot.build-3527"><span class="linenos">3527</span></a> <span class="nd">@classmethod</span>
-</span><span id="Dot.build-3528"><a href="#Dot.build-3528"><span class="linenos">3528</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dot</span><span class="p">:</span>
-</span><span id="Dot.build-3529"><a href="#Dot.build-3529"><span class="linenos">3529</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Dot object with a sequence of expressions.&quot;&quot;&quot;</span>
-</span><span id="Dot.build-3530"><a href="#Dot.build-3530"><span class="linenos">3530</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
-</span><span id="Dot.build-3531"><a href="#Dot.build-3531"><span class="linenos">3531</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Dot requires &gt;= 2 expressions.&quot;</span><span class="p">)</span>
-</span><span id="Dot.build-3532"><a href="#Dot.build-3532"><span class="linenos">3532</span></a>
-</span><span id="Dot.build-3533"><a href="#Dot.build-3533"><span class="linenos">3533</span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span> <span class="o">=</span> <span class="n">expressions</span>
-</span><span id="Dot.build-3534"><a href="#Dot.build-3534"><span class="linenos">3534</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</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><span id="Dot.build-3535"><a href="#Dot.build-3535"><span class="linenos">3535</span></a>
-</span><span id="Dot.build-3536"><a href="#Dot.build-3536"><span class="linenos">3536</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
-</span><span id="Dot.build-3537"><a href="#Dot.build-3537"><span class="linenos">3537</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dot</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
-</span><span id="Dot.build-3538"><a href="#Dot.build-3538"><span class="linenos">3538</span></a>
-</span><span id="Dot.build-3539"><a href="#Dot.build-3539"><span class="linenos">3539</span></a> <span class="k">return</span> <span class="n">dot</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Dot.build-3547"><a href="#Dot.build-3547"><span class="linenos">3547</span></a> <span class="nd">@classmethod</span>
+</span><span id="Dot.build-3548"><a href="#Dot.build-3548"><span class="linenos">3548</span></a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expressions</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dot</span><span class="p">:</span>
+</span><span id="Dot.build-3549"><a href="#Dot.build-3549"><span class="linenos">3549</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Dot object with a sequence of expressions.&quot;&quot;&quot;</span>
+</span><span id="Dot.build-3550"><a href="#Dot.build-3550"><span class="linenos">3550</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">expressions</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
+</span><span id="Dot.build-3551"><a href="#Dot.build-3551"><span class="linenos">3551</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Dot requires &gt;= 2 expressions.&quot;</span><span class="p">)</span>
+</span><span id="Dot.build-3552"><a href="#Dot.build-3552"><span class="linenos">3552</span></a>
+</span><span id="Dot.build-3553"><a href="#Dot.build-3553"><span class="linenos">3553</span></a> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="o">*</span><span class="n">expressions</span> <span class="o">=</span> <span class="n">expressions</span>
+</span><span id="Dot.build-3554"><a href="#Dot.build-3554"><span class="linenos">3554</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</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><span id="Dot.build-3555"><a href="#Dot.build-3555"><span class="linenos">3555</span></a>
+</span><span id="Dot.build-3556"><a href="#Dot.build-3556"><span class="linenos">3556</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">expressions</span><span class="p">:</span>
+</span><span id="Dot.build-3557"><a href="#Dot.build-3557"><span class="linenos">3557</span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">Dot</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">dot</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expression</span><span class="p">)</span>
+</span><span id="Dot.build-3558"><a href="#Dot.build-3558"><span class="linenos">3558</span></a>
+</span><span id="Dot.build-3559"><a href="#Dot.build-3559"><span class="linenos">3559</span></a> <span class="k">return</span> <span class="n">dot</span>
</span></pre></div>
@@ -31089,11 +40460,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Dot.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dot&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Dot.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Dot.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Dot.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Dot.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Dot.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Dot.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Dot.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Dot.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Dot.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Dot.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31103,6 +40491,9 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Dot.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Dot.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Dot.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Dot.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Dot.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Dot.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Dot.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Dot.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Dot.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31132,6 +40523,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Dot.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Dot.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Dot.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Dot.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Dot.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Dot.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31161,18 +40558,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#DPipe"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DPipe-3542"><a href="#DPipe-3542"><span class="linenos">3542</span></a><span class="k">class</span> <span class="nc">DPipe</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="DPipe-3543"><a href="#DPipe-3543"><span class="linenos">3543</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DPipe-3562"><a href="#DPipe-3562"><span class="linenos">3562</span></a><span class="k">class</span> <span class="nc">DPipe</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="DPipe-3563"><a href="#DPipe-3563"><span class="linenos">3563</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="DPipe.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dpipe&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DPipe.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DPipe.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DPipe.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DPipe.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DPipe.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DPipe.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DPipe.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DPipe.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DPipe.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DPipe.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31182,7 +40596,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DPipe.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DPipe.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DPipe.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DPipe.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DPipe.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DPipe.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DPipe.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DPipe.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DPipe.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DPipe.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DPipe.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31212,6 +40630,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="DPipe.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="DPipe.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="DPipe.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="DPipe.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="DPipe.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="DPipe.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31241,18 +40665,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#SafeDPipe"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SafeDPipe-3546"><a href="#SafeDPipe-3546"><span class="linenos">3546</span></a><span class="k">class</span> <span class="nc">SafeDPipe</span><span class="p">(</span><span class="n">DPipe</span><span class="p">):</span>
-</span><span id="SafeDPipe-3547"><a href="#SafeDPipe-3547"><span class="linenos">3547</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SafeDPipe-3566"><a href="#SafeDPipe-3566"><span class="linenos">3566</span></a><span class="k">class</span> <span class="nc">SafeDPipe</span><span class="p">(</span><span class="n">DPipe</span><span class="p">):</span>
+</span><span id="SafeDPipe-3567"><a href="#SafeDPipe-3567"><span class="linenos">3567</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="SafeDPipe.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;safedpipe&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SafeDPipe.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SafeDPipe.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SafeDPipe.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SafeDPipe.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SafeDPipe.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SafeDPipe.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SafeDPipe.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SafeDPipe.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SafeDPipe.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SafeDPipe.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31262,7 +40703,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SafeDPipe.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SafeDPipe.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SafeDPipe.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SafeDPipe.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SafeDPipe.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SafeDPipe.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SafeDPipe.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SafeDPipe.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SafeDPipe.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SafeDPipe.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SafeDPipe.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31292,6 +40737,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SafeDPipe.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="SafeDPipe.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="SafeDPipe.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="SafeDPipe.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="SafeDPipe.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="SafeDPipe.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31321,18 +40772,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#EQ"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="EQ-3550"><a href="#EQ-3550"><span class="linenos">3550</span></a><span class="k">class</span> <span class="nc">EQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="EQ-3551"><a href="#EQ-3551"><span class="linenos">3551</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="EQ-3570"><a href="#EQ-3570"><span class="linenos">3570</span></a><span class="k">class</span> <span class="nc">EQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="EQ-3571"><a href="#EQ-3571"><span class="linenos">3571</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="EQ.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;eq&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#EQ.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="EQ.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="EQ.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="EQ.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="EQ.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="EQ.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="EQ.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="EQ.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="EQ.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="EQ.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31342,7 +40810,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="EQ.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="EQ.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="EQ.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="EQ.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="EQ.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="EQ.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="EQ.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="EQ.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="EQ.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="EQ.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="EQ.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31372,6 +40844,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="EQ.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="EQ.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="EQ.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="EQ.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="EQ.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="EQ.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31401,18 +40879,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#NullSafeEQ"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="NullSafeEQ-3554"><a href="#NullSafeEQ-3554"><span class="linenos">3554</span></a><span class="k">class</span> <span class="nc">NullSafeEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="NullSafeEQ-3555"><a href="#NullSafeEQ-3555"><span class="linenos">3555</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="NullSafeEQ-3574"><a href="#NullSafeEQ-3574"><span class="linenos">3574</span></a><span class="k">class</span> <span class="nc">NullSafeEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="NullSafeEQ-3575"><a href="#NullSafeEQ-3575"><span class="linenos">3575</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="NullSafeEQ.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;nullsafeeq&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NullSafeEQ.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NullSafeEQ.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NullSafeEQ.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NullSafeEQ.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NullSafeEQ.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NullSafeEQ.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NullSafeEQ.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NullSafeEQ.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NullSafeEQ.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NullSafeEQ.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31422,7 +40917,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NullSafeEQ.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NullSafeEQ.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NullSafeEQ.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NullSafeEQ.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NullSafeEQ.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NullSafeEQ.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NullSafeEQ.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NullSafeEQ.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NullSafeEQ.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NullSafeEQ.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NullSafeEQ.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31452,6 +40951,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NullSafeEQ.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="NullSafeEQ.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="NullSafeEQ.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="NullSafeEQ.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="NullSafeEQ.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="NullSafeEQ.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31481,18 +40986,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#NullSafeNEQ"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="NullSafeNEQ-3558"><a href="#NullSafeNEQ-3558"><span class="linenos">3558</span></a><span class="k">class</span> <span class="nc">NullSafeNEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="NullSafeNEQ-3559"><a href="#NullSafeNEQ-3559"><span class="linenos">3559</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="NullSafeNEQ-3578"><a href="#NullSafeNEQ-3578"><span class="linenos">3578</span></a><span class="k">class</span> <span class="nc">NullSafeNEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="NullSafeNEQ-3579"><a href="#NullSafeNEQ-3579"><span class="linenos">3579</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="NullSafeNEQ.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;nullsafeneq&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NullSafeNEQ.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NullSafeNEQ.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NullSafeNEQ.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NullSafeNEQ.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NullSafeNEQ.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NullSafeNEQ.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NullSafeNEQ.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NullSafeNEQ.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NullSafeNEQ.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NullSafeNEQ.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31502,7 +41024,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NullSafeNEQ.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NullSafeNEQ.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NullSafeNEQ.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NullSafeNEQ.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NullSafeNEQ.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NullSafeNEQ.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NullSafeNEQ.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NullSafeNEQ.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NullSafeNEQ.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NullSafeNEQ.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NullSafeNEQ.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31532,6 +41058,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NullSafeNEQ.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="NullSafeNEQ.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="NullSafeNEQ.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="NullSafeNEQ.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="NullSafeNEQ.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="NullSafeNEQ.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31561,18 +41093,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Distance"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Distance-3562"><a href="#Distance-3562"><span class="linenos">3562</span></a><span class="k">class</span> <span class="nc">Distance</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Distance-3563"><a href="#Distance-3563"><span class="linenos">3563</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Distance-3582"><a href="#Distance-3582"><span class="linenos">3582</span></a><span class="k">class</span> <span class="nc">Distance</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Distance-3583"><a href="#Distance-3583"><span class="linenos">3583</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Distance.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;distance&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Distance.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Distance.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Distance.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Distance.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Distance.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Distance.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Distance.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Distance.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Distance.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Distance.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31582,7 +41131,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Distance.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Distance.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Distance.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Distance.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Distance.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Distance.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Distance.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Distance.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Distance.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Distance.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Distance.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31612,6 +41165,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Distance.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Distance.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Distance.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Distance.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Distance.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Distance.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31641,18 +41200,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Escape"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Escape-3566"><a href="#Escape-3566"><span class="linenos">3566</span></a><span class="k">class</span> <span class="nc">Escape</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Escape-3567"><a href="#Escape-3567"><span class="linenos">3567</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Escape-3586"><a href="#Escape-3586"><span class="linenos">3586</span></a><span class="k">class</span> <span class="nc">Escape</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Escape-3587"><a href="#Escape-3587"><span class="linenos">3587</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Escape.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;escape&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Escape.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Escape.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Escape.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Escape.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Escape.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Escape.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Escape.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Escape.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Escape.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Escape.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31662,7 +41238,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Escape.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Escape.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Escape.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Escape.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Escape.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Escape.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Escape.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Escape.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Escape.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Escape.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Escape.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31692,6 +41272,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Escape.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Escape.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Escape.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Escape.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Escape.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Escape.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31721,18 +41307,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Glob"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Glob-3570"><a href="#Glob-3570"><span class="linenos">3570</span></a><span class="k">class</span> <span class="nc">Glob</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="Glob-3571"><a href="#Glob-3571"><span class="linenos">3571</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Glob-3590"><a href="#Glob-3590"><span class="linenos">3590</span></a><span class="k">class</span> <span class="nc">Glob</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="Glob-3591"><a href="#Glob-3591"><span class="linenos">3591</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Glob.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;glob&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Glob.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Glob.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Glob.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Glob.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Glob.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Glob.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Glob.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Glob.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Glob.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Glob.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31742,7 +41345,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Glob.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Glob.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Glob.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Glob.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Glob.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Glob.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Glob.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Glob.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Glob.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Glob.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Glob.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31772,6 +41379,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Glob.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Glob.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Glob.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Glob.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Glob.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Glob.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31801,18 +41414,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#GT"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="GT-3574"><a href="#GT-3574"><span class="linenos">3574</span></a><span class="k">class</span> <span class="nc">GT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="GT-3575"><a href="#GT-3575"><span class="linenos">3575</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="GT-3594"><a href="#GT-3594"><span class="linenos">3594</span></a><span class="k">class</span> <span class="nc">GT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="GT-3595"><a href="#GT-3595"><span class="linenos">3595</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="GT.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;gt&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#GT.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="GT.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="GT.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="GT.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="GT.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="GT.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="GT.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="GT.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="GT.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="GT.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31822,7 +41452,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="GT.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="GT.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="GT.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="GT.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="GT.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="GT.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="GT.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="GT.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="GT.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="GT.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="GT.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31852,6 +41486,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="GT.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="GT.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="GT.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="GT.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="GT.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="GT.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31881,18 +41521,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#GTE"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="GTE-3578"><a href="#GTE-3578"><span class="linenos">3578</span></a><span class="k">class</span> <span class="nc">GTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="GTE-3579"><a href="#GTE-3579"><span class="linenos">3579</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="GTE-3598"><a href="#GTE-3598"><span class="linenos">3598</span></a><span class="k">class</span> <span class="nc">GTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="GTE-3599"><a href="#GTE-3599"><span class="linenos">3599</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="GTE.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;gte&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#GTE.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="GTE.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="GTE.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="GTE.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="GTE.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="GTE.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="GTE.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="GTE.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="GTE.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="GTE.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31902,7 +41559,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="GTE.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="GTE.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="GTE.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="GTE.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="GTE.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="GTE.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="GTE.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="GTE.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="GTE.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="GTE.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="GTE.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -31932,6 +41593,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="GTE.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="GTE.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="GTE.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="GTE.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="GTE.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="GTE.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -31961,18 +41628,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#ILike"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ILike-3582"><a href="#ILike-3582"><span class="linenos">3582</span></a><span class="k">class</span> <span class="nc">ILike</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="ILike-3583"><a href="#ILike-3583"><span class="linenos">3583</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ILike-3602"><a href="#ILike-3602"><span class="linenos">3602</span></a><span class="k">class</span> <span class="nc">ILike</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="ILike-3603"><a href="#ILike-3603"><span class="linenos">3603</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ILike.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ilike&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ILike.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ILike.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ILike.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ILike.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ILike.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ILike.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ILike.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ILike.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ILike.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ILike.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -31982,7 +41666,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ILike.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ILike.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ILike.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ILike.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ILike.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ILike.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ILike.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ILike.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ILike.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ILike.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ILike.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32012,6 +41700,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ILike.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="ILike.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="ILike.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="ILike.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="ILike.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="ILike.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32041,18 +41735,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#ILikeAny"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ILikeAny-3586"><a href="#ILikeAny-3586"><span class="linenos">3586</span></a><span class="k">class</span> <span class="nc">ILikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="ILikeAny-3587"><a href="#ILikeAny-3587"><span class="linenos">3587</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ILikeAny-3606"><a href="#ILikeAny-3606"><span class="linenos">3606</span></a><span class="k">class</span> <span class="nc">ILikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="ILikeAny-3607"><a href="#ILikeAny-3607"><span class="linenos">3607</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ILikeAny.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ilikeany&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ILikeAny.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ILikeAny.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ILikeAny.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ILikeAny.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ILikeAny.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ILikeAny.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ILikeAny.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ILikeAny.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ILikeAny.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ILikeAny.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32062,7 +41773,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ILikeAny.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ILikeAny.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ILikeAny.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ILikeAny.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ILikeAny.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ILikeAny.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ILikeAny.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ILikeAny.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ILikeAny.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ILikeAny.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ILikeAny.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32092,6 +41807,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ILikeAny.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="ILikeAny.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="ILikeAny.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="ILikeAny.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="ILikeAny.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="ILikeAny.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32121,18 +41842,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#IntDiv"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="IntDiv-3590"><a href="#IntDiv-3590"><span class="linenos">3590</span></a><span class="k">class</span> <span class="nc">IntDiv</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="IntDiv-3591"><a href="#IntDiv-3591"><span class="linenos">3591</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="IntDiv-3610"><a href="#IntDiv-3610"><span class="linenos">3610</span></a><span class="k">class</span> <span class="nc">IntDiv</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="IntDiv-3611"><a href="#IntDiv-3611"><span class="linenos">3611</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="IntDiv.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;intdiv&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#IntDiv.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="IntDiv.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="IntDiv.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="IntDiv.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="IntDiv.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="IntDiv.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="IntDiv.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="IntDiv.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="IntDiv.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="IntDiv.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32142,7 +41880,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="IntDiv.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="IntDiv.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="IntDiv.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="IntDiv.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="IntDiv.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="IntDiv.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="IntDiv.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="IntDiv.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="IntDiv.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="IntDiv.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="IntDiv.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32172,6 +41914,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="IntDiv.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="IntDiv.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="IntDiv.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="IntDiv.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="IntDiv.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="IntDiv.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32201,18 +41949,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Is"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Is-3594"><a href="#Is-3594"><span class="linenos">3594</span></a><span class="k">class</span> <span class="nc">Is</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="Is-3595"><a href="#Is-3595"><span class="linenos">3595</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Is-3614"><a href="#Is-3614"><span class="linenos">3614</span></a><span class="k">class</span> <span class="nc">Is</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="Is-3615"><a href="#Is-3615"><span class="linenos">3615</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Is.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;is&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Is.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Is.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Is.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Is.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Is.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Is.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Is.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Is.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Is.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Is.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32222,7 +41987,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Is.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Is.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Is.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Is.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Is.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Is.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Is.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Is.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Is.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Is.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Is.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32252,6 +42021,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Is.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Is.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Is.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Is.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Is.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Is.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32281,8 +42056,8 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Kwarg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Kwarg-3598"><a href="#Kwarg-3598"><span class="linenos">3598</span></a><span class="k">class</span> <span class="nc">Kwarg</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Kwarg-3599"><a href="#Kwarg-3599"><span class="linenos">3599</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Kwarg in special functions like func(kwarg =&gt; y).&quot;&quot;&quot;</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Kwarg-3618"><a href="#Kwarg-3618"><span class="linenos">3618</span></a><span class="k">class</span> <span class="nc">Kwarg</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Kwarg-3619"><a href="#Kwarg-3619"><span class="linenos">3619</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Kwarg in special functions like func(kwarg =&gt; y).&quot;&quot;&quot;</span>
</span></pre></div>
@@ -32290,11 +42065,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Kwarg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;kwarg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Kwarg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Kwarg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Kwarg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Kwarg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Kwarg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Kwarg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Kwarg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Kwarg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Kwarg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Kwarg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32304,7 +42096,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Kwarg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Kwarg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Kwarg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Kwarg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Kwarg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Kwarg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Kwarg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Kwarg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Kwarg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Kwarg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Kwarg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32334,6 +42130,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Kwarg.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Kwarg.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Kwarg.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Kwarg.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Kwarg.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Kwarg.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32363,18 +42165,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Like"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Like-3602"><a href="#Like-3602"><span class="linenos">3602</span></a><span class="k">class</span> <span class="nc">Like</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="Like-3603"><a href="#Like-3603"><span class="linenos">3603</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Like-3622"><a href="#Like-3622"><span class="linenos">3622</span></a><span class="k">class</span> <span class="nc">Like</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="Like-3623"><a href="#Like-3623"><span class="linenos">3623</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Like.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;like&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Like.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Like.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Like.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Like.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Like.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Like.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Like.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Like.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Like.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Like.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32384,7 +42203,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Like.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Like.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Like.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Like.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Like.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Like.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Like.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Like.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Like.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Like.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Like.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32414,6 +42237,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Like.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Like.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Like.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Like.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Like.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Like.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32443,18 +42272,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#LikeAny"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LikeAny-3606"><a href="#LikeAny-3606"><span class="linenos">3606</span></a><span class="k">class</span> <span class="nc">LikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="LikeAny-3607"><a href="#LikeAny-3607"><span class="linenos">3607</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LikeAny-3626"><a href="#LikeAny-3626"><span class="linenos">3626</span></a><span class="k">class</span> <span class="nc">LikeAny</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="LikeAny-3627"><a href="#LikeAny-3627"><span class="linenos">3627</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="LikeAny.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;likeany&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LikeAny.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LikeAny.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LikeAny.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LikeAny.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LikeAny.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LikeAny.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LikeAny.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LikeAny.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LikeAny.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LikeAny.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32464,7 +42310,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="LikeAny.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LikeAny.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LikeAny.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LikeAny.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LikeAny.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LikeAny.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LikeAny.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LikeAny.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LikeAny.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LikeAny.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LikeAny.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32494,6 +42344,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="LikeAny.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="LikeAny.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="LikeAny.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="LikeAny.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="LikeAny.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="LikeAny.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32523,18 +42379,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#LT"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LT-3610"><a href="#LT-3610"><span class="linenos">3610</span></a><span class="k">class</span> <span class="nc">LT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="LT-3611"><a href="#LT-3611"><span class="linenos">3611</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LT-3630"><a href="#LT-3630"><span class="linenos">3630</span></a><span class="k">class</span> <span class="nc">LT</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="LT-3631"><a href="#LT-3631"><span class="linenos">3631</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="LT.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lt&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LT.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LT.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LT.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LT.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LT.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LT.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LT.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LT.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LT.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LT.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32544,7 +42417,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="LT.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LT.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LT.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LT.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LT.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LT.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LT.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LT.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LT.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LT.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LT.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32574,6 +42451,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="LT.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="LT.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="LT.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="LT.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="LT.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="LT.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32603,18 +42486,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#LTE"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LTE-3614"><a href="#LTE-3614"><span class="linenos">3614</span></a><span class="k">class</span> <span class="nc">LTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="LTE-3615"><a href="#LTE-3615"><span class="linenos">3615</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LTE-3634"><a href="#LTE-3634"><span class="linenos">3634</span></a><span class="k">class</span> <span class="nc">LTE</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="LTE-3635"><a href="#LTE-3635"><span class="linenos">3635</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="LTE.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lte&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LTE.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LTE.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LTE.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LTE.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LTE.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LTE.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LTE.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LTE.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LTE.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LTE.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32624,7 +42524,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="LTE.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LTE.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LTE.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LTE.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LTE.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LTE.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LTE.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LTE.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LTE.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LTE.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LTE.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32654,6 +42558,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="LTE.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="LTE.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="LTE.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="LTE.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="LTE.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="LTE.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32683,18 +42593,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Mod"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Mod-3618"><a href="#Mod-3618"><span class="linenos">3618</span></a><span class="k">class</span> <span class="nc">Mod</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Mod-3619"><a href="#Mod-3619"><span class="linenos">3619</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Mod-3638"><a href="#Mod-3638"><span class="linenos">3638</span></a><span class="k">class</span> <span class="nc">Mod</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Mod-3639"><a href="#Mod-3639"><span class="linenos">3639</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Mod.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;mod&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Mod.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Mod.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Mod.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Mod.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Mod.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Mod.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Mod.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Mod.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Mod.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Mod.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32704,7 +42631,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Mod.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Mod.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Mod.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Mod.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Mod.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Mod.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Mod.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Mod.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Mod.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Mod.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Mod.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32734,6 +42665,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Mod.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Mod.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Mod.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Mod.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Mod.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Mod.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32763,18 +42700,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Mul"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Mul-3622"><a href="#Mul-3622"><span class="linenos">3622</span></a><span class="k">class</span> <span class="nc">Mul</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Mul-3623"><a href="#Mul-3623"><span class="linenos">3623</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Mul-3642"><a href="#Mul-3642"><span class="linenos">3642</span></a><span class="k">class</span> <span class="nc">Mul</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Mul-3643"><a href="#Mul-3643"><span class="linenos">3643</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Mul.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;mul&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Mul.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Mul.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Mul.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Mul.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Mul.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Mul.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Mul.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Mul.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Mul.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Mul.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32784,7 +42738,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Mul.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Mul.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Mul.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Mul.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Mul.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Mul.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Mul.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Mul.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Mul.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Mul.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Mul.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32814,6 +42772,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Mul.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Mul.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Mul.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Mul.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Mul.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Mul.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32843,18 +42807,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#NEQ"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="NEQ-3626"><a href="#NEQ-3626"><span class="linenos">3626</span></a><span class="k">class</span> <span class="nc">NEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="NEQ-3627"><a href="#NEQ-3627"><span class="linenos">3627</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="NEQ-3646"><a href="#NEQ-3646"><span class="linenos">3646</span></a><span class="k">class</span> <span class="nc">NEQ</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="NEQ-3647"><a href="#NEQ-3647"><span class="linenos">3647</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="NEQ.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;neq&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NEQ.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NEQ.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NEQ.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NEQ.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NEQ.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NEQ.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NEQ.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NEQ.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NEQ.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NEQ.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32864,7 +42845,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NEQ.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NEQ.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NEQ.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NEQ.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NEQ.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NEQ.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NEQ.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NEQ.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NEQ.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NEQ.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NEQ.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32894,6 +42879,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="NEQ.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="NEQ.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="NEQ.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="NEQ.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="NEQ.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="NEQ.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -32923,18 +42914,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#SimilarTo"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SimilarTo-3630"><a href="#SimilarTo-3630"><span class="linenos">3630</span></a><span class="k">class</span> <span class="nc">SimilarTo</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
-</span><span id="SimilarTo-3631"><a href="#SimilarTo-3631"><span class="linenos">3631</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SimilarTo-3650"><a href="#SimilarTo-3650"><span class="linenos">3650</span></a><span class="k">class</span> <span class="nc">SimilarTo</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Predicate</span><span class="p">):</span>
+</span><span id="SimilarTo-3651"><a href="#SimilarTo-3651"><span class="linenos">3651</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="SimilarTo.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;similarto&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SimilarTo.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SimilarTo.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SimilarTo.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SimilarTo.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SimilarTo.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SimilarTo.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SimilarTo.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SimilarTo.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SimilarTo.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SimilarTo.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -32944,7 +42952,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SimilarTo.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SimilarTo.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SimilarTo.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SimilarTo.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SimilarTo.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SimilarTo.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SimilarTo.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SimilarTo.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SimilarTo.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SimilarTo.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SimilarTo.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -32974,6 +42986,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="SimilarTo.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="SimilarTo.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="SimilarTo.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="SimilarTo.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="SimilarTo.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="SimilarTo.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -33003,18 +43021,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Slice"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Slice-3634"><a href="#Slice-3634"><span class="linenos">3634</span></a><span class="k">class</span> <span class="nc">Slice</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Slice-3635"><a href="#Slice-3635"><span class="linenos">3635</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Slice-3654"><a href="#Slice-3654"><span class="linenos">3654</span></a><span class="k">class</span> <span class="nc">Slice</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Slice-3655"><a href="#Slice-3655"><span class="linenos">3655</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Slice.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Slice.arg_types"></a>
+
+
+
+ </div>
+ <div id="Slice.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;slice&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Slice.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Slice.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Slice.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Slice.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Slice.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Slice.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Slice.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Slice.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Slice.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Slice.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33024,7 +43071,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Slice.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Slice.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Slice.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Slice.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Slice.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Slice.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Slice.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Slice.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Slice.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Slice.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Slice.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33054,6 +43105,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Slice.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Slice.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Slice.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Slice.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Slice.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -33083,18 +43139,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Sub"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Sub-3638"><a href="#Sub-3638"><span class="linenos">3638</span></a><span class="k">class</span> <span class="nc">Sub</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Sub-3639"><a href="#Sub-3639"><span class="linenos">3639</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Sub-3658"><a href="#Sub-3658"><span class="linenos">3658</span></a><span class="k">class</span> <span class="nc">Sub</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Sub-3659"><a href="#Sub-3659"><span class="linenos">3659</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Sub.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sub&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Sub.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Sub.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Sub.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Sub.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Sub.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Sub.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Sub.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Sub.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Sub.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Sub.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33104,7 +43177,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Sub.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Sub.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Sub.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Sub.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Sub.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Sub.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Sub.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Sub.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Sub.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Sub.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Sub.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33134,6 +43211,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Sub.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Sub.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Sub.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Sub.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Sub.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Sub.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -33163,18 +43246,35 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#ArrayOverlaps"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayOverlaps-3642"><a href="#ArrayOverlaps-3642"><span class="linenos">3642</span></a><span class="k">class</span> <span class="nc">ArrayOverlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="ArrayOverlaps-3643"><a href="#ArrayOverlaps-3643"><span class="linenos">3643</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayOverlaps-3662"><a href="#ArrayOverlaps-3662"><span class="linenos">3662</span></a><span class="k">class</span> <span class="nc">ArrayOverlaps</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="ArrayOverlaps-3663"><a href="#ArrayOverlaps-3663"><span class="linenos">3663</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ArrayOverlaps.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayoverlaps&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayOverlaps.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayOverlaps.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayOverlaps.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayOverlaps.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayOverlaps.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayOverlaps.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayOverlaps.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayOverlaps.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayOverlaps.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayOverlaps.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33184,7 +43284,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ArrayOverlaps.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayOverlaps.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayOverlaps.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayOverlaps.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayOverlaps.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayOverlaps.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayOverlaps.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayOverlaps.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayOverlaps.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayOverlaps.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayOverlaps.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33214,6 +43318,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="ArrayOverlaps.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="ArrayOverlaps.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="ArrayOverlaps.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="ArrayOverlaps.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="ArrayOverlaps.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="ArrayOverlaps.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -33243,18 +43353,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Unary"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Unary-3648"><a href="#Unary-3648"><span class="linenos">3648</span></a><span class="k">class</span> <span class="nc">Unary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Unary-3649"><a href="#Unary-3649"><span class="linenos">3649</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Unary-3668"><a href="#Unary-3668"><span class="linenos">3668</span></a><span class="k">class</span> <span class="nc">Unary</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Unary-3669"><a href="#Unary-3669"><span class="linenos">3669</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Unary.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unary&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Unary.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Unary.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Unary.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Unary.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Unary.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Unary.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Unary.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Unary.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Unary.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Unary.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Unary.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33264,7 +43392,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Unary.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Unary.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Unary.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Unary.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Unary.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Unary.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Unary.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Unary.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Unary.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Unary.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Unary.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33323,18 +43455,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#BitwiseNot"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseNot-3652"><a href="#BitwiseNot-3652"><span class="linenos">3652</span></a><span class="k">class</span> <span class="nc">BitwiseNot</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="BitwiseNot-3653"><a href="#BitwiseNot-3653"><span class="linenos">3653</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="BitwiseNot-3672"><a href="#BitwiseNot-3672"><span class="linenos">3672</span></a><span class="k">class</span> <span class="nc">BitwiseNot</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="BitwiseNot-3673"><a href="#BitwiseNot-3673"><span class="linenos">3673</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="BitwiseNot.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bitwisenot&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#BitwiseNot.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="BitwiseNot.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="BitwiseNot.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="BitwiseNot.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="BitwiseNot.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="BitwiseNot.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="BitwiseNot.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="BitwiseNot.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="BitwiseNot.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="BitwiseNot.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="BitwiseNot.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33344,7 +43494,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="BitwiseNot.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="BitwiseNot.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="BitwiseNot.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="BitwiseNot.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="BitwiseNot.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="BitwiseNot.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="BitwiseNot.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="BitwiseNot.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="BitwiseNot.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="BitwiseNot.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="BitwiseNot.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33403,18 +43557,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Not"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Not-3656"><a href="#Not-3656"><span class="linenos">3656</span></a><span class="k">class</span> <span class="nc">Not</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="Not-3657"><a href="#Not-3657"><span class="linenos">3657</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Not-3676"><a href="#Not-3676"><span class="linenos">3676</span></a><span class="k">class</span> <span class="nc">Not</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="Not-3677"><a href="#Not-3677"><span class="linenos">3677</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Not.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;not&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Not.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Not.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Not.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Not.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Not.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Not.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Not.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Not.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Not.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Not.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Not.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33424,7 +43596,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Not.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Not.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Not.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Not.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Not.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Not.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Not.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Not.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Not.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Not.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Not.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33483,17 +43659,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Paren"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Paren-3660"><a href="#Paren-3660"><span class="linenos">3660</span></a><span class="k">class</span> <span class="nc">Paren</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="Paren-3661"><a href="#Paren-3661"><span class="linenos">3661</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Paren-3662"><a href="#Paren-3662"><span class="linenos">3662</span></a>
-</span><span id="Paren-3663"><a href="#Paren-3663"><span class="linenos">3663</span></a> <span class="nd">@property</span>
-</span><span id="Paren-3664"><a href="#Paren-3664"><span class="linenos">3664</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Paren-3665"><a href="#Paren-3665"><span class="linenos">3665</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Paren-3680"><a href="#Paren-3680"><span class="linenos">3680</span></a><span class="k">class</span> <span class="nc">Paren</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="Paren-3681"><a href="#Paren-3681"><span class="linenos">3681</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;with&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Paren-3682"><a href="#Paren-3682"><span class="linenos">3682</span></a>
+</span><span id="Paren-3683"><a href="#Paren-3683"><span class="linenos">3683</span></a> <span class="nd">@property</span>
+</span><span id="Paren-3684"><a href="#Paren-3684"><span class="linenos">3684</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Paren-3685"><a href="#Paren-3685"><span class="linenos">3685</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
</span></pre></div>
+ <div id="Paren.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;with&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Paren.arg_types"></a>
+
+
+
+ </div>
<div id="Paren.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -33524,11 +43712,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Paren.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;paren&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Paren.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Paren.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Paren.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Paren.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Paren.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Paren.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Paren.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Paren.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Paren.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Paren.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33538,6 +43743,10 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Paren.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Paren.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Paren.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Paren.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Paren.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Paren.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Paren.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Paren.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Paren.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Paren.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33596,18 +43805,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Neg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Neg-3668"><a href="#Neg-3668"><span class="linenos">3668</span></a><span class="k">class</span> <span class="nc">Neg</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
-</span><span id="Neg-3669"><a href="#Neg-3669"><span class="linenos">3669</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Neg-3688"><a href="#Neg-3688"><span class="linenos">3688</span></a><span class="k">class</span> <span class="nc">Neg</span><span class="p">(</span><span class="n">Unary</span><span class="p">):</span>
+</span><span id="Neg-3689"><a href="#Neg-3689"><span class="linenos">3689</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Neg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;neg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Neg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Neg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Neg.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Neg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Neg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Neg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Neg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Neg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Neg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Neg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Neg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33617,7 +43844,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Neg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Neg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Neg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Neg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Neg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Neg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Neg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Neg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Neg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Neg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Neg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33676,17 +43907,29 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Alias"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Alias-3672"><a href="#Alias-3672"><span class="linenos">3672</span></a><span class="k">class</span> <span class="nc">Alias</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Alias-3673"><a href="#Alias-3673"><span class="linenos">3673</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Alias-3674"><a href="#Alias-3674"><span class="linenos">3674</span></a>
-</span><span id="Alias-3675"><a href="#Alias-3675"><span class="linenos">3675</span></a> <span class="nd">@property</span>
-</span><span id="Alias-3676"><a href="#Alias-3676"><span class="linenos">3676</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Alias-3677"><a href="#Alias-3677"><span class="linenos">3677</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Alias-3692"><a href="#Alias-3692"><span class="linenos">3692</span></a><span class="k">class</span> <span class="nc">Alias</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Alias-3693"><a href="#Alias-3693"><span class="linenos">3693</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;alias&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Alias-3694"><a href="#Alias-3694"><span class="linenos">3694</span></a>
+</span><span id="Alias-3695"><a href="#Alias-3695"><span class="linenos">3695</span></a> <span class="nd">@property</span>
+</span><span id="Alias-3696"><a href="#Alias-3696"><span class="linenos">3696</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Alias-3697"><a href="#Alias-3697"><span class="linenos">3697</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">alias</span>
</span></pre></div>
+ <div id="Alias.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;alias&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Alias.arg_types"></a>
+
+
+
+ </div>
<div id="Alias.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -33717,11 +43960,28 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
+ <div id="Alias.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;alias&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Alias.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Alias.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Alias.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Alias.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Alias.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Alias.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Alias.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Alias.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Alias.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Alias.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33731,6 +43991,10 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Alias.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Alias.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Alias.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Alias.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Alias.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Alias.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Alias.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Alias.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Alias.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Alias.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33774,22 +44038,62 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Aliases"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Aliases-3680"><a href="#Aliases-3680"><span class="linenos">3680</span></a><span class="k">class</span> <span class="nc">Aliases</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Aliases-3681"><a href="#Aliases-3681"><span class="linenos">3681</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Aliases-3682"><a href="#Aliases-3682"><span class="linenos">3682</span></a>
-</span><span id="Aliases-3683"><a href="#Aliases-3683"><span class="linenos">3683</span></a> <span class="nd">@property</span>
-</span><span id="Aliases-3684"><a href="#Aliases-3684"><span class="linenos">3684</span></a> <span class="k">def</span> <span class="nf">aliases</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-</span><span id="Aliases-3685"><a href="#Aliases-3685"><span class="linenos">3685</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Aliases-3700"><a href="#Aliases-3700"><span class="linenos">3700</span></a><span class="k">class</span> <span class="nc">Aliases</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Aliases-3701"><a href="#Aliases-3701"><span class="linenos">3701</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Aliases-3702"><a href="#Aliases-3702"><span class="linenos">3702</span></a>
+</span><span id="Aliases-3703"><a href="#Aliases-3703"><span class="linenos">3703</span></a> <span class="nd">@property</span>
+</span><span id="Aliases-3704"><a href="#Aliases-3704"><span class="linenos">3704</span></a> <span class="k">def</span> <span class="nf">aliases</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+</span><span id="Aliases-3705"><a href="#Aliases-3705"><span class="linenos">3705</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span>
</span></pre></div>
+ <div id="Aliases.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Aliases.arg_types"></a>
+
+
+
+ </div>
+ <div id="Aliases.aliases" class="classattr">
+ <div class="attr variable">
+ <span class="name">aliases</span>
+
+
+ </div>
+ <a class="headerlink" href="#Aliases.aliases"></a>
+
+
+
+ </div>
+ <div id="Aliases.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;aliases&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Aliases.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Aliases.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Aliases.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Aliases.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Aliases.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Aliases.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Aliases.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Aliases.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Aliases.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Aliases.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33799,7 +44103,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Aliases.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Aliases.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Aliases.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Aliases.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Aliases.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Aliases.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Aliases.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Aliases.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Aliases.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Aliases.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Aliases.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33843,18 +44151,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#AtTimeZone"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AtTimeZone-3688"><a href="#AtTimeZone-3688"><span class="linenos">3688</span></a><span class="k">class</span> <span class="nc">AtTimeZone</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="AtTimeZone-3689"><a href="#AtTimeZone-3689"><span class="linenos">3689</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AtTimeZone-3708"><a href="#AtTimeZone-3708"><span class="linenos">3708</span></a><span class="k">class</span> <span class="nc">AtTimeZone</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="AtTimeZone-3709"><a href="#AtTimeZone-3709"><span class="linenos">3709</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="AtTimeZone.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;zone&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#AtTimeZone.arg_types"></a>
+
+
+
+ </div>
+ <div id="AtTimeZone.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;attimezone&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AtTimeZone.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AtTimeZone.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AtTimeZone.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AtTimeZone.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AtTimeZone.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AtTimeZone.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AtTimeZone.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AtTimeZone.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AtTimeZone.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AtTimeZone.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33864,7 +44201,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="AtTimeZone.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AtTimeZone.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AtTimeZone.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AtTimeZone.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AtTimeZone.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AtTimeZone.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AtTimeZone.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AtTimeZone.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AtTimeZone.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AtTimeZone.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AtTimeZone.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33908,18 +44249,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Between"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Between-3692"><a href="#Between-3692"><span class="linenos">3692</span></a><span class="k">class</span> <span class="nc">Between</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
-</span><span id="Between-3693"><a href="#Between-3693"><span class="linenos">3693</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;low&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;high&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Between-3712"><a href="#Between-3712"><span class="linenos">3712</span></a><span class="k">class</span> <span class="nc">Between</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
+</span><span id="Between-3713"><a href="#Between-3713"><span class="linenos">3713</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;low&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;high&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Between.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;low&#39;: True, &#39;high&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Between.arg_types"></a>
+
+
+
+ </div>
+ <div id="Between.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;between&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Between.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Between.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Between.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Between.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Between.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Between.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Between.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Between.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Between.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Between.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -33929,7 +44299,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Between.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Between.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Between.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Between.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Between.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Between.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Between.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Between.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Between.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Between.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Between.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -33988,18 +44362,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Bracket"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Bracket-3696"><a href="#Bracket-3696"><span class="linenos">3696</span></a><span class="k">class</span> <span class="nc">Bracket</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Bracket-3697"><a href="#Bracket-3697"><span class="linenos">3697</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Bracket-3716"><a href="#Bracket-3716"><span class="linenos">3716</span></a><span class="k">class</span> <span class="nc">Bracket</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Bracket-3717"><a href="#Bracket-3717"><span class="linenos">3717</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Bracket.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Bracket.arg_types"></a>
+
+
+
+ </div>
+ <div id="Bracket.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;bracket&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Bracket.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Bracket.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Bracket.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Bracket.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Bracket.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Bracket.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Bracket.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Bracket.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Bracket.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Bracket.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34009,7 +44412,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Bracket.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Bracket.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Bracket.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Bracket.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Bracket.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Bracket.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Bracket.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Bracket.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Bracket.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Bracket.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Bracket.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34068,18 +44475,47 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Distinct"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Distinct-3700"><a href="#Distinct-3700"><span class="linenos">3700</span></a><span class="k">class</span> <span class="nc">Distinct</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Distinct-3701"><a href="#Distinct-3701"><span class="linenos">3701</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Distinct-3720"><a href="#Distinct-3720"><span class="linenos">3720</span></a><span class="k">class</span> <span class="nc">Distinct</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Distinct-3721"><a href="#Distinct-3721"><span class="linenos">3721</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Distinct.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: False, &#39;on&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Distinct.arg_types"></a>
+
+
+
+ </div>
+ <div id="Distinct.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;distinct&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Distinct.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Distinct.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Distinct.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Distinct.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Distinct.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Distinct.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Distinct.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Distinct.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Distinct.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Distinct.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34089,7 +44525,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Distinct.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Distinct.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Distinct.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Distinct.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Distinct.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Distinct.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Distinct.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Distinct.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Distinct.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Distinct.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Distinct.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34133,25 +44573,55 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#In"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="In-3704"><a href="#In-3704"><span class="linenos">3704</span></a><span class="k">class</span> <span class="nc">In</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
-</span><span id="In-3705"><a href="#In-3705"><span class="linenos">3705</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="In-3706"><a href="#In-3706"><span class="linenos">3706</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="In-3707"><a href="#In-3707"><span class="linenos">3707</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="In-3708"><a href="#In-3708"><span class="linenos">3708</span></a> <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="In-3709"><a href="#In-3709"><span class="linenos">3709</span></a> <span class="s2">&quot;unnest&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="In-3710"><a href="#In-3710"><span class="linenos">3710</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="In-3711"><a href="#In-3711"><span class="linenos">3711</span></a> <span class="s2">&quot;is_global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="In-3712"><a href="#In-3712"><span class="linenos">3712</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="In-3724"><a href="#In-3724"><span class="linenos">3724</span></a><span class="k">class</span> <span class="nc">In</span><span class="p">(</span><span class="n">Predicate</span><span class="p">):</span>
+</span><span id="In-3725"><a href="#In-3725"><span class="linenos">3725</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="In-3726"><a href="#In-3726"><span class="linenos">3726</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="In-3727"><a href="#In-3727"><span class="linenos">3727</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="In-3728"><a href="#In-3728"><span class="linenos">3728</span></a> <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="In-3729"><a href="#In-3729"><span class="linenos">3729</span></a> <span class="s2">&quot;unnest&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="In-3730"><a href="#In-3730"><span class="linenos">3730</span></a> <span class="s2">&quot;field&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="In-3731"><a href="#In-3731"><span class="linenos">3731</span></a> <span class="s2">&quot;is_global&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="In-3732"><a href="#In-3732"><span class="linenos">3732</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="In.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="In.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="In.arg_types-view-value"></label><span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False, &#39;query&#39;: False, &#39;unnest&#39;: False, &#39;field&#39;: False, &#39;is_global&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#In.arg_types"></a>
+
+
+
+ </div>
+ <div id="In.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;in&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#In.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="In.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="In.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="In.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="In.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="In.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="In.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="In.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="In.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="In.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34161,7 +44631,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="In.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="In.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="In.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="In.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="In.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="In.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="In.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="In.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="In.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="In.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="In.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34220,19 +44694,19 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#TimeUnit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeUnit-3715"><a href="#TimeUnit-3715"><span class="linenos">3715</span></a><span class="k">class</span> <span class="nc">TimeUnit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="TimeUnit-3716"><a href="#TimeUnit-3716"><span class="linenos">3716</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Automatically converts unit arg into a var.&quot;&quot;&quot;</span>
-</span><span id="TimeUnit-3717"><a href="#TimeUnit-3717"><span class="linenos">3717</span></a>
-</span><span id="TimeUnit-3718"><a href="#TimeUnit-3718"><span class="linenos">3718</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="TimeUnit-3719"><a href="#TimeUnit-3719"><span class="linenos">3719</span></a>
-</span><span id="TimeUnit-3720"><a href="#TimeUnit-3720"><span class="linenos">3720</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">args</span><span class="p">):</span>
-</span><span id="TimeUnit-3721"><a href="#TimeUnit-3721"><span class="linenos">3721</span></a> <span class="n">unit</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">&quot;unit&quot;</span><span class="p">)</span>
-</span><span id="TimeUnit-3722"><a href="#TimeUnit-3722"><span class="linenos">3722</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="p">(</span><span class="n">Column</span><span class="p">,</span> <span class="n">Literal</span><span class="p">)):</span>
-</span><span id="TimeUnit-3723"><a href="#TimeUnit-3723"><span class="linenos">3723</span></a> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;unit&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-</span><span id="TimeUnit-3724"><a href="#TimeUnit-3724"><span class="linenos">3724</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">Week</span><span class="p">):</span>
-</span><span id="TimeUnit-3725"><a href="#TimeUnit-3725"><span class="linenos">3725</span></a> <span class="n">unit</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
-</span><span id="TimeUnit-3726"><a href="#TimeUnit-3726"><span class="linenos">3726</span></a>
-</span><span id="TimeUnit-3727"><a href="#TimeUnit-3727"><span class="linenos">3727</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeUnit-3735"><a href="#TimeUnit-3735"><span class="linenos">3735</span></a><span class="k">class</span> <span class="nc">TimeUnit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="TimeUnit-3736"><a href="#TimeUnit-3736"><span class="linenos">3736</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Automatically converts unit arg into a var.&quot;&quot;&quot;</span>
+</span><span id="TimeUnit-3737"><a href="#TimeUnit-3737"><span class="linenos">3737</span></a>
+</span><span id="TimeUnit-3738"><a href="#TimeUnit-3738"><span class="linenos">3738</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="TimeUnit-3739"><a href="#TimeUnit-3739"><span class="linenos">3739</span></a>
+</span><span id="TimeUnit-3740"><a href="#TimeUnit-3740"><span class="linenos">3740</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">args</span><span class="p">):</span>
+</span><span id="TimeUnit-3741"><a href="#TimeUnit-3741"><span class="linenos">3741</span></a> <span class="n">unit</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">&quot;unit&quot;</span><span class="p">)</span>
+</span><span id="TimeUnit-3742"><a href="#TimeUnit-3742"><span class="linenos">3742</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="p">(</span><span class="n">Column</span><span class="p">,</span> <span class="n">Literal</span><span class="p">)):</span>
+</span><span id="TimeUnit-3743"><a href="#TimeUnit-3743"><span class="linenos">3743</span></a> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;unit&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+</span><span id="TimeUnit-3744"><a href="#TimeUnit-3744"><span class="linenos">3744</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">Week</span><span class="p">):</span>
+</span><span id="TimeUnit-3745"><a href="#TimeUnit-3745"><span class="linenos">3745</span></a> <span class="n">unit</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
+</span><span id="TimeUnit-3746"><a href="#TimeUnit-3746"><span class="linenos">3746</span></a>
+</span><span id="TimeUnit-3747"><a href="#TimeUnit-3747"><span class="linenos">3747</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
</span></pre></div>
@@ -34250,25 +44724,54 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#TimeUnit.__init__"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeUnit.__init__-3720"><a href="#TimeUnit.__init__-3720"><span class="linenos">3720</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">args</span><span class="p">):</span>
-</span><span id="TimeUnit.__init__-3721"><a href="#TimeUnit.__init__-3721"><span class="linenos">3721</span></a> <span class="n">unit</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">&quot;unit&quot;</span><span class="p">)</span>
-</span><span id="TimeUnit.__init__-3722"><a href="#TimeUnit.__init__-3722"><span class="linenos">3722</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="p">(</span><span class="n">Column</span><span class="p">,</span> <span class="n">Literal</span><span class="p">)):</span>
-</span><span id="TimeUnit.__init__-3723"><a href="#TimeUnit.__init__-3723"><span class="linenos">3723</span></a> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;unit&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-</span><span id="TimeUnit.__init__-3724"><a href="#TimeUnit.__init__-3724"><span class="linenos">3724</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">Week</span><span class="p">):</span>
-</span><span id="TimeUnit.__init__-3725"><a href="#TimeUnit.__init__-3725"><span class="linenos">3725</span></a> <span class="n">unit</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
-</span><span id="TimeUnit.__init__-3726"><a href="#TimeUnit.__init__-3726"><span class="linenos">3726</span></a>
-</span><span id="TimeUnit.__init__-3727"><a href="#TimeUnit.__init__-3727"><span class="linenos">3727</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeUnit.__init__-3740"><a href="#TimeUnit.__init__-3740"><span class="linenos">3740</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">args</span><span class="p">):</span>
+</span><span id="TimeUnit.__init__-3741"><a href="#TimeUnit.__init__-3741"><span class="linenos">3741</span></a> <span class="n">unit</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">&quot;unit&quot;</span><span class="p">)</span>
+</span><span id="TimeUnit.__init__-3742"><a href="#TimeUnit.__init__-3742"><span class="linenos">3742</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="p">(</span><span class="n">Column</span><span class="p">,</span> <span class="n">Literal</span><span class="p">)):</span>
+</span><span id="TimeUnit.__init__-3743"><a href="#TimeUnit.__init__-3743"><span class="linenos">3743</span></a> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;unit&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+</span><span id="TimeUnit.__init__-3744"><a href="#TimeUnit.__init__-3744"><span class="linenos">3744</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">Week</span><span class="p">):</span>
+</span><span id="TimeUnit.__init__-3745"><a href="#TimeUnit.__init__-3745"><span class="linenos">3745</span></a> <span class="n">unit</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">unit</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
+</span><span id="TimeUnit.__init__-3746"><a href="#TimeUnit.__init__-3746"><span class="linenos">3746</span></a>
+</span><span id="TimeUnit.__init__-3747"><a href="#TimeUnit.__init__-3747"><span class="linenos">3747</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
</span></pre></div>
</div>
+ <div id="TimeUnit.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeUnit.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimeUnit.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timeunit&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeUnit.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimeUnit.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimeUnit.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeUnit.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeUnit.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeUnit.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeUnit.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimeUnit.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeUnit.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeUnit.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimeUnit.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -34277,7 +44780,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="TimeUnit.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeUnit.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeUnit.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeUnit.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeUnit.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeUnit.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeUnit.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeUnit.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeUnit.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeUnit.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeUnit.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34321,17 +44828,52 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Interval"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Interval-3730"><a href="#Interval-3730"><span class="linenos">3730</span></a><span class="k">class</span> <span class="nc">Interval</span><span class="p">(</span><span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="Interval-3731"><a href="#Interval-3731"><span class="linenos">3731</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Interval-3732"><a href="#Interval-3732"><span class="linenos">3732</span></a>
-</span><span id="Interval-3733"><a href="#Interval-3733"><span class="linenos">3733</span></a> <span class="nd">@property</span>
-</span><span id="Interval-3734"><a href="#Interval-3734"><span class="linenos">3734</span></a> <span class="k">def</span> <span class="nf">unit</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Var</span><span class="p">]:</span>
-</span><span id="Interval-3735"><a href="#Interval-3735"><span class="linenos">3735</span></a> <span class="k">return</span> <span class="bp">self</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">&quot;unit&quot;</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Interval-3750"><a href="#Interval-3750"><span class="linenos">3750</span></a><span class="k">class</span> <span class="nc">Interval</span><span class="p">(</span><span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="Interval-3751"><a href="#Interval-3751"><span class="linenos">3751</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Interval-3752"><a href="#Interval-3752"><span class="linenos">3752</span></a>
+</span><span id="Interval-3753"><a href="#Interval-3753"><span class="linenos">3753</span></a> <span class="nd">@property</span>
+</span><span id="Interval-3754"><a href="#Interval-3754"><span class="linenos">3754</span></a> <span class="k">def</span> <span class="nf">unit</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Var</span><span class="p">]:</span>
+</span><span id="Interval-3755"><a href="#Interval-3755"><span class="linenos">3755</span></a> <span class="k">return</span> <span class="bp">self</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">&quot;unit&quot;</span><span class="p">)</span>
</span></pre></div>
+ <div id="Interval.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Interval.arg_types"></a>
+
+
+
+ </div>
+ <div id="Interval.unit" class="classattr">
+ <div class="attr variable">
+ <span class="name">unit</span><span class="annotation">: Optional[<a href="#Var">sqlglot.expressions.Var</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Interval.unit"></a>
+
+
+
+ </div>
+ <div id="Interval.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;interval&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Interval.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -34340,7 +44882,12 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="Interval.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="Interval.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Interval.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Interval.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Interval.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Interval.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="Interval.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Interval.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Interval.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="Interval.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -34349,7 +44896,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="Interval.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Interval.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Interval.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Interval.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Interval.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Interval.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Interval.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Interval.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Interval.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Interval.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Interval.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34393,18 +44944,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#IgnoreNulls"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="IgnoreNulls-3738"><a href="#IgnoreNulls-3738"><span class="linenos">3738</span></a><span class="k">class</span> <span class="nc">IgnoreNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="IgnoreNulls-3739"><a href="#IgnoreNulls-3739"><span class="linenos">3739</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="IgnoreNulls-3758"><a href="#IgnoreNulls-3758"><span class="linenos">3758</span></a><span class="k">class</span> <span class="nc">IgnoreNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="IgnoreNulls-3759"><a href="#IgnoreNulls-3759"><span class="linenos">3759</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="IgnoreNulls.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ignorenulls&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#IgnoreNulls.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="IgnoreNulls.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="IgnoreNulls.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="IgnoreNulls.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="IgnoreNulls.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="IgnoreNulls.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="IgnoreNulls.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="IgnoreNulls.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="IgnoreNulls.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="IgnoreNulls.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="IgnoreNulls.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34414,7 +44983,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="IgnoreNulls.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="IgnoreNulls.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="IgnoreNulls.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="IgnoreNulls.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="IgnoreNulls.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="IgnoreNulls.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="IgnoreNulls.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="IgnoreNulls.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="IgnoreNulls.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="IgnoreNulls.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="IgnoreNulls.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34458,18 +45031,36 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#RespectNulls"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RespectNulls-3742"><a href="#RespectNulls-3742"><span class="linenos">3742</span></a><span class="k">class</span> <span class="nc">RespectNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="RespectNulls-3743"><a href="#RespectNulls-3743"><span class="linenos">3743</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RespectNulls-3762"><a href="#RespectNulls-3762"><span class="linenos">3762</span></a><span class="k">class</span> <span class="nc">RespectNulls</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="RespectNulls-3763"><a href="#RespectNulls-3763"><span class="linenos">3763</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="RespectNulls.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;respectnulls&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RespectNulls.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RespectNulls.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RespectNulls.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="RespectNulls.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RespectNulls.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RespectNulls.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RespectNulls.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RespectNulls.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RespectNulls.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RespectNulls.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RespectNulls.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34479,7 +45070,11 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<dd id="RespectNulls.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RespectNulls.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RespectNulls.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RespectNulls.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RespectNulls.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RespectNulls.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RespectNulls.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RespectNulls.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RespectNulls.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RespectNulls.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RespectNulls.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34523,53 +45118,53 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#Func"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Func-3747"><a href="#Func-3747"><span class="linenos">3747</span></a><span class="k">class</span> <span class="nc">Func</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
-</span><span id="Func-3748"><a href="#Func-3748"><span class="linenos">3748</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="Func-3749"><a href="#Func-3749"><span class="linenos">3749</span></a><span class="sd"> The base class for all function expressions.</span>
-</span><span id="Func-3750"><a href="#Func-3750"><span class="linenos">3750</span></a>
-</span><span id="Func-3751"><a href="#Func-3751"><span class="linenos">3751</span></a><span class="sd"> Attributes:</span>
-</span><span id="Func-3752"><a href="#Func-3752"><span class="linenos">3752</span></a><span class="sd"> is_var_len_args (bool): if set to True the last argument defined in arg_types will be</span>
-</span><span id="Func-3753"><a href="#Func-3753"><span class="linenos">3753</span></a><span class="sd"> treated as a variable length argument and the argument&#39;s value will be stored as a list.</span>
-</span><span id="Func-3754"><a href="#Func-3754"><span class="linenos">3754</span></a><span class="sd"> _sql_names (list): determines the SQL name (1st item in the list) and aliases (subsequent items)</span>
-</span><span id="Func-3755"><a href="#Func-3755"><span class="linenos">3755</span></a><span class="sd"> for this function expression. These values are used to map this node to a name during parsing</span>
-</span><span id="Func-3756"><a href="#Func-3756"><span class="linenos">3756</span></a><span class="sd"> as well as to provide the function&#39;s name during SQL string generation. By default the SQL</span>
-</span><span id="Func-3757"><a href="#Func-3757"><span class="linenos">3757</span></a><span class="sd"> name is set to the expression&#39;s class name transformed to snake case.</span>
-</span><span id="Func-3758"><a href="#Func-3758"><span class="linenos">3758</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="Func-3759"><a href="#Func-3759"><span class="linenos">3759</span></a>
-</span><span id="Func-3760"><a href="#Func-3760"><span class="linenos">3760</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">False</span>
-</span><span id="Func-3761"><a href="#Func-3761"><span class="linenos">3761</span></a>
-</span><span id="Func-3762"><a href="#Func-3762"><span class="linenos">3762</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func-3763"><a href="#Func-3763"><span class="linenos">3763</span></a> <span class="k">def</span> <span class="nf">from_arg_list</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
-</span><span id="Func-3764"><a href="#Func-3764"><span class="linenos">3764</span></a> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span><span class="p">:</span>
-</span><span id="Func-3765"><a href="#Func-3765"><span class="linenos">3765</span></a> <span class="n">all_arg_keys</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)</span>
-</span><span id="Func-3766"><a href="#Func-3766"><span class="linenos">3766</span></a> <span class="c1"># If this function supports variable length argument treat the last argument as such.</span>
-</span><span id="Func-3767"><a href="#Func-3767"><span class="linenos">3767</span></a> <span class="n">non_var_len_arg_keys</span> <span class="o">=</span> <span class="n">all_arg_keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span> <span class="k">else</span> <span class="n">all_arg_keys</span>
-</span><span id="Func-3768"><a href="#Func-3768"><span class="linenos">3768</span></a> <span class="n">num_non_var</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">non_var_len_arg_keys</span><span class="p">)</span>
-</span><span id="Func-3769"><a href="#Func-3769"><span class="linenos">3769</span></a>
-</span><span id="Func-3770"><a href="#Func-3770"><span class="linenos">3770</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">non_var_len_arg_keys</span><span class="p">)}</span>
-</span><span id="Func-3771"><a href="#Func-3771"><span class="linenos">3771</span></a> <span class="n">args_dict</span><span class="p">[</span><span class="n">all_arg_keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">num_non_var</span><span class="p">:]</span>
-</span><span id="Func-3772"><a href="#Func-3772"><span class="linenos">3772</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Func-3773"><a href="#Func-3773"><span class="linenos">3773</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)}</span>
-</span><span id="Func-3774"><a href="#Func-3774"><span class="linenos">3774</span></a>
-</span><span id="Func-3775"><a href="#Func-3775"><span class="linenos">3775</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="o">**</span><span class="n">args_dict</span><span class="p">)</span>
-</span><span id="Func-3776"><a href="#Func-3776"><span class="linenos">3776</span></a>
-</span><span id="Func-3777"><a href="#Func-3777"><span class="linenos">3777</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func-3778"><a href="#Func-3778"><span class="linenos">3778</span></a> <span class="k">def</span> <span class="nf">sql_names</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="Func-3779"><a href="#Func-3779"><span class="linenos">3779</span></a> <span class="k">if</span> <span class="bp">cls</span> <span class="ow">is</span> <span class="n">Func</span><span class="p">:</span>
-</span><span id="Func-3780"><a href="#Func-3780"><span class="linenos">3780</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
-</span><span id="Func-3781"><a href="#Func-3781"><span class="linenos">3781</span></a> <span class="s2">&quot;SQL name is only supported by concrete function implementations&quot;</span>
-</span><span id="Func-3782"><a href="#Func-3782"><span class="linenos">3782</span></a> <span class="p">)</span>
-</span><span id="Func-3783"><a href="#Func-3783"><span class="linenos">3783</span></a> <span class="k">if</span> <span class="s2">&quot;_sql_names&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">:</span>
-</span><span id="Func-3784"><a href="#Func-3784"><span class="linenos">3784</span></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">camel_to_snake_case</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__name__</span><span class="p">)]</span>
-</span><span id="Func-3785"><a href="#Func-3785"><span class="linenos">3785</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span>
-</span><span id="Func-3786"><a href="#Func-3786"><span class="linenos">3786</span></a>
-</span><span id="Func-3787"><a href="#Func-3787"><span class="linenos">3787</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func-3788"><a href="#Func-3788"><span class="linenos">3788</span></a> <span class="k">def</span> <span class="nf">sql_name</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="Func-3789"><a href="#Func-3789"><span class="linenos">3789</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
-</span><span id="Func-3790"><a href="#Func-3790"><span class="linenos">3790</span></a>
-</span><span id="Func-3791"><a href="#Func-3791"><span class="linenos">3791</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func-3792"><a href="#Func-3792"><span class="linenos">3792</span></a> <span class="k">def</span> <span class="nf">default_parser_mappings</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="Func-3793"><a href="#Func-3793"><span class="linenos">3793</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">name</span><span class="p">:</span> <span class="bp">cls</span><span class="o">.</span><span class="n">from_arg_list</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Func-3767"><a href="#Func-3767"><span class="linenos">3767</span></a><span class="k">class</span> <span class="nc">Func</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
+</span><span id="Func-3768"><a href="#Func-3768"><span class="linenos">3768</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="Func-3769"><a href="#Func-3769"><span class="linenos">3769</span></a><span class="sd"> The base class for all function expressions.</span>
+</span><span id="Func-3770"><a href="#Func-3770"><span class="linenos">3770</span></a>
+</span><span id="Func-3771"><a href="#Func-3771"><span class="linenos">3771</span></a><span class="sd"> Attributes:</span>
+</span><span id="Func-3772"><a href="#Func-3772"><span class="linenos">3772</span></a><span class="sd"> is_var_len_args (bool): if set to True the last argument defined in arg_types will be</span>
+</span><span id="Func-3773"><a href="#Func-3773"><span class="linenos">3773</span></a><span class="sd"> treated as a variable length argument and the argument&#39;s value will be stored as a list.</span>
+</span><span id="Func-3774"><a href="#Func-3774"><span class="linenos">3774</span></a><span class="sd"> _sql_names (list): determines the SQL name (1st item in the list) and aliases (subsequent items)</span>
+</span><span id="Func-3775"><a href="#Func-3775"><span class="linenos">3775</span></a><span class="sd"> for this function expression. These values are used to map this node to a name during parsing</span>
+</span><span id="Func-3776"><a href="#Func-3776"><span class="linenos">3776</span></a><span class="sd"> as well as to provide the function&#39;s name during SQL string generation. By default the SQL</span>
+</span><span id="Func-3777"><a href="#Func-3777"><span class="linenos">3777</span></a><span class="sd"> name is set to the expression&#39;s class name transformed to snake case.</span>
+</span><span id="Func-3778"><a href="#Func-3778"><span class="linenos">3778</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="Func-3779"><a href="#Func-3779"><span class="linenos">3779</span></a>
+</span><span id="Func-3780"><a href="#Func-3780"><span class="linenos">3780</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">False</span>
+</span><span id="Func-3781"><a href="#Func-3781"><span class="linenos">3781</span></a>
+</span><span id="Func-3782"><a href="#Func-3782"><span class="linenos">3782</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func-3783"><a href="#Func-3783"><span class="linenos">3783</span></a> <span class="k">def</span> <span class="nf">from_arg_list</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
+</span><span id="Func-3784"><a href="#Func-3784"><span class="linenos">3784</span></a> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span><span class="p">:</span>
+</span><span id="Func-3785"><a href="#Func-3785"><span class="linenos">3785</span></a> <span class="n">all_arg_keys</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)</span>
+</span><span id="Func-3786"><a href="#Func-3786"><span class="linenos">3786</span></a> <span class="c1"># If this function supports variable length argument treat the last argument as such.</span>
+</span><span id="Func-3787"><a href="#Func-3787"><span class="linenos">3787</span></a> <span class="n">non_var_len_arg_keys</span> <span class="o">=</span> <span class="n">all_arg_keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span> <span class="k">else</span> <span class="n">all_arg_keys</span>
+</span><span id="Func-3788"><a href="#Func-3788"><span class="linenos">3788</span></a> <span class="n">num_non_var</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">non_var_len_arg_keys</span><span class="p">)</span>
+</span><span id="Func-3789"><a href="#Func-3789"><span class="linenos">3789</span></a>
+</span><span id="Func-3790"><a href="#Func-3790"><span class="linenos">3790</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">non_var_len_arg_keys</span><span class="p">)}</span>
+</span><span id="Func-3791"><a href="#Func-3791"><span class="linenos">3791</span></a> <span class="n">args_dict</span><span class="p">[</span><span class="n">all_arg_keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">num_non_var</span><span class="p">:]</span>
+</span><span id="Func-3792"><a href="#Func-3792"><span class="linenos">3792</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Func-3793"><a href="#Func-3793"><span class="linenos">3793</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)}</span>
+</span><span id="Func-3794"><a href="#Func-3794"><span class="linenos">3794</span></a>
+</span><span id="Func-3795"><a href="#Func-3795"><span class="linenos">3795</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="o">**</span><span class="n">args_dict</span><span class="p">)</span>
+</span><span id="Func-3796"><a href="#Func-3796"><span class="linenos">3796</span></a>
+</span><span id="Func-3797"><a href="#Func-3797"><span class="linenos">3797</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func-3798"><a href="#Func-3798"><span class="linenos">3798</span></a> <span class="k">def</span> <span class="nf">sql_names</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="Func-3799"><a href="#Func-3799"><span class="linenos">3799</span></a> <span class="k">if</span> <span class="bp">cls</span> <span class="ow">is</span> <span class="n">Func</span><span class="p">:</span>
+</span><span id="Func-3800"><a href="#Func-3800"><span class="linenos">3800</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
+</span><span id="Func-3801"><a href="#Func-3801"><span class="linenos">3801</span></a> <span class="s2">&quot;SQL name is only supported by concrete function implementations&quot;</span>
+</span><span id="Func-3802"><a href="#Func-3802"><span class="linenos">3802</span></a> <span class="p">)</span>
+</span><span id="Func-3803"><a href="#Func-3803"><span class="linenos">3803</span></a> <span class="k">if</span> <span class="s2">&quot;_sql_names&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">:</span>
+</span><span id="Func-3804"><a href="#Func-3804"><span class="linenos">3804</span></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">camel_to_snake_case</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__name__</span><span class="p">)]</span>
+</span><span id="Func-3805"><a href="#Func-3805"><span class="linenos">3805</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span>
+</span><span id="Func-3806"><a href="#Func-3806"><span class="linenos">3806</span></a>
+</span><span id="Func-3807"><a href="#Func-3807"><span class="linenos">3807</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func-3808"><a href="#Func-3808"><span class="linenos">3808</span></a> <span class="k">def</span> <span class="nf">sql_name</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="Func-3809"><a href="#Func-3809"><span class="linenos">3809</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
+</span><span id="Func-3810"><a href="#Func-3810"><span class="linenos">3810</span></a>
+</span><span id="Func-3811"><a href="#Func-3811"><span class="linenos">3811</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func-3812"><a href="#Func-3812"><span class="linenos">3812</span></a> <span class="k">def</span> <span class="nf">default_parser_mappings</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="Func-3813"><a href="#Func-3813"><span class="linenos">3813</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">name</span><span class="p">:</span> <span class="bp">cls</span><span class="o">.</span><span class="n">from_arg_list</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()}</span>
</span></pre></div>
@@ -34588,6 +45183,18 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
+ <div id="Func.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">False</span>
+
+
+ </div>
+ <a class="headerlink" href="#Func.is_var_len_args"></a>
+
+
+
+ </div>
<div id="Func.from_arg_list" class="classattr">
<input id="Func.from_arg_list-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -34600,20 +45207,20 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Func.from_arg_list"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Func.from_arg_list-3762"><a href="#Func.from_arg_list-3762"><span class="linenos">3762</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func.from_arg_list-3763"><a href="#Func.from_arg_list-3763"><span class="linenos">3763</span></a> <span class="k">def</span> <span class="nf">from_arg_list</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
-</span><span id="Func.from_arg_list-3764"><a href="#Func.from_arg_list-3764"><span class="linenos">3764</span></a> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span><span class="p">:</span>
-</span><span id="Func.from_arg_list-3765"><a href="#Func.from_arg_list-3765"><span class="linenos">3765</span></a> <span class="n">all_arg_keys</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)</span>
-</span><span id="Func.from_arg_list-3766"><a href="#Func.from_arg_list-3766"><span class="linenos">3766</span></a> <span class="c1"># If this function supports variable length argument treat the last argument as such.</span>
-</span><span id="Func.from_arg_list-3767"><a href="#Func.from_arg_list-3767"><span class="linenos">3767</span></a> <span class="n">non_var_len_arg_keys</span> <span class="o">=</span> <span class="n">all_arg_keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span> <span class="k">else</span> <span class="n">all_arg_keys</span>
-</span><span id="Func.from_arg_list-3768"><a href="#Func.from_arg_list-3768"><span class="linenos">3768</span></a> <span class="n">num_non_var</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">non_var_len_arg_keys</span><span class="p">)</span>
-</span><span id="Func.from_arg_list-3769"><a href="#Func.from_arg_list-3769"><span class="linenos">3769</span></a>
-</span><span id="Func.from_arg_list-3770"><a href="#Func.from_arg_list-3770"><span class="linenos">3770</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">non_var_len_arg_keys</span><span class="p">)}</span>
-</span><span id="Func.from_arg_list-3771"><a href="#Func.from_arg_list-3771"><span class="linenos">3771</span></a> <span class="n">args_dict</span><span class="p">[</span><span class="n">all_arg_keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">num_non_var</span><span class="p">:]</span>
-</span><span id="Func.from_arg_list-3772"><a href="#Func.from_arg_list-3772"><span class="linenos">3772</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="Func.from_arg_list-3773"><a href="#Func.from_arg_list-3773"><span class="linenos">3773</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)}</span>
-</span><span id="Func.from_arg_list-3774"><a href="#Func.from_arg_list-3774"><span class="linenos">3774</span></a>
-</span><span id="Func.from_arg_list-3775"><a href="#Func.from_arg_list-3775"><span class="linenos">3775</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="o">**</span><span class="n">args_dict</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Func.from_arg_list-3782"><a href="#Func.from_arg_list-3782"><span class="linenos">3782</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func.from_arg_list-3783"><a href="#Func.from_arg_list-3783"><span class="linenos">3783</span></a> <span class="k">def</span> <span class="nf">from_arg_list</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
+</span><span id="Func.from_arg_list-3784"><a href="#Func.from_arg_list-3784"><span class="linenos">3784</span></a> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span><span class="p">:</span>
+</span><span id="Func.from_arg_list-3785"><a href="#Func.from_arg_list-3785"><span class="linenos">3785</span></a> <span class="n">all_arg_keys</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)</span>
+</span><span id="Func.from_arg_list-3786"><a href="#Func.from_arg_list-3786"><span class="linenos">3786</span></a> <span class="c1"># If this function supports variable length argument treat the last argument as such.</span>
+</span><span id="Func.from_arg_list-3787"><a href="#Func.from_arg_list-3787"><span class="linenos">3787</span></a> <span class="n">non_var_len_arg_keys</span> <span class="o">=</span> <span class="n">all_arg_keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">if</span> <span class="bp">cls</span><span class="o">.</span><span class="n">is_var_len_args</span> <span class="k">else</span> <span class="n">all_arg_keys</span>
+</span><span id="Func.from_arg_list-3788"><a href="#Func.from_arg_list-3788"><span class="linenos">3788</span></a> <span class="n">num_non_var</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">non_var_len_arg_keys</span><span class="p">)</span>
+</span><span id="Func.from_arg_list-3789"><a href="#Func.from_arg_list-3789"><span class="linenos">3789</span></a>
+</span><span id="Func.from_arg_list-3790"><a href="#Func.from_arg_list-3790"><span class="linenos">3790</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">non_var_len_arg_keys</span><span class="p">)}</span>
+</span><span id="Func.from_arg_list-3791"><a href="#Func.from_arg_list-3791"><span class="linenos">3791</span></a> <span class="n">args_dict</span><span class="p">[</span><span class="n">all_arg_keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">num_non_var</span><span class="p">:]</span>
+</span><span id="Func.from_arg_list-3792"><a href="#Func.from_arg_list-3792"><span class="linenos">3792</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="Func.from_arg_list-3793"><a href="#Func.from_arg_list-3793"><span class="linenos">3793</span></a> <span class="n">args_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">arg_key</span><span class="p">:</span> <span class="n">arg</span> <span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">arg_key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">cls</span><span class="o">.</span><span class="n">arg_types</span><span class="p">)}</span>
+</span><span id="Func.from_arg_list-3794"><a href="#Func.from_arg_list-3794"><span class="linenos">3794</span></a>
+</span><span id="Func.from_arg_list-3795"><a href="#Func.from_arg_list-3795"><span class="linenos">3795</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="o">**</span><span class="n">args_dict</span><span class="p">)</span>
</span></pre></div>
@@ -34632,15 +45239,15 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Func.sql_names"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Func.sql_names-3777"><a href="#Func.sql_names-3777"><span class="linenos">3777</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func.sql_names-3778"><a href="#Func.sql_names-3778"><span class="linenos">3778</span></a> <span class="k">def</span> <span class="nf">sql_names</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="Func.sql_names-3779"><a href="#Func.sql_names-3779"><span class="linenos">3779</span></a> <span class="k">if</span> <span class="bp">cls</span> <span class="ow">is</span> <span class="n">Func</span><span class="p">:</span>
-</span><span id="Func.sql_names-3780"><a href="#Func.sql_names-3780"><span class="linenos">3780</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
-</span><span id="Func.sql_names-3781"><a href="#Func.sql_names-3781"><span class="linenos">3781</span></a> <span class="s2">&quot;SQL name is only supported by concrete function implementations&quot;</span>
-</span><span id="Func.sql_names-3782"><a href="#Func.sql_names-3782"><span class="linenos">3782</span></a> <span class="p">)</span>
-</span><span id="Func.sql_names-3783"><a href="#Func.sql_names-3783"><span class="linenos">3783</span></a> <span class="k">if</span> <span class="s2">&quot;_sql_names&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">:</span>
-</span><span id="Func.sql_names-3784"><a href="#Func.sql_names-3784"><span class="linenos">3784</span></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">camel_to_snake_case</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__name__</span><span class="p">)]</span>
-</span><span id="Func.sql_names-3785"><a href="#Func.sql_names-3785"><span class="linenos">3785</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Func.sql_names-3797"><a href="#Func.sql_names-3797"><span class="linenos">3797</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func.sql_names-3798"><a href="#Func.sql_names-3798"><span class="linenos">3798</span></a> <span class="k">def</span> <span class="nf">sql_names</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="Func.sql_names-3799"><a href="#Func.sql_names-3799"><span class="linenos">3799</span></a> <span class="k">if</span> <span class="bp">cls</span> <span class="ow">is</span> <span class="n">Func</span><span class="p">:</span>
+</span><span id="Func.sql_names-3800"><a href="#Func.sql_names-3800"><span class="linenos">3800</span></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
+</span><span id="Func.sql_names-3801"><a href="#Func.sql_names-3801"><span class="linenos">3801</span></a> <span class="s2">&quot;SQL name is only supported by concrete function implementations&quot;</span>
+</span><span id="Func.sql_names-3802"><a href="#Func.sql_names-3802"><span class="linenos">3802</span></a> <span class="p">)</span>
+</span><span id="Func.sql_names-3803"><a href="#Func.sql_names-3803"><span class="linenos">3803</span></a> <span class="k">if</span> <span class="s2">&quot;_sql_names&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">:</span>
+</span><span id="Func.sql_names-3804"><a href="#Func.sql_names-3804"><span class="linenos">3804</span></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">camel_to_snake_case</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__name__</span><span class="p">)]</span>
+</span><span id="Func.sql_names-3805"><a href="#Func.sql_names-3805"><span class="linenos">3805</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_sql_names</span>
</span></pre></div>
@@ -34659,9 +45266,9 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Func.sql_name"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Func.sql_name-3787"><a href="#Func.sql_name-3787"><span class="linenos">3787</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func.sql_name-3788"><a href="#Func.sql_name-3788"><span class="linenos">3788</span></a> <span class="k">def</span> <span class="nf">sql_name</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="Func.sql_name-3789"><a href="#Func.sql_name-3789"><span class="linenos">3789</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Func.sql_name-3807"><a href="#Func.sql_name-3807"><span class="linenos">3807</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func.sql_name-3808"><a href="#Func.sql_name-3808"><span class="linenos">3808</span></a> <span class="k">def</span> <span class="nf">sql_name</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="Func.sql_name-3809"><a href="#Func.sql_name-3809"><span class="linenos">3809</span></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
</span></pre></div>
@@ -34680,20 +45287,38 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Func.default_parser_mappings"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Func.default_parser_mappings-3791"><a href="#Func.default_parser_mappings-3791"><span class="linenos">3791</span></a> <span class="nd">@classmethod</span>
-</span><span id="Func.default_parser_mappings-3792"><a href="#Func.default_parser_mappings-3792"><span class="linenos">3792</span></a> <span class="k">def</span> <span class="nf">default_parser_mappings</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
-</span><span id="Func.default_parser_mappings-3793"><a href="#Func.default_parser_mappings-3793"><span class="linenos">3793</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">name</span><span class="p">:</span> <span class="bp">cls</span><span class="o">.</span><span class="n">from_arg_list</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Func.default_parser_mappings-3811"><a href="#Func.default_parser_mappings-3811"><span class="linenos">3811</span></a> <span class="nd">@classmethod</span>
+</span><span id="Func.default_parser_mappings-3812"><a href="#Func.default_parser_mappings-3812"><span class="linenos">3812</span></a> <span class="k">def</span> <span class="nf">default_parser_mappings</span><span class="p">(</span><span class="bp">cls</span><span class="p">):</span>
+</span><span id="Func.default_parser_mappings-3813"><a href="#Func.default_parser_mappings-3813"><span class="linenos">3813</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">name</span><span class="p">:</span> <span class="bp">cls</span><span class="o">.</span><span class="n">from_arg_list</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">sql_names</span><span class="p">()}</span>
</span></pre></div>
</div>
+ <div id="Func.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;func&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Func.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Func.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Func.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Func.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Func.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Func.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Func.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Func.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Func.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Func.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Func.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34703,7 +45328,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Func.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Func.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Func.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Func.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Func.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Func.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Func.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Func.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Func.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Func.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Func.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34762,18 +45391,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#AggFunc"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AggFunc-3796"><a href="#AggFunc-3796"><span class="linenos">3796</span></a><span class="k">class</span> <span class="nc">AggFunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="AggFunc-3797"><a href="#AggFunc-3797"><span class="linenos">3797</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AggFunc-3816"><a href="#AggFunc-3816"><span class="linenos">3816</span></a><span class="k">class</span> <span class="nc">AggFunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="AggFunc-3817"><a href="#AggFunc-3817"><span class="linenos">3817</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="AggFunc.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;aggfunc&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AggFunc.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AggFunc.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AggFunc.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="AggFunc.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AggFunc.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AggFunc.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AggFunc.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AggFunc.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AggFunc.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AggFunc.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AggFunc.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34783,7 +45430,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="AggFunc.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AggFunc.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AggFunc.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AggFunc.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AggFunc.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AggFunc.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AggFunc.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AggFunc.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AggFunc.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AggFunc.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AggFunc.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34814,7 +45465,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="AggFunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="AggFunc.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="AggFunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="AggFunc.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="AggFunc.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="AggFunc.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -34849,18 +45501,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ParameterizedAgg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ParameterizedAgg-3800"><a href="#ParameterizedAgg-3800"><span class="linenos">3800</span></a><span class="k">class</span> <span class="nc">ParameterizedAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="ParameterizedAgg-3801"><a href="#ParameterizedAgg-3801"><span class="linenos">3801</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;params&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ParameterizedAgg-3820"><a href="#ParameterizedAgg-3820"><span class="linenos">3820</span></a><span class="k">class</span> <span class="nc">ParameterizedAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="ParameterizedAgg-3821"><a href="#ParameterizedAgg-3821"><span class="linenos">3821</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;params&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="ParameterizedAgg.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True, &#39;params&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ParameterizedAgg.arg_types"></a>
+
+
+
+ </div>
+ <div id="ParameterizedAgg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;parameterizedagg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ParameterizedAgg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ParameterizedAgg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ParameterizedAgg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ParameterizedAgg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ParameterizedAgg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ParameterizedAgg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ParameterizedAgg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ParameterizedAgg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ParameterizedAgg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ParameterizedAgg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34870,7 +45551,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ParameterizedAgg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ParameterizedAgg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ParameterizedAgg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ParameterizedAgg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ParameterizedAgg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ParameterizedAgg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ParameterizedAgg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ParameterizedAgg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ParameterizedAgg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ParameterizedAgg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ParameterizedAgg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34901,7 +45586,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ParameterizedAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ParameterizedAgg.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ParameterizedAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ParameterizedAgg.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ParameterizedAgg.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ParameterizedAgg.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -34936,18 +45622,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Abs"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Abs-3804"><a href="#Abs-3804"><span class="linenos">3804</span></a><span class="k">class</span> <span class="nc">Abs</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Abs-3805"><a href="#Abs-3805"><span class="linenos">3805</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Abs-3824"><a href="#Abs-3824"><span class="linenos">3824</span></a><span class="k">class</span> <span class="nc">Abs</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Abs-3825"><a href="#Abs-3825"><span class="linenos">3825</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Abs.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;abs&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Abs.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Abs.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Abs.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Abs.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Abs.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Abs.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Abs.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Abs.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Abs.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Abs.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Abs.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -34957,7 +45661,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Abs.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Abs.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Abs.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Abs.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Abs.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Abs.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Abs.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Abs.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Abs.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Abs.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Abs.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -34988,7 +45696,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Abs.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Abs.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Abs.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Abs.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Abs.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Abs.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35023,19 +45732,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Anonymous"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Anonymous-3808"><a href="#Anonymous-3808"><span class="linenos">3808</span></a><span class="k">class</span> <span class="nc">Anonymous</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Anonymous-3809"><a href="#Anonymous-3809"><span class="linenos">3809</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Anonymous-3810"><a href="#Anonymous-3810"><span class="linenos">3810</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Anonymous-3828"><a href="#Anonymous-3828"><span class="linenos">3828</span></a><span class="k">class</span> <span class="nc">Anonymous</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Anonymous-3829"><a href="#Anonymous-3829"><span class="linenos">3829</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Anonymous-3830"><a href="#Anonymous-3830"><span class="linenos">3830</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Anonymous.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Anonymous.arg_types"></a>
+
+
+
+ </div>
+ <div id="Anonymous.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Anonymous.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Anonymous.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;anonymous&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Anonymous.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Anonymous.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Anonymous.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Anonymous.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Anonymous.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Anonymous.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Anonymous.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Anonymous.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Anonymous.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Anonymous.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35045,7 +45795,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Anonymous.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Anonymous.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Anonymous.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Anonymous.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Anonymous.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Anonymous.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Anonymous.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Anonymous.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Anonymous.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Anonymous.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Anonymous.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35111,19 +45865,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Hll"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Hll-3815"><a href="#Hll-3815"><span class="linenos">3815</span></a><span class="k">class</span> <span class="nc">Hll</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Hll-3816"><a href="#Hll-3816"><span class="linenos">3816</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Hll-3817"><a href="#Hll-3817"><span class="linenos">3817</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Hll-3835"><a href="#Hll-3835"><span class="linenos">3835</span></a><span class="k">class</span> <span class="nc">Hll</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Hll-3836"><a href="#Hll-3836"><span class="linenos">3836</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Hll-3837"><a href="#Hll-3837"><span class="linenos">3837</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Hll.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Hll.arg_types"></a>
+
+
+
+ </div>
+ <div id="Hll.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Hll.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Hll.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;hll&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Hll.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Hll.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Hll.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Hll.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Hll.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Hll.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Hll.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Hll.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Hll.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Hll.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35133,7 +45928,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Hll.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Hll.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Hll.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Hll.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Hll.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Hll.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Hll.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Hll.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Hll.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Hll.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Hll.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35199,19 +45998,48 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ApproxDistinct"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ApproxDistinct-3820"><a href="#ApproxDistinct-3820"><span class="linenos">3820</span></a><span class="k">class</span> <span class="nc">ApproxDistinct</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="ApproxDistinct-3821"><a href="#ApproxDistinct-3821"><span class="linenos">3821</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="ApproxDistinct-3822"><a href="#ApproxDistinct-3822"><span class="linenos">3822</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;APPROX_DISTINCT&quot;</span><span class="p">,</span> <span class="s2">&quot;APPROX_COUNT_DISTINCT&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ApproxDistinct-3840"><a href="#ApproxDistinct-3840"><span class="linenos">3840</span></a><span class="k">class</span> <span class="nc">ApproxDistinct</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="ApproxDistinct-3841"><a href="#ApproxDistinct-3841"><span class="linenos">3841</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="ApproxDistinct-3842"><a href="#ApproxDistinct-3842"><span class="linenos">3842</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;APPROX_DISTINCT&quot;</span><span class="p">,</span> <span class="s2">&quot;APPROX_COUNT_DISTINCT&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="ApproxDistinct.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;accuracy&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ApproxDistinct.arg_types"></a>
+
+
+
+ </div>
+ <div id="ApproxDistinct.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;approxdistinct&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ApproxDistinct.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ApproxDistinct.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ApproxDistinct.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ApproxDistinct.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ApproxDistinct.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ApproxDistinct.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ApproxDistinct.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ApproxDistinct.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ApproxDistinct.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ApproxDistinct.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35221,7 +46049,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ApproxDistinct.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ApproxDistinct.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ApproxDistinct.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ApproxDistinct.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ApproxDistinct.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ApproxDistinct.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ApproxDistinct.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ApproxDistinct.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ApproxDistinct.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ApproxDistinct.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ApproxDistinct.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35252,7 +46084,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ApproxDistinct.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ApproxDistinct.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ApproxDistinct.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ApproxDistinct.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ApproxDistinct.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ApproxDistinct.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35287,19 +46120,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Array"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Array-3825"><a href="#Array-3825"><span class="linenos">3825</span></a><span class="k">class</span> <span class="nc">Array</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Array-3826"><a href="#Array-3826"><span class="linenos">3826</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Array-3827"><a href="#Array-3827"><span class="linenos">3827</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Array-3845"><a href="#Array-3845"><span class="linenos">3845</span></a><span class="k">class</span> <span class="nc">Array</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Array-3846"><a href="#Array-3846"><span class="linenos">3846</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Array-3847"><a href="#Array-3847"><span class="linenos">3847</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Array.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Array.arg_types"></a>
+
+
+
+ </div>
+ <div id="Array.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Array.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Array.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;array&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Array.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Array.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Array.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Array.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Array.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Array.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Array.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Array.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Array.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Array.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35309,7 +46183,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Array.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Array.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Array.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Array.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Array.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Array.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Array.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Array.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Array.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Array.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Array.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35375,18 +46253,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ToChar"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ToChar-3831"><a href="#ToChar-3831"><span class="linenos">3831</span></a><span class="k">class</span> <span class="nc">ToChar</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ToChar-3832"><a href="#ToChar-3832"><span class="linenos">3832</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ToChar-3851"><a href="#ToChar-3851"><span class="linenos">3851</span></a><span class="k">class</span> <span class="nc">ToChar</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ToChar-3852"><a href="#ToChar-3852"><span class="linenos">3852</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ToChar.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ToChar.arg_types"></a>
+
+
+
+ </div>
+ <div id="ToChar.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tochar&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ToChar.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ToChar.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ToChar.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ToChar.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ToChar.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ToChar.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ToChar.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ToChar.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ToChar.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ToChar.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35396,7 +46303,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ToChar.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ToChar.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ToChar.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ToChar.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ToChar.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ToChar.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ToChar.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ToChar.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ToChar.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ToChar.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ToChar.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35427,7 +46338,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ToChar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ToChar.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ToChar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ToChar.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ToChar.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ToChar.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35462,18 +46374,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#GenerateSeries"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="GenerateSeries-3835"><a href="#GenerateSeries-3835"><span class="linenos">3835</span></a><span class="k">class</span> <span class="nc">GenerateSeries</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="GenerateSeries-3836"><a href="#GenerateSeries-3836"><span class="linenos">3836</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;step&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="GenerateSeries-3855"><a href="#GenerateSeries-3855"><span class="linenos">3855</span></a><span class="k">class</span> <span class="nc">GenerateSeries</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="GenerateSeries-3856"><a href="#GenerateSeries-3856"><span class="linenos">3856</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;end&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;step&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="GenerateSeries.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;start&#39;: True, &#39;end&#39;: True, &#39;step&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#GenerateSeries.arg_types"></a>
+
+
+
+ </div>
+ <div id="GenerateSeries.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;generateseries&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#GenerateSeries.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="GenerateSeries.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="GenerateSeries.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="GenerateSeries.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="GenerateSeries.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="GenerateSeries.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="GenerateSeries.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="GenerateSeries.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="GenerateSeries.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="GenerateSeries.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35483,7 +46424,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="GenerateSeries.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="GenerateSeries.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="GenerateSeries.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="GenerateSeries.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="GenerateSeries.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="GenerateSeries.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="GenerateSeries.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="GenerateSeries.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="GenerateSeries.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="GenerateSeries.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="GenerateSeries.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35514,7 +46459,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="GenerateSeries.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="GenerateSeries.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="GenerateSeries.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="GenerateSeries.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="GenerateSeries.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="GenerateSeries.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35549,18 +46495,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayAgg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayAgg-3839"><a href="#ArrayAgg-3839"><span class="linenos">3839</span></a><span class="k">class</span> <span class="nc">ArrayAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="ArrayAgg-3840"><a href="#ArrayAgg-3840"><span class="linenos">3840</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayAgg-3859"><a href="#ArrayAgg-3859"><span class="linenos">3859</span></a><span class="k">class</span> <span class="nc">ArrayAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="ArrayAgg-3860"><a href="#ArrayAgg-3860"><span class="linenos">3860</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ArrayAgg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayagg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayAgg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayAgg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayAgg.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="ArrayAgg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayAgg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayAgg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayAgg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayAgg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayAgg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayAgg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayAgg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35570,7 +46534,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayAgg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayAgg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayAgg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayAgg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayAgg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayAgg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayAgg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayAgg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayAgg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayAgg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayAgg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35601,7 +46569,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayAgg.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayAgg.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayAgg.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayAgg.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35636,18 +46605,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayAll"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayAll-3843"><a href="#ArrayAll-3843"><span class="linenos">3843</span></a><span class="k">class</span> <span class="nc">ArrayAll</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArrayAll-3844"><a href="#ArrayAll-3844"><span class="linenos">3844</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayAll-3863"><a href="#ArrayAll-3863"><span class="linenos">3863</span></a><span class="k">class</span> <span class="nc">ArrayAll</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArrayAll-3864"><a href="#ArrayAll-3864"><span class="linenos">3864</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="ArrayAll.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayAll.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArrayAll.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayall&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayAll.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayAll.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayAll.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayAll.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayAll.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayAll.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayAll.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayAll.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayAll.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayAll.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35657,7 +46655,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayAll.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayAll.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayAll.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayAll.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayAll.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayAll.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayAll.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayAll.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayAll.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayAll.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayAll.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35688,7 +46690,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayAll.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayAll.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayAll.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayAll.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayAll.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayAll.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35723,18 +46726,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayAny"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayAny-3847"><a href="#ArrayAny-3847"><span class="linenos">3847</span></a><span class="k">class</span> <span class="nc">ArrayAny</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArrayAny-3848"><a href="#ArrayAny-3848"><span class="linenos">3848</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayAny-3867"><a href="#ArrayAny-3867"><span class="linenos">3867</span></a><span class="k">class</span> <span class="nc">ArrayAny</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArrayAny-3868"><a href="#ArrayAny-3868"><span class="linenos">3868</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="ArrayAny.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayAny.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArrayAny.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayany&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayAny.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayAny.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayAny.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayAny.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayAny.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayAny.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayAny.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayAny.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayAny.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayAny.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35744,7 +46776,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayAny.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayAny.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayAny.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayAny.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayAny.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayAny.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayAny.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayAny.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayAny.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayAny.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayAny.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35775,7 +46811,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayAny.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayAny.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayAny.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayAny.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayAny.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayAny.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35810,19 +46847,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayConcat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayConcat-3851"><a href="#ArrayConcat-3851"><span class="linenos">3851</span></a><span class="k">class</span> <span class="nc">ArrayConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArrayConcat-3852"><a href="#ArrayConcat-3852"><span class="linenos">3852</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="ArrayConcat-3853"><a href="#ArrayConcat-3853"><span class="linenos">3853</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayConcat-3871"><a href="#ArrayConcat-3871"><span class="linenos">3871</span></a><span class="k">class</span> <span class="nc">ArrayConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArrayConcat-3872"><a href="#ArrayConcat-3872"><span class="linenos">3872</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="ArrayConcat-3873"><a href="#ArrayConcat-3873"><span class="linenos">3873</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="ArrayConcat.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayConcat.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArrayConcat.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayConcat.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="ArrayConcat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayconcat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayConcat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayConcat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayConcat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayConcat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayConcat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayConcat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayConcat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayConcat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayConcat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayConcat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35832,7 +46910,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayConcat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayConcat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayConcat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayConcat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayConcat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayConcat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayConcat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayConcat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayConcat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayConcat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayConcat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35898,18 +46980,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayContains"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayContains-3856"><a href="#ArrayContains-3856"><span class="linenos">3856</span></a><span class="k">class</span> <span class="nc">ArrayContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="ArrayContains-3857"><a href="#ArrayContains-3857"><span class="linenos">3857</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayContains-3876"><a href="#ArrayContains-3876"><span class="linenos">3876</span></a><span class="k">class</span> <span class="nc">ArrayContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="ArrayContains-3877"><a href="#ArrayContains-3877"><span class="linenos">3877</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ArrayContains.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arraycontains&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayContains.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayContains.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayContains.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayContains.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayContains.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayContains.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayContains.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayContains.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayContains.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayContains.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -35919,7 +47018,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayContains.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayContains.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayContains.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayContains.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayContains.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayContains.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayContains.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayContains.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayContains.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayContains.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayContains.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -35949,8 +47052,15 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayContains.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="ArrayContains.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="ArrayContains.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="ArrayContains.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayContains.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayContains.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayContains.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayContains.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayContains.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayContains.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -35985,18 +47095,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayContained"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayContained-3860"><a href="#ArrayContained-3860"><span class="linenos">3860</span></a><span class="k">class</span> <span class="nc">ArrayContained</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="ArrayContained-3861"><a href="#ArrayContained-3861"><span class="linenos">3861</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayContained-3880"><a href="#ArrayContained-3880"><span class="linenos">3880</span></a><span class="k">class</span> <span class="nc">ArrayContained</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="ArrayContained-3881"><a href="#ArrayContained-3881"><span class="linenos">3881</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ArrayContained.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arraycontained&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayContained.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayContained.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayContained.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayContained.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayContained.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayContained.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayContained.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayContained.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayContained.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayContained.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36006,7 +47133,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayContained.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayContained.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayContained.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayContained.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayContained.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayContained.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayContained.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayContained.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayContained.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayContained.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayContained.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36036,6 +47167,12 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayContained.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="ArrayContained.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="ArrayContained.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="ArrayContained.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="ArrayContained.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="ArrayContained.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -36065,19 +47202,48 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayFilter"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayFilter-3864"><a href="#ArrayFilter-3864"><span class="linenos">3864</span></a><span class="k">class</span> <span class="nc">ArrayFilter</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArrayFilter-3865"><a href="#ArrayFilter-3865"><span class="linenos">3865</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="ArrayFilter-3866"><a href="#ArrayFilter-3866"><span class="linenos">3866</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;FILTER&quot;</span><span class="p">,</span> <span class="s2">&quot;ARRAY_FILTER&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayFilter-3884"><a href="#ArrayFilter-3884"><span class="linenos">3884</span></a><span class="k">class</span> <span class="nc">ArrayFilter</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArrayFilter-3885"><a href="#ArrayFilter-3885"><span class="linenos">3885</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="ArrayFilter-3886"><a href="#ArrayFilter-3886"><span class="linenos">3886</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;FILTER&quot;</span><span class="p">,</span> <span class="s2">&quot;ARRAY_FILTER&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="ArrayFilter.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayFilter.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArrayFilter.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayfilter&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayFilter.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayFilter.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayFilter.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayFilter.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayFilter.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayFilter.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayFilter.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayFilter.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayFilter.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayFilter.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36087,7 +47253,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayFilter.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayFilter.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayFilter.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayFilter.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayFilter.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayFilter.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayFilter.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayFilter.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayFilter.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayFilter.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayFilter.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36118,7 +47288,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayFilter.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayFilter.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayFilter.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayFilter.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayFilter.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayFilter.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36153,18 +47324,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayJoin"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayJoin-3869"><a href="#ArrayJoin-3869"><span class="linenos">3869</span></a><span class="k">class</span> <span class="nc">ArrayJoin</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArrayJoin-3870"><a href="#ArrayJoin-3870"><span class="linenos">3870</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayJoin-3889"><a href="#ArrayJoin-3889"><span class="linenos">3889</span></a><span class="k">class</span> <span class="nc">ArrayJoin</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArrayJoin-3890"><a href="#ArrayJoin-3890"><span class="linenos">3890</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;null&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ArrayJoin.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;null&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayJoin.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArrayJoin.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayjoin&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayJoin.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayJoin.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayJoin.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayJoin.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayJoin.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayJoin.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayJoin.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayJoin.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayJoin.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayJoin.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36174,7 +47374,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayJoin.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayJoin.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayJoin.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayJoin.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayJoin.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayJoin.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayJoin.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayJoin.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayJoin.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayJoin.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayJoin.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36205,7 +47409,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayJoin.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayJoin.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayJoin.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayJoin.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayJoin.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayJoin.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36240,18 +47445,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArraySize"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArraySize-3873"><a href="#ArraySize-3873"><span class="linenos">3873</span></a><span class="k">class</span> <span class="nc">ArraySize</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArraySize-3874"><a href="#ArraySize-3874"><span class="linenos">3874</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArraySize-3893"><a href="#ArraySize-3893"><span class="linenos">3893</span></a><span class="k">class</span> <span class="nc">ArraySize</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArraySize-3894"><a href="#ArraySize-3894"><span class="linenos">3894</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ArraySize.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArraySize.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArraySize.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arraysize&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArraySize.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArraySize.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArraySize.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArraySize.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArraySize.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArraySize.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArraySize.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArraySize.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArraySize.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArraySize.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36261,7 +47495,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArraySize.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArraySize.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArraySize.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArraySize.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArraySize.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArraySize.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArraySize.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArraySize.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArraySize.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArraySize.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArraySize.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36292,7 +47530,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArraySize.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArraySize.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArraySize.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArraySize.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArraySize.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArraySize.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36327,18 +47566,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArraySort"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArraySort-3877"><a href="#ArraySort-3877"><span class="linenos">3877</span></a><span class="k">class</span> <span class="nc">ArraySort</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArraySort-3878"><a href="#ArraySort-3878"><span class="linenos">3878</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArraySort-3897"><a href="#ArraySort-3897"><span class="linenos">3897</span></a><span class="k">class</span> <span class="nc">ArraySort</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArraySort-3898"><a href="#ArraySort-3898"><span class="linenos">3898</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ArraySort.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArraySort.arg_types"></a>
+
+
+
+ </div>
+ <div id="ArraySort.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arraysort&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArraySort.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArraySort.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArraySort.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArraySort.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArraySort.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArraySort.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArraySort.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArraySort.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArraySort.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArraySort.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36348,7 +47616,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArraySort.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArraySort.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArraySort.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArraySort.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArraySort.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArraySort.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArraySort.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArraySort.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArraySort.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArraySort.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArraySort.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36379,7 +47651,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArraySort.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArraySort.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArraySort.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArraySort.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArraySort.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArraySort.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36414,18 +47687,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArraySum"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArraySum-3881"><a href="#ArraySum-3881"><span class="linenos">3881</span></a><span class="k">class</span> <span class="nc">ArraySum</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ArraySum-3882"><a href="#ArraySum-3882"><span class="linenos">3882</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArraySum-3901"><a href="#ArraySum-3901"><span class="linenos">3901</span></a><span class="k">class</span> <span class="nc">ArraySum</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ArraySum-3902"><a href="#ArraySum-3902"><span class="linenos">3902</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ArraySum.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arraysum&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArraySum.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArraySum.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArraySum.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="ArraySum.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArraySum.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArraySum.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArraySum.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArraySum.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArraySum.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArraySum.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArraySum.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36435,7 +47726,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArraySum.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArraySum.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArraySum.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArraySum.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArraySum.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArraySum.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArraySum.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArraySum.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArraySum.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArraySum.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArraySum.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36466,7 +47761,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArraySum.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArraySum.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArraySum.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArraySum.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArraySum.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArraySum.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36501,18 +47797,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ArrayUnionAgg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayUnionAgg-3885"><a href="#ArrayUnionAgg-3885"><span class="linenos">3885</span></a><span class="k">class</span> <span class="nc">ArrayUnionAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="ArrayUnionAgg-3886"><a href="#ArrayUnionAgg-3886"><span class="linenos">3886</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ArrayUnionAgg-3905"><a href="#ArrayUnionAgg-3905"><span class="linenos">3905</span></a><span class="k">class</span> <span class="nc">ArrayUnionAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="ArrayUnionAgg-3906"><a href="#ArrayUnionAgg-3906"><span class="linenos">3906</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ArrayUnionAgg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;arrayunionagg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ArrayUnionAgg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ArrayUnionAgg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ArrayUnionAgg.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="ArrayUnionAgg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ArrayUnionAgg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ArrayUnionAgg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ArrayUnionAgg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ArrayUnionAgg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ArrayUnionAgg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ArrayUnionAgg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ArrayUnionAgg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36522,7 +47836,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ArrayUnionAgg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ArrayUnionAgg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ArrayUnionAgg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ArrayUnionAgg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ArrayUnionAgg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ArrayUnionAgg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ArrayUnionAgg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ArrayUnionAgg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ArrayUnionAgg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ArrayUnionAgg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ArrayUnionAgg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36553,7 +47871,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ArrayUnionAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ArrayUnionAgg.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ArrayUnionAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ArrayUnionAgg.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ArrayUnionAgg.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ArrayUnionAgg.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36588,18 +47907,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Avg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Avg-3889"><a href="#Avg-3889"><span class="linenos">3889</span></a><span class="k">class</span> <span class="nc">Avg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Avg-3890"><a href="#Avg-3890"><span class="linenos">3890</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Avg-3909"><a href="#Avg-3909"><span class="linenos">3909</span></a><span class="k">class</span> <span class="nc">Avg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Avg-3910"><a href="#Avg-3910"><span class="linenos">3910</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Avg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;avg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Avg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Avg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Avg.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Avg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Avg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Avg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Avg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Avg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Avg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Avg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Avg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36609,7 +47946,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Avg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Avg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Avg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Avg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Avg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Avg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Avg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Avg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Avg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Avg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Avg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36640,7 +47981,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Avg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Avg.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Avg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Avg.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Avg.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Avg.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36675,18 +48017,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#AnyValue"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="AnyValue-3893"><a href="#AnyValue-3893"><span class="linenos">3893</span></a><span class="k">class</span> <span class="nc">AnyValue</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="AnyValue-3894"><a href="#AnyValue-3894"><span class="linenos">3894</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="AnyValue-3913"><a href="#AnyValue-3913"><span class="linenos">3913</span></a><span class="k">class</span> <span class="nc">AnyValue</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="AnyValue-3914"><a href="#AnyValue-3914"><span class="linenos">3914</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="AnyValue.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;anyvalue&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#AnyValue.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="AnyValue.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="AnyValue.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="AnyValue.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="AnyValue.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="AnyValue.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="AnyValue.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="AnyValue.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="AnyValue.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="AnyValue.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="AnyValue.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36696,7 +48056,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="AnyValue.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="AnyValue.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="AnyValue.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="AnyValue.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="AnyValue.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="AnyValue.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="AnyValue.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="AnyValue.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="AnyValue.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="AnyValue.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="AnyValue.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36727,7 +48091,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="AnyValue.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="AnyValue.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="AnyValue.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="AnyValue.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="AnyValue.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="AnyValue.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36762,29 +48127,41 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Case"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Case-3897"><a href="#Case-3897"><span class="linenos">3897</span></a><span class="k">class</span> <span class="nc">Case</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Case-3898"><a href="#Case-3898"><span class="linenos">3898</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;ifs&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Case-3899"><a href="#Case-3899"><span class="linenos">3899</span></a>
-</span><span id="Case-3900"><a href="#Case-3900"><span class="linenos">3900</span></a> <span class="k">def</span> <span class="nf">when</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">then</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
-</span><span id="Case-3901"><a href="#Case-3901"><span class="linenos">3901</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Case-3902"><a href="#Case-3902"><span class="linenos">3902</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
-</span><span id="Case-3903"><a href="#Case-3903"><span class="linenos">3903</span></a> <span class="s2">&quot;ifs&quot;</span><span class="p">,</span>
-</span><span id="Case-3904"><a href="#Case-3904"><span class="linenos">3904</span></a> <span class="n">If</span><span class="p">(</span>
-</span><span id="Case-3905"><a href="#Case-3905"><span class="linenos">3905</span></a> <span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="Case-3906"><a href="#Case-3906"><span class="linenos">3906</span></a> <span class="n">true</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="Case-3907"><a href="#Case-3907"><span class="linenos">3907</span></a> <span class="p">),</span>
-</span><span id="Case-3908"><a href="#Case-3908"><span class="linenos">3908</span></a> <span class="p">)</span>
-</span><span id="Case-3909"><a href="#Case-3909"><span class="linenos">3909</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span><span id="Case-3910"><a href="#Case-3910"><span class="linenos">3910</span></a>
-</span><span id="Case-3911"><a href="#Case-3911"><span class="linenos">3911</span></a> <span class="k">def</span> <span class="nf">else_</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
-</span><span id="Case-3912"><a href="#Case-3912"><span class="linenos">3912</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Case-3913"><a href="#Case-3913"><span class="linenos">3913</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
-</span><span id="Case-3914"><a href="#Case-3914"><span class="linenos">3914</span></a> <span class="k">return</span> <span class="n">instance</span>
-</span></pre></div>
-
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Case-3917"><a href="#Case-3917"><span class="linenos">3917</span></a><span class="k">class</span> <span class="nc">Case</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Case-3918"><a href="#Case-3918"><span class="linenos">3918</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;ifs&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Case-3919"><a href="#Case-3919"><span class="linenos">3919</span></a>
+</span><span id="Case-3920"><a href="#Case-3920"><span class="linenos">3920</span></a> <span class="k">def</span> <span class="nf">when</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">then</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
+</span><span id="Case-3921"><a href="#Case-3921"><span class="linenos">3921</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Case-3922"><a href="#Case-3922"><span class="linenos">3922</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+</span><span id="Case-3923"><a href="#Case-3923"><span class="linenos">3923</span></a> <span class="s2">&quot;ifs&quot;</span><span class="p">,</span>
+</span><span id="Case-3924"><a href="#Case-3924"><span class="linenos">3924</span></a> <span class="n">If</span><span class="p">(</span>
+</span><span id="Case-3925"><a href="#Case-3925"><span class="linenos">3925</span></a> <span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="Case-3926"><a href="#Case-3926"><span class="linenos">3926</span></a> <span class="n">true</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="Case-3927"><a href="#Case-3927"><span class="linenos">3927</span></a> <span class="p">),</span>
+</span><span id="Case-3928"><a href="#Case-3928"><span class="linenos">3928</span></a> <span class="p">)</span>
+</span><span id="Case-3929"><a href="#Case-3929"><span class="linenos">3929</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span><span id="Case-3930"><a href="#Case-3930"><span class="linenos">3930</span></a>
+</span><span id="Case-3931"><a href="#Case-3931"><span class="linenos">3931</span></a> <span class="k">def</span> <span class="nf">else_</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
+</span><span id="Case-3932"><a href="#Case-3932"><span class="linenos">3932</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Case-3933"><a href="#Case-3933"><span class="linenos">3933</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+</span><span id="Case-3934"><a href="#Case-3934"><span class="linenos">3934</span></a> <span class="k">return</span> <span class="n">instance</span>
+</span></pre></div>
+
+
+
+
+ <div id="Case.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;ifs&#39;: True, &#39;default&#39;: False}</span>
+
+ </div>
+ <a class="headerlink" href="#Case.arg_types"></a>
+
+ </div>
<div id="Case.when" class="classattr">
<input id="Case.when-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -36796,16 +48173,16 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Case.when"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Case.when-3900"><a href="#Case.when-3900"><span class="linenos">3900</span></a> <span class="k">def</span> <span class="nf">when</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">then</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
-</span><span id="Case.when-3901"><a href="#Case.when-3901"><span class="linenos">3901</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Case.when-3902"><a href="#Case.when-3902"><span class="linenos">3902</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
-</span><span id="Case.when-3903"><a href="#Case.when-3903"><span class="linenos">3903</span></a> <span class="s2">&quot;ifs&quot;</span><span class="p">,</span>
-</span><span id="Case.when-3904"><a href="#Case.when-3904"><span class="linenos">3904</span></a> <span class="n">If</span><span class="p">(</span>
-</span><span id="Case.when-3905"><a href="#Case.when-3905"><span class="linenos">3905</span></a> <span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="Case.when-3906"><a href="#Case.when-3906"><span class="linenos">3906</span></a> <span class="n">true</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="Case.when-3907"><a href="#Case.when-3907"><span class="linenos">3907</span></a> <span class="p">),</span>
-</span><span id="Case.when-3908"><a href="#Case.when-3908"><span class="linenos">3908</span></a> <span class="p">)</span>
-</span><span id="Case.when-3909"><a href="#Case.when-3909"><span class="linenos">3909</span></a> <span class="k">return</span> <span class="n">instance</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Case.when-3920"><a href="#Case.when-3920"><span class="linenos">3920</span></a> <span class="k">def</span> <span class="nf">when</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">then</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
+</span><span id="Case.when-3921"><a href="#Case.when-3921"><span class="linenos">3921</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Case.when-3922"><a href="#Case.when-3922"><span class="linenos">3922</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+</span><span id="Case.when-3923"><a href="#Case.when-3923"><span class="linenos">3923</span></a> <span class="s2">&quot;ifs&quot;</span><span class="p">,</span>
+</span><span id="Case.when-3924"><a href="#Case.when-3924"><span class="linenos">3924</span></a> <span class="n">If</span><span class="p">(</span>
+</span><span id="Case.when-3925"><a href="#Case.when-3925"><span class="linenos">3925</span></a> <span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="Case.when-3926"><a href="#Case.when-3926"><span class="linenos">3926</span></a> <span class="n">true</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="Case.when-3927"><a href="#Case.when-3927"><span class="linenos">3927</span></a> <span class="p">),</span>
+</span><span id="Case.when-3928"><a href="#Case.when-3928"><span class="linenos">3928</span></a> <span class="p">)</span>
+</span><span id="Case.when-3929"><a href="#Case.when-3929"><span class="linenos">3929</span></a> <span class="k">return</span> <span class="n">instance</span>
</span></pre></div>
@@ -36823,21 +48200,38 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Case.else_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Case.else_-3911"><a href="#Case.else_-3911"><span class="linenos">3911</span></a> <span class="k">def</span> <span class="nf">else_</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
-</span><span id="Case.else_-3912"><a href="#Case.else_-3912"><span class="linenos">3912</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="Case.else_-3913"><a href="#Case.else_-3913"><span class="linenos">3913</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
-</span><span id="Case.else_-3914"><a href="#Case.else_-3914"><span class="linenos">3914</span></a> <span class="k">return</span> <span class="n">instance</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Case.else_-3931"><a href="#Case.else_-3931"><span class="linenos">3931</span></a> <span class="k">def</span> <span class="nf">else_</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">condition</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Case</span><span class="p">:</span>
+</span><span id="Case.else_-3932"><a href="#Case.else_-3932"><span class="linenos">3932</span></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="Case.else_-3933"><a href="#Case.else_-3933"><span class="linenos">3933</span></a> <span class="n">instance</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">condition</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+</span><span id="Case.else_-3934"><a href="#Case.else_-3934"><span class="linenos">3934</span></a> <span class="k">return</span> <span class="n">instance</span>
</span></pre></div>
</div>
+ <div id="Case.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;case&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Case.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Case.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Case.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Case.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Case.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Case.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Case.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Case.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Case.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Case.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36847,7 +48241,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Case.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Case.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Case.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Case.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Case.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Case.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Case.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Case.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Case.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Case.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Case.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -36878,7 +48276,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Case.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Case.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Case.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Case.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Case.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Case.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -36913,28 +48312,62 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Cast"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Cast-3917"><a href="#Cast-3917"><span class="linenos">3917</span></a><span class="k">class</span> <span class="nc">Cast</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Cast-3918"><a href="#Cast-3918"><span class="linenos">3918</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Cast-3919"><a href="#Cast-3919"><span class="linenos">3919</span></a>
-</span><span id="Cast-3920"><a href="#Cast-3920"><span class="linenos">3920</span></a> <span class="nd">@property</span>
-</span><span id="Cast-3921"><a href="#Cast-3921"><span class="linenos">3921</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Cast-3922"><a href="#Cast-3922"><span class="linenos">3922</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
-</span><span id="Cast-3923"><a href="#Cast-3923"><span class="linenos">3923</span></a>
-</span><span id="Cast-3924"><a href="#Cast-3924"><span class="linenos">3924</span></a> <span class="nd">@property</span>
-</span><span id="Cast-3925"><a href="#Cast-3925"><span class="linenos">3925</span></a> <span class="k">def</span> <span class="nf">to</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
-</span><span id="Cast-3926"><a href="#Cast-3926"><span class="linenos">3926</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;to&quot;</span><span class="p">]</span>
-</span><span id="Cast-3927"><a href="#Cast-3927"><span class="linenos">3927</span></a>
-</span><span id="Cast-3928"><a href="#Cast-3928"><span class="linenos">3928</span></a> <span class="nd">@property</span>
-</span><span id="Cast-3929"><a href="#Cast-3929"><span class="linenos">3929</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="Cast-3930"><a href="#Cast-3930"><span class="linenos">3930</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-</span><span id="Cast-3931"><a href="#Cast-3931"><span class="linenos">3931</span></a>
-</span><span id="Cast-3932"><a href="#Cast-3932"><span class="linenos">3932</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Cast-3933"><a href="#Cast-3933"><span class="linenos">3933</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">is_type</span><span class="p">(</span><span class="o">*</span><span class="n">dtypes</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Cast-3937"><a href="#Cast-3937"><span class="linenos">3937</span></a><span class="k">class</span> <span class="nc">Cast</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Cast-3938"><a href="#Cast-3938"><span class="linenos">3938</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Cast-3939"><a href="#Cast-3939"><span class="linenos">3939</span></a>
+</span><span id="Cast-3940"><a href="#Cast-3940"><span class="linenos">3940</span></a> <span class="nd">@property</span>
+</span><span id="Cast-3941"><a href="#Cast-3941"><span class="linenos">3941</span></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Cast-3942"><a href="#Cast-3942"><span class="linenos">3942</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">this</span><span class="o">.</span><span class="n">name</span>
+</span><span id="Cast-3943"><a href="#Cast-3943"><span class="linenos">3943</span></a>
+</span><span id="Cast-3944"><a href="#Cast-3944"><span class="linenos">3944</span></a> <span class="nd">@property</span>
+</span><span id="Cast-3945"><a href="#Cast-3945"><span class="linenos">3945</span></a> <span class="k">def</span> <span class="nf">to</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataType</span><span class="p">:</span>
+</span><span id="Cast-3946"><a href="#Cast-3946"><span class="linenos">3946</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;to&quot;</span><span class="p">]</span>
+</span><span id="Cast-3947"><a href="#Cast-3947"><span class="linenos">3947</span></a>
+</span><span id="Cast-3948"><a href="#Cast-3948"><span class="linenos">3948</span></a> <span class="nd">@property</span>
+</span><span id="Cast-3949"><a href="#Cast-3949"><span class="linenos">3949</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="Cast-3950"><a href="#Cast-3950"><span class="linenos">3950</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
+</span><span id="Cast-3951"><a href="#Cast-3951"><span class="linenos">3951</span></a>
+</span><span id="Cast-3952"><a href="#Cast-3952"><span class="linenos">3952</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Cast-3953"><a href="#Cast-3953"><span class="linenos">3953</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">is_type</span><span class="p">(</span><span class="o">*</span><span class="n">dtypes</span><span class="p">)</span>
</span></pre></div>
+ <div id="Cast.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;to&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Cast.arg_types"></a>
+
+
+
+ </div>
+ <div id="Cast.name" class="classattr">
+ <div class="attr variable">
+ <span class="name">name</span><span class="annotation">: str</span>
+
+
+ </div>
+ <a class="headerlink" href="#Cast.name"></a>
+
+
+
+ </div>
+ <div id="Cast.to" class="classattr">
+ <div class="attr variable">
+ <span class="name">to</span><span class="annotation">: <a href="#DataType">sqlglot.expressions.DataType</a></span>
+
+
+ </div>
+ <a class="headerlink" href="#Cast.to"></a>
+
+
+
+ </div>
<div id="Cast.output_name" class="classattr">
<div class="attr variable">
<span class="name">output_name</span><span class="annotation">: str</span>
@@ -36976,19 +48409,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Cast.is_type"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Cast.is_type-3932"><a href="#Cast.is_type-3932"><span class="linenos">3932</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
-</span><span id="Cast.is_type-3933"><a href="#Cast.is_type-3933"><span class="linenos">3933</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">is_type</span><span class="p">(</span><span class="o">*</span><span class="n">dtypes</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Cast.is_type-3952"><a href="#Cast.is_type-3952"><span class="linenos">3952</span></a> <span class="k">def</span> <span class="nf">is_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">dtypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
+</span><span id="Cast.is_type-3953"><a href="#Cast.is_type-3953"><span class="linenos">3953</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">is_type</span><span class="p">(</span><span class="o">*</span><span class="n">dtypes</span><span class="p">)</span>
</span></pre></div>
</div>
+ <div id="Cast.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;cast&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Cast.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Cast.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Cast.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Cast.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Cast.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Cast.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Cast.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Cast.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Cast.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Cast.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -36998,6 +48448,9 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Cast.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Cast.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Cast.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Cast.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="Cast.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Cast.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Cast.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Cast.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Cast.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37028,7 +48481,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Cast.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Cast.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Cast.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Cast.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Cast.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Cast.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -37063,18 +48517,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CastToStrType"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CastToStrType-3936"><a href="#CastToStrType-3936"><span class="linenos">3936</span></a><span class="k">class</span> <span class="nc">CastToStrType</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="CastToStrType-3937"><a href="#CastToStrType-3937"><span class="linenos">3937</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CastToStrType-3956"><a href="#CastToStrType-3956"><span class="linenos">3956</span></a><span class="k">class</span> <span class="nc">CastToStrType</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="CastToStrType-3957"><a href="#CastToStrType-3957"><span class="linenos">3957</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="CastToStrType.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CastToStrType.arg_types"></a>
+
+
+
+ </div>
+ <div id="CastToStrType.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;casttostrtype&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CastToStrType.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CastToStrType.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CastToStrType.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CastToStrType.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CastToStrType.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CastToStrType.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CastToStrType.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CastToStrType.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CastToStrType.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CastToStrType.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37084,7 +48567,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CastToStrType.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CastToStrType.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CastToStrType.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CastToStrType.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CastToStrType.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CastToStrType.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CastToStrType.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CastToStrType.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CastToStrType.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CastToStrType.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CastToStrType.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37115,7 +48602,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CastToStrType.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CastToStrType.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CastToStrType.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CastToStrType.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CastToStrType.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CastToStrType.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -37150,18 +48638,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Collate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Collate-3940"><a href="#Collate-3940"><span class="linenos">3940</span></a><span class="k">class</span> <span class="nc">Collate</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="Collate-3941"><a href="#Collate-3941"><span class="linenos">3941</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Collate-3960"><a href="#Collate-3960"><span class="linenos">3960</span></a><span class="k">class</span> <span class="nc">Collate</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="Collate-3961"><a href="#Collate-3961"><span class="linenos">3961</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Collate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;collate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Collate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Collate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Collate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Collate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Collate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Collate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Collate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Collate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Collate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Collate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37171,7 +48676,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Collate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Collate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Collate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Collate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Collate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Collate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Collate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Collate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Collate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Collate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Collate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37201,6 +48710,12 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Collate.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Collate.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Collate.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Collate.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="Collate.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="Collate.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -37230,18 +48745,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TryCast"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TryCast-3944"><a href="#TryCast-3944"><span class="linenos">3944</span></a><span class="k">class</span> <span class="nc">TryCast</span><span class="p">(</span><span class="n">Cast</span><span class="p">):</span>
-</span><span id="TryCast-3945"><a href="#TryCast-3945"><span class="linenos">3945</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TryCast-3964"><a href="#TryCast-3964"><span class="linenos">3964</span></a><span class="k">class</span> <span class="nc">TryCast</span><span class="p">(</span><span class="n">Cast</span><span class="p">):</span>
+</span><span id="TryCast-3965"><a href="#TryCast-3965"><span class="linenos">3965</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TryCast.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;trycast&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TryCast.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TryCast.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TryCast.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TryCast.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TryCast.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TryCast.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TryCast.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TryCast.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TryCast.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TryCast.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37251,6 +48783,9 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TryCast.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TryCast.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TryCast.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TryCast.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
+ <dd id="TryCast.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TryCast.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TryCast.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TryCast.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TryCast.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37281,12 +48816,16 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Cast">Cast</a></dt>
- <dd id="TryCast.output_name" class="variable"><a href="#Cast.output_name">output_name</a></dd>
+ <dd id="TryCast.arg_types" class="variable"><a href="#Cast.arg_types">arg_types</a></dd>
+ <dd id="TryCast.name" class="variable"><a href="#Cast.name">name</a></dd>
+ <dd id="TryCast.to" class="variable"><a href="#Cast.to">to</a></dd>
+ <dd id="TryCast.output_name" class="variable"><a href="#Cast.output_name">output_name</a></dd>
<dd id="TryCast.is_type" class="function"><a href="#Cast.is_type">is_type</a></dd>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TryCast.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TryCast.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TryCast.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TryCast.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TryCast.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TryCast.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -37321,19 +48860,48 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Ceil"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Ceil-3948"><a href="#Ceil-3948"><span class="linenos">3948</span></a><span class="k">class</span> <span class="nc">Ceil</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Ceil-3949"><a href="#Ceil-3949"><span class="linenos">3949</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Ceil-3950"><a href="#Ceil-3950"><span class="linenos">3950</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CEIL&quot;</span><span class="p">,</span> <span class="s2">&quot;CEILING&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Ceil-3968"><a href="#Ceil-3968"><span class="linenos">3968</span></a><span class="k">class</span> <span class="nc">Ceil</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Ceil-3969"><a href="#Ceil-3969"><span class="linenos">3969</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Ceil-3970"><a href="#Ceil-3970"><span class="linenos">3970</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CEIL&quot;</span><span class="p">,</span> <span class="s2">&quot;CEILING&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Ceil.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;decimals&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Ceil.arg_types"></a>
+
+
+
+ </div>
+ <div id="Ceil.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ceil&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Ceil.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Ceil.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Ceil.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Ceil.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Ceil.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Ceil.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Ceil.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Ceil.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Ceil.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Ceil.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37343,7 +48911,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Ceil.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Ceil.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Ceil.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Ceil.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Ceil.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Ceil.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Ceil.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Ceil.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Ceil.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Ceil.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Ceil.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37374,7 +48946,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Ceil.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Ceil.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Ceil.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Ceil.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Ceil.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Ceil.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -37409,20 +48982,61 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Coalesce"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Coalesce-3953"><a href="#Coalesce-3953"><span class="linenos">3953</span></a><span class="k">class</span> <span class="nc">Coalesce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Coalesce-3954"><a href="#Coalesce-3954"><span class="linenos">3954</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Coalesce-3955"><a href="#Coalesce-3955"><span class="linenos">3955</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="Coalesce-3956"><a href="#Coalesce-3956"><span class="linenos">3956</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;COALESCE&quot;</span><span class="p">,</span> <span class="s2">&quot;IFNULL&quot;</span><span class="p">,</span> <span class="s2">&quot;NVL&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Coalesce-3973"><a href="#Coalesce-3973"><span class="linenos">3973</span></a><span class="k">class</span> <span class="nc">Coalesce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Coalesce-3974"><a href="#Coalesce-3974"><span class="linenos">3974</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Coalesce-3975"><a href="#Coalesce-3975"><span class="linenos">3975</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="Coalesce-3976"><a href="#Coalesce-3976"><span class="linenos">3976</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;COALESCE&quot;</span><span class="p">,</span> <span class="s2">&quot;IFNULL&quot;</span><span class="p">,</span> <span class="s2">&quot;NVL&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Coalesce.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Coalesce.arg_types"></a>
+
+
+
+ </div>
+ <div id="Coalesce.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Coalesce.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Coalesce.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;coalesce&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Coalesce.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Coalesce.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Coalesce.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Coalesce.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Coalesce.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Coalesce.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Coalesce.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Coalesce.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Coalesce.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Coalesce.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37432,7 +49046,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Coalesce.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Coalesce.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Coalesce.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Coalesce.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Coalesce.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Coalesce.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Coalesce.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Coalesce.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Coalesce.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Coalesce.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Coalesce.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37498,19 +49116,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Concat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Concat-3959"><a href="#Concat-3959"><span class="linenos">3959</span></a><span class="k">class</span> <span class="nc">Concat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Concat-3960"><a href="#Concat-3960"><span class="linenos">3960</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Concat-3961"><a href="#Concat-3961"><span class="linenos">3961</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Concat-3979"><a href="#Concat-3979"><span class="linenos">3979</span></a><span class="k">class</span> <span class="nc">Concat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Concat-3980"><a href="#Concat-3980"><span class="linenos">3980</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Concat-3981"><a href="#Concat-3981"><span class="linenos">3981</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Concat.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Concat.arg_types"></a>
+
+
+
+ </div>
+ <div id="Concat.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Concat.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Concat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;concat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Concat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Concat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Concat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Concat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Concat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Concat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Concat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Concat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Concat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Concat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37520,7 +49179,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Concat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Concat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Concat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Concat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Concat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Concat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Concat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Concat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Concat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Concat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Concat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37586,18 +49249,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#SafeConcat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SafeConcat-3964"><a href="#SafeConcat-3964"><span class="linenos">3964</span></a><span class="k">class</span> <span class="nc">SafeConcat</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
-</span><span id="SafeConcat-3965"><a href="#SafeConcat-3965"><span class="linenos">3965</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SafeConcat-3984"><a href="#SafeConcat-3984"><span class="linenos">3984</span></a><span class="k">class</span> <span class="nc">SafeConcat</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
+</span><span id="SafeConcat-3985"><a href="#SafeConcat-3985"><span class="linenos">3985</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="SafeConcat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;safeconcat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SafeConcat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SafeConcat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SafeConcat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SafeConcat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SafeConcat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SafeConcat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SafeConcat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SafeConcat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SafeConcat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SafeConcat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37607,7 +49287,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SafeConcat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SafeConcat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SafeConcat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SafeConcat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SafeConcat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SafeConcat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SafeConcat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SafeConcat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SafeConcat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SafeConcat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SafeConcat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37637,6 +49321,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SafeConcat.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Concat">Concat</a></dt>
+ <dd id="SafeConcat.arg_types" class="variable"><a href="#Concat.arg_types">arg_types</a></dd>
+ <dd id="SafeConcat.is_var_len_args" class="variable"><a href="#Concat.is_var_len_args">is_var_len_args</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
<dd id="SafeConcat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="SafeConcat.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
@@ -37673,18 +49362,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ConcatWs"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ConcatWs-3968"><a href="#ConcatWs-3968"><span class="linenos">3968</span></a><span class="k">class</span> <span class="nc">ConcatWs</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
-</span><span id="ConcatWs-3969"><a href="#ConcatWs-3969"><span class="linenos">3969</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CONCAT_WS&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ConcatWs-3988"><a href="#ConcatWs-3988"><span class="linenos">3988</span></a><span class="k">class</span> <span class="nc">ConcatWs</span><span class="p">(</span><span class="n">Concat</span><span class="p">):</span>
+</span><span id="ConcatWs-3989"><a href="#ConcatWs-3989"><span class="linenos">3989</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CONCAT_WS&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="ConcatWs.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;concatws&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ConcatWs.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ConcatWs.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ConcatWs.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ConcatWs.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ConcatWs.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ConcatWs.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ConcatWs.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ConcatWs.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ConcatWs.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ConcatWs.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37694,7 +49400,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ConcatWs.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ConcatWs.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ConcatWs.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ConcatWs.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ConcatWs.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ConcatWs.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ConcatWs.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ConcatWs.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ConcatWs.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ConcatWs.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ConcatWs.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37724,6 +49434,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ConcatWs.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Concat">Concat</a></dt>
+ <dd id="ConcatWs.arg_types" class="variable"><a href="#Concat.arg_types">arg_types</a></dd>
+ <dd id="ConcatWs.is_var_len_args" class="variable"><a href="#Concat.is_var_len_args">is_var_len_args</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
<dd id="ConcatWs.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ConcatWs.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
@@ -37760,19 +49475,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Count"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Count-3972"><a href="#Count-3972"><span class="linenos">3972</span></a><span class="k">class</span> <span class="nc">Count</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Count-3973"><a href="#Count-3973"><span class="linenos">3973</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Count-3974"><a href="#Count-3974"><span class="linenos">3974</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Count-3992"><a href="#Count-3992"><span class="linenos">3992</span></a><span class="k">class</span> <span class="nc">Count</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Count-3993"><a href="#Count-3993"><span class="linenos">3993</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Count-3994"><a href="#Count-3994"><span class="linenos">3994</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Count.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Count.arg_types"></a>
+
+
+
+ </div>
+ <div id="Count.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Count.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Count.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;count&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Count.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Count.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Count.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Count.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Count.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Count.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Count.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Count.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Count.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Count.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37782,7 +49538,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Count.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Count.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Count.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Count.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Count.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Count.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Count.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Count.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Count.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Count.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Count.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37848,18 +49608,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CountIf"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CountIf-3977"><a href="#CountIf-3977"><span class="linenos">3977</span></a><span class="k">class</span> <span class="nc">CountIf</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="CountIf-3978"><a href="#CountIf-3978"><span class="linenos">3978</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CountIf-3997"><a href="#CountIf-3997"><span class="linenos">3997</span></a><span class="k">class</span> <span class="nc">CountIf</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="CountIf-3998"><a href="#CountIf-3998"><span class="linenos">3998</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="CountIf.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;countif&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CountIf.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CountIf.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CountIf.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="CountIf.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CountIf.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CountIf.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CountIf.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CountIf.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CountIf.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CountIf.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CountIf.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37869,7 +49647,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CountIf.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CountIf.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CountIf.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CountIf.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CountIf.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CountIf.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CountIf.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CountIf.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CountIf.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CountIf.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CountIf.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37900,7 +49682,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CountIf.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CountIf.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CountIf.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CountIf.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CountIf.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CountIf.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -37935,18 +49718,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CurrentDate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentDate-3981"><a href="#CurrentDate-3981"><span class="linenos">3981</span></a><span class="k">class</span> <span class="nc">CurrentDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="CurrentDate-3982"><a href="#CurrentDate-3982"><span class="linenos">3982</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentDate-4001"><a href="#CurrentDate-4001"><span class="linenos">4001</span></a><span class="k">class</span> <span class="nc">CurrentDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="CurrentDate-4002"><a href="#CurrentDate-4002"><span class="linenos">4002</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="CurrentDate.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentDate.arg_types"></a>
+
+
+
+ </div>
+ <div id="CurrentDate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;currentdate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentDate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CurrentDate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CurrentDate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CurrentDate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CurrentDate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CurrentDate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CurrentDate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CurrentDate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CurrentDate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CurrentDate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -37956,7 +49768,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CurrentDate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CurrentDate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CurrentDate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CurrentDate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CurrentDate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CurrentDate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CurrentDate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CurrentDate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CurrentDate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CurrentDate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CurrentDate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -37987,7 +49803,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CurrentDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CurrentDate.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CurrentDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CurrentDate.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CurrentDate.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CurrentDate.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38022,18 +49839,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CurrentDatetime"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentDatetime-3985"><a href="#CurrentDatetime-3985"><span class="linenos">3985</span></a><span class="k">class</span> <span class="nc">CurrentDatetime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="CurrentDatetime-3986"><a href="#CurrentDatetime-3986"><span class="linenos">3986</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentDatetime-4005"><a href="#CurrentDatetime-4005"><span class="linenos">4005</span></a><span class="k">class</span> <span class="nc">CurrentDatetime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="CurrentDatetime-4006"><a href="#CurrentDatetime-4006"><span class="linenos">4006</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="CurrentDatetime.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentDatetime.arg_types"></a>
+
+
+
+ </div>
+ <div id="CurrentDatetime.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;currentdatetime&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentDatetime.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CurrentDatetime.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CurrentDatetime.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CurrentDatetime.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CurrentDatetime.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CurrentDatetime.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CurrentDatetime.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CurrentDatetime.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CurrentDatetime.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CurrentDatetime.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -38043,7 +49889,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CurrentDatetime.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CurrentDatetime.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CurrentDatetime.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CurrentDatetime.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CurrentDatetime.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CurrentDatetime.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CurrentDatetime.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CurrentDatetime.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CurrentDatetime.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CurrentDatetime.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CurrentDatetime.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38074,7 +49924,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CurrentDatetime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CurrentDatetime.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CurrentDatetime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CurrentDatetime.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CurrentDatetime.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CurrentDatetime.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38109,18 +49960,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CurrentTime"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentTime-3989"><a href="#CurrentTime-3989"><span class="linenos">3989</span></a><span class="k">class</span> <span class="nc">CurrentTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="CurrentTime-3990"><a href="#CurrentTime-3990"><span class="linenos">3990</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentTime-4009"><a href="#CurrentTime-4009"><span class="linenos">4009</span></a><span class="k">class</span> <span class="nc">CurrentTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="CurrentTime-4010"><a href="#CurrentTime-4010"><span class="linenos">4010</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="CurrentTime.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentTime.arg_types"></a>
+
+
+
+ </div>
+ <div id="CurrentTime.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;currenttime&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentTime.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CurrentTime.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CurrentTime.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CurrentTime.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CurrentTime.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CurrentTime.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CurrentTime.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CurrentTime.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CurrentTime.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CurrentTime.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -38130,7 +50010,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CurrentTime.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CurrentTime.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CurrentTime.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CurrentTime.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CurrentTime.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CurrentTime.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CurrentTime.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CurrentTime.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CurrentTime.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CurrentTime.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CurrentTime.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38161,7 +50045,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CurrentTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CurrentTime.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CurrentTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CurrentTime.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CurrentTime.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CurrentTime.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38196,18 +50081,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CurrentTimestamp"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentTimestamp-3993"><a href="#CurrentTimestamp-3993"><span class="linenos">3993</span></a><span class="k">class</span> <span class="nc">CurrentTimestamp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="CurrentTimestamp-3994"><a href="#CurrentTimestamp-3994"><span class="linenos">3994</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentTimestamp-4013"><a href="#CurrentTimestamp-4013"><span class="linenos">4013</span></a><span class="k">class</span> <span class="nc">CurrentTimestamp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="CurrentTimestamp-4014"><a href="#CurrentTimestamp-4014"><span class="linenos">4014</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="CurrentTimestamp.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentTimestamp.arg_types"></a>
+
+
+
+ </div>
+ <div id="CurrentTimestamp.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;currenttimestamp&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentTimestamp.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CurrentTimestamp.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CurrentTimestamp.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CurrentTimestamp.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CurrentTimestamp.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CurrentTimestamp.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CurrentTimestamp.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CurrentTimestamp.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CurrentTimestamp.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CurrentTimestamp.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -38217,7 +50131,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CurrentTimestamp.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CurrentTimestamp.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CurrentTimestamp.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CurrentTimestamp.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CurrentTimestamp.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CurrentTimestamp.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CurrentTimestamp.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CurrentTimestamp.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CurrentTimestamp.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CurrentTimestamp.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CurrentTimestamp.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38248,7 +50166,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CurrentTimestamp.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CurrentTimestamp.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CurrentTimestamp.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CurrentTimestamp.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CurrentTimestamp.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CurrentTimestamp.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38283,18 +50202,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#CurrentUser"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentUser-3997"><a href="#CurrentUser-3997"><span class="linenos">3997</span></a><span class="k">class</span> <span class="nc">CurrentUser</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="CurrentUser-3998"><a href="#CurrentUser-3998"><span class="linenos">3998</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="CurrentUser-4017"><a href="#CurrentUser-4017"><span class="linenos">4017</span></a><span class="k">class</span> <span class="nc">CurrentUser</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="CurrentUser-4018"><a href="#CurrentUser-4018"><span class="linenos">4018</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="CurrentUser.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentUser.arg_types"></a>
+
+
+
+ </div>
+ <div id="CurrentUser.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;currentuser&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#CurrentUser.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="CurrentUser.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="CurrentUser.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="CurrentUser.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="CurrentUser.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="CurrentUser.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="CurrentUser.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="CurrentUser.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="CurrentUser.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="CurrentUser.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -38304,7 +50252,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="CurrentUser.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="CurrentUser.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="CurrentUser.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="CurrentUser.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="CurrentUser.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="CurrentUser.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="CurrentUser.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="CurrentUser.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="CurrentUser.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="CurrentUser.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="CurrentUser.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38335,7 +50287,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="CurrentUser.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="CurrentUser.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="CurrentUser.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="CurrentUser.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="CurrentUser.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="CurrentUser.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38370,13 +50323,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateAdd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateAdd-4001"><a href="#DateAdd-4001"><span class="linenos">4001</span></a><span class="k">class</span> <span class="nc">DateAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DateAdd-4002"><a href="#DateAdd-4002"><span class="linenos">4002</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateAdd-4021"><a href="#DateAdd-4021"><span class="linenos">4021</span></a><span class="k">class</span> <span class="nc">DateAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DateAdd-4022"><a href="#DateAdd-4022"><span class="linenos">4022</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DateAdd.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateAdd.arg_types"></a>
+
+
+
+ </div>
+ <div id="DateAdd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dateadd&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateAdd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -38385,7 +50362,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateAdd.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateAdd.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateAdd.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateAdd.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38407,7 +50385,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DateAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DateAdd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateAdd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateAdd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateAdd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateAdd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DateAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateAdd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateAdd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DateAdd.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -38416,7 +50399,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateAdd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateAdd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateAdd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateAdd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateAdd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateAdd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateAdd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateAdd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateAdd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateAdd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateAdd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38460,13 +50447,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateSub"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateSub-4005"><a href="#DateSub-4005"><span class="linenos">4005</span></a><span class="k">class</span> <span class="nc">DateSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DateSub-4006"><a href="#DateSub-4006"><span class="linenos">4006</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateSub-4025"><a href="#DateSub-4025"><span class="linenos">4025</span></a><span class="k">class</span> <span class="nc">DateSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DateSub-4026"><a href="#DateSub-4026"><span class="linenos">4026</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DateSub.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateSub.arg_types"></a>
+
+
+
+ </div>
+ <div id="DateSub.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datesub&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateSub.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -38475,7 +50486,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateSub.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateSub.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateSub.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateSub.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38497,7 +50509,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DateSub.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DateSub.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateSub.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateSub.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateSub.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateSub.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DateSub.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateSub.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateSub.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DateSub.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -38506,7 +50523,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateSub.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateSub.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateSub.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateSub.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateSub.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateSub.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateSub.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateSub.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateSub.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateSub.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateSub.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38550,14 +50571,38 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateDiff"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateDiff-4009"><a href="#DateDiff-4009"><span class="linenos">4009</span></a><span class="k">class</span> <span class="nc">DateDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DateDiff-4010"><a href="#DateDiff-4010"><span class="linenos">4010</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEDIFF&quot;</span><span class="p">,</span> <span class="s2">&quot;DATE_DIFF&quot;</span><span class="p">]</span>
-</span><span id="DateDiff-4011"><a href="#DateDiff-4011"><span class="linenos">4011</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateDiff-4029"><a href="#DateDiff-4029"><span class="linenos">4029</span></a><span class="k">class</span> <span class="nc">DateDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DateDiff-4030"><a href="#DateDiff-4030"><span class="linenos">4030</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEDIFF&quot;</span><span class="p">,</span> <span class="s2">&quot;DATE_DIFF&quot;</span><span class="p">]</span>
+</span><span id="DateDiff-4031"><a href="#DateDiff-4031"><span class="linenos">4031</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DateDiff.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateDiff.arg_types"></a>
+
+
+
+ </div>
+ <div id="DateDiff.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datediff&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateDiff.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -38566,7 +50611,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateDiff.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateDiff.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateDiff.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateDiff.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38588,7 +50634,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DateDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DateDiff.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateDiff.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateDiff.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateDiff.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateDiff.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DateDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateDiff.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateDiff.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DateDiff.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -38597,7 +50648,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateDiff.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateDiff.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateDiff.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateDiff.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateDiff.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateDiff.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateDiff.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateDiff.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateDiff.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateDiff.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateDiff.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38641,18 +50696,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateTrunc"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateTrunc-4014"><a href="#DateTrunc-4014"><span class="linenos">4014</span></a><span class="k">class</span> <span class="nc">DateTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DateTrunc-4015"><a href="#DateTrunc-4015"><span class="linenos">4015</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateTrunc-4034"><a href="#DateTrunc-4034"><span class="linenos">4034</span></a><span class="k">class</span> <span class="nc">DateTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DateTrunc-4035"><a href="#DateTrunc-4035"><span class="linenos">4035</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DateTrunc.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;unit&#39;: True, &#39;this&#39;: True, &#39;zone&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateTrunc.arg_types"></a>
+
+
+
+ </div>
+ <div id="DateTrunc.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetrunc&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateTrunc.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DateTrunc.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DateTrunc.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateTrunc.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateTrunc.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateTrunc.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateTrunc.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DateTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateTrunc.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateTrunc.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -38662,7 +50746,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateTrunc.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateTrunc.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateTrunc.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateTrunc.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateTrunc.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateTrunc.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateTrunc.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateTrunc.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateTrunc.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateTrunc.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateTrunc.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38693,7 +50781,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateTrunc.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateTrunc.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateTrunc.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateTrunc.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38728,13 +50817,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DatetimeAdd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeAdd-4018"><a href="#DatetimeAdd-4018"><span class="linenos">4018</span></a><span class="k">class</span> <span class="nc">DatetimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DatetimeAdd-4019"><a href="#DatetimeAdd-4019"><span class="linenos">4019</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeAdd-4038"><a href="#DatetimeAdd-4038"><span class="linenos">4038</span></a><span class="k">class</span> <span class="nc">DatetimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DatetimeAdd-4039"><a href="#DatetimeAdd-4039"><span class="linenos">4039</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DatetimeAdd.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeAdd.arg_types"></a>
+
+
+
+ </div>
+ <div id="DatetimeAdd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetimeadd&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeAdd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -38743,7 +50856,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DatetimeAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DatetimeAdd.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DatetimeAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DatetimeAdd.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DatetimeAdd.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DatetimeAdd.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38765,7 +50879,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DatetimeAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DatetimeAdd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DatetimeAdd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DatetimeAdd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DatetimeAdd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DatetimeAdd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DatetimeAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DatetimeAdd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DatetimeAdd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DatetimeAdd.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -38774,7 +50893,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DatetimeAdd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DatetimeAdd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DatetimeAdd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DatetimeAdd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DatetimeAdd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DatetimeAdd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DatetimeAdd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DatetimeAdd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DatetimeAdd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DatetimeAdd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DatetimeAdd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38818,13 +50941,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DatetimeSub"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeSub-4022"><a href="#DatetimeSub-4022"><span class="linenos">4022</span></a><span class="k">class</span> <span class="nc">DatetimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DatetimeSub-4023"><a href="#DatetimeSub-4023"><span class="linenos">4023</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeSub-4042"><a href="#DatetimeSub-4042"><span class="linenos">4042</span></a><span class="k">class</span> <span class="nc">DatetimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DatetimeSub-4043"><a href="#DatetimeSub-4043"><span class="linenos">4043</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DatetimeSub.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeSub.arg_types"></a>
+
+
+
+ </div>
+ <div id="DatetimeSub.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetimesub&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeSub.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -38833,7 +50980,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DatetimeSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DatetimeSub.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DatetimeSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DatetimeSub.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DatetimeSub.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DatetimeSub.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38855,7 +51003,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DatetimeSub.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DatetimeSub.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DatetimeSub.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DatetimeSub.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DatetimeSub.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DatetimeSub.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DatetimeSub.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DatetimeSub.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DatetimeSub.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DatetimeSub.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -38864,7 +51017,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DatetimeSub.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DatetimeSub.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DatetimeSub.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DatetimeSub.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DatetimeSub.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DatetimeSub.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DatetimeSub.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DatetimeSub.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DatetimeSub.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DatetimeSub.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DatetimeSub.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38908,13 +51065,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DatetimeDiff"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeDiff-4026"><a href="#DatetimeDiff-4026"><span class="linenos">4026</span></a><span class="k">class</span> <span class="nc">DatetimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DatetimeDiff-4027"><a href="#DatetimeDiff-4027"><span class="linenos">4027</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeDiff-4046"><a href="#DatetimeDiff-4046"><span class="linenos">4046</span></a><span class="k">class</span> <span class="nc">DatetimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DatetimeDiff-4047"><a href="#DatetimeDiff-4047"><span class="linenos">4047</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DatetimeDiff.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeDiff.arg_types"></a>
+
+
+
+ </div>
+ <div id="DatetimeDiff.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetimediff&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeDiff.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -38923,7 +51104,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DatetimeDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DatetimeDiff.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DatetimeDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DatetimeDiff.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DatetimeDiff.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DatetimeDiff.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -38945,7 +51127,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DatetimeDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DatetimeDiff.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DatetimeDiff.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DatetimeDiff.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DatetimeDiff.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DatetimeDiff.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DatetimeDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DatetimeDiff.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DatetimeDiff.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DatetimeDiff.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -38954,7 +51141,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DatetimeDiff.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DatetimeDiff.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DatetimeDiff.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DatetimeDiff.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DatetimeDiff.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DatetimeDiff.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DatetimeDiff.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DatetimeDiff.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DatetimeDiff.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DatetimeDiff.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DatetimeDiff.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -38998,13 +51189,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DatetimeTrunc"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeTrunc-4030"><a href="#DatetimeTrunc-4030"><span class="linenos">4030</span></a><span class="k">class</span> <span class="nc">DatetimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="DatetimeTrunc-4031"><a href="#DatetimeTrunc-4031"><span class="linenos">4031</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DatetimeTrunc-4050"><a href="#DatetimeTrunc-4050"><span class="linenos">4050</span></a><span class="k">class</span> <span class="nc">DatetimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="DatetimeTrunc-4051"><a href="#DatetimeTrunc-4051"><span class="linenos">4051</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="DatetimeTrunc.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;unit&#39;: True, &#39;zone&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeTrunc.arg_types"></a>
+
+
+
+ </div>
+ <div id="DatetimeTrunc.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetimetrunc&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DatetimeTrunc.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -39013,7 +51228,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DatetimeTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DatetimeTrunc.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DatetimeTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DatetimeTrunc.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DatetimeTrunc.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DatetimeTrunc.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39035,7 +51251,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="DatetimeTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="DatetimeTrunc.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DatetimeTrunc.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DatetimeTrunc.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DatetimeTrunc.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DatetimeTrunc.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="DatetimeTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DatetimeTrunc.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DatetimeTrunc.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="DatetimeTrunc.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -39044,7 +51265,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DatetimeTrunc.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DatetimeTrunc.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DatetimeTrunc.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DatetimeTrunc.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DatetimeTrunc.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DatetimeTrunc.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DatetimeTrunc.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DatetimeTrunc.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DatetimeTrunc.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DatetimeTrunc.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DatetimeTrunc.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39088,18 +51313,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DayOfWeek"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DayOfWeek-4034"><a href="#DayOfWeek-4034"><span class="linenos">4034</span></a><span class="k">class</span> <span class="nc">DayOfWeek</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DayOfWeek-4035"><a href="#DayOfWeek-4035"><span class="linenos">4035</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_WEEK&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFWEEK&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DayOfWeek-4054"><a href="#DayOfWeek-4054"><span class="linenos">4054</span></a><span class="k">class</span> <span class="nc">DayOfWeek</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DayOfWeek-4055"><a href="#DayOfWeek-4055"><span class="linenos">4055</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_WEEK&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFWEEK&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="DayOfWeek.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dayofweek&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DayOfWeek.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DayOfWeek.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DayOfWeek.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DayOfWeek.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DayOfWeek.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DayOfWeek.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DayOfWeek.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DayOfWeek.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DayOfWeek.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DayOfWeek.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DayOfWeek.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -39109,7 +51352,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DayOfWeek.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DayOfWeek.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DayOfWeek.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DayOfWeek.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DayOfWeek.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DayOfWeek.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DayOfWeek.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DayOfWeek.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DayOfWeek.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DayOfWeek.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DayOfWeek.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39140,7 +51387,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DayOfWeek.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DayOfWeek.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DayOfWeek.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DayOfWeek.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DayOfWeek.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DayOfWeek.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39175,18 +51423,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DayOfMonth"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DayOfMonth-4038"><a href="#DayOfMonth-4038"><span class="linenos">4038</span></a><span class="k">class</span> <span class="nc">DayOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DayOfMonth-4039"><a href="#DayOfMonth-4039"><span class="linenos">4039</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_MONTH&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFMONTH&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DayOfMonth-4058"><a href="#DayOfMonth-4058"><span class="linenos">4058</span></a><span class="k">class</span> <span class="nc">DayOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DayOfMonth-4059"><a href="#DayOfMonth-4059"><span class="linenos">4059</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_MONTH&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFMONTH&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="DayOfMonth.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dayofmonth&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DayOfMonth.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DayOfMonth.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DayOfMonth.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DayOfMonth.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DayOfMonth.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DayOfMonth.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DayOfMonth.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DayOfMonth.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DayOfMonth.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DayOfMonth.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DayOfMonth.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -39196,7 +51462,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DayOfMonth.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DayOfMonth.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DayOfMonth.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DayOfMonth.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DayOfMonth.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DayOfMonth.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DayOfMonth.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DayOfMonth.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DayOfMonth.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DayOfMonth.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DayOfMonth.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39227,7 +51497,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DayOfMonth.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DayOfMonth.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DayOfMonth.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DayOfMonth.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DayOfMonth.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DayOfMonth.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39262,18 +51533,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DayOfYear"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DayOfYear-4042"><a href="#DayOfYear-4042"><span class="linenos">4042</span></a><span class="k">class</span> <span class="nc">DayOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DayOfYear-4043"><a href="#DayOfYear-4043"><span class="linenos">4043</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFYEAR&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DayOfYear-4062"><a href="#DayOfYear-4062"><span class="linenos">4062</span></a><span class="k">class</span> <span class="nc">DayOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DayOfYear-4063"><a href="#DayOfYear-4063"><span class="linenos">4063</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DAY_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;DAYOFYEAR&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="DayOfYear.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;dayofyear&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DayOfYear.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DayOfYear.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DayOfYear.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DayOfYear.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DayOfYear.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DayOfYear.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DayOfYear.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DayOfYear.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DayOfYear.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DayOfYear.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DayOfYear.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -39283,7 +51572,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DayOfYear.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DayOfYear.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DayOfYear.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DayOfYear.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DayOfYear.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DayOfYear.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DayOfYear.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DayOfYear.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DayOfYear.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DayOfYear.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DayOfYear.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39314,7 +51607,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DayOfYear.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DayOfYear.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DayOfYear.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DayOfYear.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DayOfYear.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DayOfYear.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39349,18 +51643,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#WeekOfYear"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="WeekOfYear-4046"><a href="#WeekOfYear-4046"><span class="linenos">4046</span></a><span class="k">class</span> <span class="nc">WeekOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="WeekOfYear-4047"><a href="#WeekOfYear-4047"><span class="linenos">4047</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;WEEK_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;WEEKOFYEAR&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="WeekOfYear-4066"><a href="#WeekOfYear-4066"><span class="linenos">4066</span></a><span class="k">class</span> <span class="nc">WeekOfYear</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="WeekOfYear-4067"><a href="#WeekOfYear-4067"><span class="linenos">4067</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;WEEK_OF_YEAR&quot;</span><span class="p">,</span> <span class="s2">&quot;WEEKOFYEAR&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="WeekOfYear.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;weekofyear&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#WeekOfYear.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="WeekOfYear.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="WeekOfYear.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="WeekOfYear.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="WeekOfYear.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="WeekOfYear.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="WeekOfYear.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="WeekOfYear.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="WeekOfYear.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="WeekOfYear.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="WeekOfYear.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -39370,7 +51682,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="WeekOfYear.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="WeekOfYear.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="WeekOfYear.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="WeekOfYear.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="WeekOfYear.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="WeekOfYear.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="WeekOfYear.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="WeekOfYear.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="WeekOfYear.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="WeekOfYear.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="WeekOfYear.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39401,7 +51717,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="WeekOfYear.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="WeekOfYear.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="WeekOfYear.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="WeekOfYear.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="WeekOfYear.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="WeekOfYear.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39436,18 +51753,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#LastDateOfMonth"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LastDateOfMonth-4050"><a href="#LastDateOfMonth-4050"><span class="linenos">4050</span></a><span class="k">class</span> <span class="nc">LastDateOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="LastDateOfMonth-4051"><a href="#LastDateOfMonth-4051"><span class="linenos">4051</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LastDateOfMonth-4070"><a href="#LastDateOfMonth-4070"><span class="linenos">4070</span></a><span class="k">class</span> <span class="nc">LastDateOfMonth</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="LastDateOfMonth-4071"><a href="#LastDateOfMonth-4071"><span class="linenos">4071</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="LastDateOfMonth.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lastdateofmonth&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LastDateOfMonth.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LastDateOfMonth.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LastDateOfMonth.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="LastDateOfMonth.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LastDateOfMonth.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LastDateOfMonth.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LastDateOfMonth.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LastDateOfMonth.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LastDateOfMonth.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LastDateOfMonth.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LastDateOfMonth.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -39457,7 +51792,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="LastDateOfMonth.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LastDateOfMonth.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LastDateOfMonth.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LastDateOfMonth.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LastDateOfMonth.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LastDateOfMonth.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LastDateOfMonth.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LastDateOfMonth.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LastDateOfMonth.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LastDateOfMonth.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LastDateOfMonth.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39488,7 +51827,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="LastDateOfMonth.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="LastDateOfMonth.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="LastDateOfMonth.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="LastDateOfMonth.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="LastDateOfMonth.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="LastDateOfMonth.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39523,18 +51863,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Extract"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Extract-4054"><a href="#Extract-4054"><span class="linenos">4054</span></a><span class="k">class</span> <span class="nc">Extract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Extract-4055"><a href="#Extract-4055"><span class="linenos">4055</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Extract-4074"><a href="#Extract-4074"><span class="linenos">4074</span></a><span class="k">class</span> <span class="nc">Extract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Extract-4075"><a href="#Extract-4075"><span class="linenos">4075</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Extract.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Extract.arg_types"></a>
+
+
+
+ </div>
+ <div id="Extract.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;extract&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Extract.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Extract.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Extract.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Extract.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Extract.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Extract.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Extract.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Extract.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Extract.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Extract.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -39544,7 +51913,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Extract.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Extract.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Extract.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Extract.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Extract.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Extract.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Extract.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Extract.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Extract.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Extract.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Extract.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39575,7 +51948,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Extract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Extract.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Extract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Extract.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Extract.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Extract.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39610,13 +51984,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimestampAdd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampAdd-4058"><a href="#TimestampAdd-4058"><span class="linenos">4058</span></a><span class="k">class</span> <span class="nc">TimestampAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimestampAdd-4059"><a href="#TimestampAdd-4059"><span class="linenos">4059</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampAdd-4078"><a href="#TimestampAdd-4078"><span class="linenos">4078</span></a><span class="k">class</span> <span class="nc">TimestampAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimestampAdd-4079"><a href="#TimestampAdd-4079"><span class="linenos">4079</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimestampAdd.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampAdd.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimestampAdd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestampadd&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampAdd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -39625,7 +52023,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimestampAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimestampAdd.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimestampAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimestampAdd.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimestampAdd.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimestampAdd.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39647,7 +52046,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimestampAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimestampAdd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimestampAdd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimestampAdd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimestampAdd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimestampAdd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimestampAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimestampAdd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimestampAdd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimestampAdd.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -39656,7 +52060,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimestampAdd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimestampAdd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimestampAdd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimestampAdd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimestampAdd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimestampAdd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimestampAdd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimestampAdd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimestampAdd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimestampAdd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimestampAdd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39700,13 +52108,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimestampSub"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampSub-4062"><a href="#TimestampSub-4062"><span class="linenos">4062</span></a><span class="k">class</span> <span class="nc">TimestampSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimestampSub-4063"><a href="#TimestampSub-4063"><span class="linenos">4063</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampSub-4082"><a href="#TimestampSub-4082"><span class="linenos">4082</span></a><span class="k">class</span> <span class="nc">TimestampSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimestampSub-4083"><a href="#TimestampSub-4083"><span class="linenos">4083</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimestampSub.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampSub.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimestampSub.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestampsub&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampSub.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -39715,7 +52147,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimestampSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimestampSub.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimestampSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimestampSub.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimestampSub.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimestampSub.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39737,7 +52170,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimestampSub.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimestampSub.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimestampSub.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimestampSub.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimestampSub.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimestampSub.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimestampSub.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimestampSub.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimestampSub.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimestampSub.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -39746,7 +52184,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimestampSub.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimestampSub.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimestampSub.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimestampSub.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimestampSub.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimestampSub.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimestampSub.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimestampSub.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimestampSub.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimestampSub.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimestampSub.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39790,13 +52232,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimestampDiff"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampDiff-4066"><a href="#TimestampDiff-4066"><span class="linenos">4066</span></a><span class="k">class</span> <span class="nc">TimestampDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimestampDiff-4067"><a href="#TimestampDiff-4067"><span class="linenos">4067</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampDiff-4086"><a href="#TimestampDiff-4086"><span class="linenos">4086</span></a><span class="k">class</span> <span class="nc">TimestampDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimestampDiff-4087"><a href="#TimestampDiff-4087"><span class="linenos">4087</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimestampDiff.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampDiff.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimestampDiff.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestampdiff&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampDiff.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -39805,7 +52271,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimestampDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimestampDiff.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimestampDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimestampDiff.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimestampDiff.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimestampDiff.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39827,7 +52294,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimestampDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimestampDiff.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimestampDiff.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimestampDiff.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimestampDiff.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimestampDiff.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimestampDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimestampDiff.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimestampDiff.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimestampDiff.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -39836,7 +52308,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimestampDiff.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimestampDiff.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimestampDiff.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimestampDiff.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimestampDiff.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimestampDiff.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimestampDiff.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimestampDiff.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimestampDiff.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimestampDiff.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimestampDiff.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39880,13 +52356,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimestampTrunc"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampTrunc-4070"><a href="#TimestampTrunc-4070"><span class="linenos">4070</span></a><span class="k">class</span> <span class="nc">TimestampTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimestampTrunc-4071"><a href="#TimestampTrunc-4071"><span class="linenos">4071</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimestampTrunc-4090"><a href="#TimestampTrunc-4090"><span class="linenos">4090</span></a><span class="k">class</span> <span class="nc">TimestampTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimestampTrunc-4091"><a href="#TimestampTrunc-4091"><span class="linenos">4091</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimestampTrunc.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;unit&#39;: True, &#39;zone&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampTrunc.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimestampTrunc.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestamptrunc&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimestampTrunc.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -39895,7 +52395,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimestampTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimestampTrunc.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimestampTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimestampTrunc.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimestampTrunc.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimestampTrunc.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -39917,7 +52418,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimestampTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimestampTrunc.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimestampTrunc.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimestampTrunc.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimestampTrunc.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimestampTrunc.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimestampTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimestampTrunc.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimestampTrunc.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimestampTrunc.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -39926,7 +52432,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimestampTrunc.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimestampTrunc.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimestampTrunc.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimestampTrunc.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimestampTrunc.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimestampTrunc.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimestampTrunc.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimestampTrunc.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimestampTrunc.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimestampTrunc.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimestampTrunc.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -39970,13 +52480,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeAdd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeAdd-4074"><a href="#TimeAdd-4074"><span class="linenos">4074</span></a><span class="k">class</span> <span class="nc">TimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimeAdd-4075"><a href="#TimeAdd-4075"><span class="linenos">4075</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeAdd-4094"><a href="#TimeAdd-4094"><span class="linenos">4094</span></a><span class="k">class</span> <span class="nc">TimeAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimeAdd-4095"><a href="#TimeAdd-4095"><span class="linenos">4095</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimeAdd.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeAdd.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimeAdd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timeadd&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeAdd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -39985,7 +52519,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeAdd.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeAdd.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeAdd.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeAdd.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40007,7 +52542,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimeAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimeAdd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeAdd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeAdd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeAdd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeAdd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimeAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeAdd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeAdd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimeAdd.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -40016,7 +52556,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeAdd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeAdd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeAdd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeAdd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeAdd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeAdd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeAdd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeAdd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeAdd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeAdd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeAdd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40060,13 +52604,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeSub"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeSub-4078"><a href="#TimeSub-4078"><span class="linenos">4078</span></a><span class="k">class</span> <span class="nc">TimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimeSub-4079"><a href="#TimeSub-4079"><span class="linenos">4079</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeSub-4098"><a href="#TimeSub-4098"><span class="linenos">4098</span></a><span class="k">class</span> <span class="nc">TimeSub</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimeSub-4099"><a href="#TimeSub-4099"><span class="linenos">4099</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimeSub.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeSub.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimeSub.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timesub&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeSub.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -40075,7 +52643,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeSub.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeSub.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeSub.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeSub.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeSub.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40097,7 +52666,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimeSub.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimeSub.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeSub.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeSub.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeSub.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeSub.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimeSub.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeSub.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeSub.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimeSub.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -40106,7 +52680,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeSub.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeSub.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeSub.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeSub.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeSub.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeSub.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeSub.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeSub.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeSub.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeSub.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeSub.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40150,13 +52728,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeDiff"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeDiff-4082"><a href="#TimeDiff-4082"><span class="linenos">4082</span></a><span class="k">class</span> <span class="nc">TimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimeDiff-4083"><a href="#TimeDiff-4083"><span class="linenos">4083</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeDiff-4102"><a href="#TimeDiff-4102"><span class="linenos">4102</span></a><span class="k">class</span> <span class="nc">TimeDiff</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimeDiff-4103"><a href="#TimeDiff-4103"><span class="linenos">4103</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimeDiff.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeDiff.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimeDiff.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timediff&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeDiff.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -40165,7 +52767,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeDiff.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeDiff.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeDiff.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeDiff.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeDiff.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40187,7 +52790,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimeDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimeDiff.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeDiff.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeDiff.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeDiff.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeDiff.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimeDiff.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeDiff.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeDiff.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimeDiff.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -40196,7 +52804,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeDiff.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeDiff.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeDiff.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeDiff.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeDiff.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeDiff.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeDiff.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeDiff.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeDiff.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeDiff.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeDiff.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40240,13 +52852,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeTrunc"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeTrunc-4086"><a href="#TimeTrunc-4086"><span class="linenos">4086</span></a><span class="k">class</span> <span class="nc">TimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TimeTrunc-4087"><a href="#TimeTrunc-4087"><span class="linenos">4087</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeTrunc-4106"><a href="#TimeTrunc-4106"><span class="linenos">4106</span></a><span class="k">class</span> <span class="nc">TimeTrunc</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TimeTrunc-4107"><a href="#TimeTrunc-4107"><span class="linenos">4107</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimeTrunc.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;unit&#39;: True, &#39;zone&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeTrunc.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimeTrunc.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timetrunc&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeTrunc.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -40255,7 +52891,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeTrunc.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeTrunc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeTrunc.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeTrunc.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeTrunc.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40277,7 +52914,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TimeTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TimeTrunc.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeTrunc.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeTrunc.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeTrunc.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeTrunc.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TimeTrunc.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeTrunc.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeTrunc.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TimeTrunc.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -40286,7 +52928,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeTrunc.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeTrunc.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeTrunc.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeTrunc.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeTrunc.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeTrunc.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeTrunc.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeTrunc.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeTrunc.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeTrunc.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeTrunc.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40330,19 +52976,48 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateFromParts"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateFromParts-4090"><a href="#DateFromParts-4090"><span class="linenos">4090</span></a><span class="k">class</span> <span class="nc">DateFromParts</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DateFromParts-4091"><a href="#DateFromParts-4091"><span class="linenos">4091</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEFROMPARTS&quot;</span><span class="p">]</span>
-</span><span id="DateFromParts-4092"><a href="#DateFromParts-4092"><span class="linenos">4092</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;year&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;month&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateFromParts-4110"><a href="#DateFromParts-4110"><span class="linenos">4110</span></a><span class="k">class</span> <span class="nc">DateFromParts</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DateFromParts-4111"><a href="#DateFromParts-4111"><span class="linenos">4111</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;DATEFROMPARTS&quot;</span><span class="p">]</span>
+</span><span id="DateFromParts-4112"><a href="#DateFromParts-4112"><span class="linenos">4112</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;year&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;month&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="DateFromParts.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;year&#39;: True, &#39;month&#39;: True, &#39;day&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateFromParts.arg_types"></a>
+
+
+
+ </div>
+ <div id="DateFromParts.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datefromparts&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateFromParts.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DateFromParts.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DateFromParts.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateFromParts.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateFromParts.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateFromParts.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateFromParts.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DateFromParts.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateFromParts.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateFromParts.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40352,7 +53027,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateFromParts.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateFromParts.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateFromParts.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateFromParts.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateFromParts.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateFromParts.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateFromParts.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateFromParts.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateFromParts.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateFromParts.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateFromParts.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40383,7 +53062,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateFromParts.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateFromParts.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateFromParts.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateFromParts.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateFromParts.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateFromParts.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40418,18 +53098,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateStrToDate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateStrToDate-4095"><a href="#DateStrToDate-4095"><span class="linenos">4095</span></a><span class="k">class</span> <span class="nc">DateStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DateStrToDate-4096"><a href="#DateStrToDate-4096"><span class="linenos">4096</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateStrToDate-4115"><a href="#DateStrToDate-4115"><span class="linenos">4115</span></a><span class="k">class</span> <span class="nc">DateStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DateStrToDate-4116"><a href="#DateStrToDate-4116"><span class="linenos">4116</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="DateStrToDate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datestrtodate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateStrToDate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DateStrToDate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DateStrToDate.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DateStrToDate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateStrToDate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateStrToDate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateStrToDate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateStrToDate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DateStrToDate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateStrToDate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateStrToDate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40439,7 +53137,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateStrToDate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateStrToDate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateStrToDate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateStrToDate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateStrToDate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateStrToDate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateStrToDate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateStrToDate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateStrToDate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateStrToDate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateStrToDate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40470,7 +53172,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateStrToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateStrToDate.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateStrToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateStrToDate.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateStrToDate.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateStrToDate.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40505,18 +53208,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateToDateStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateToDateStr-4099"><a href="#DateToDateStr-4099"><span class="linenos">4099</span></a><span class="k">class</span> <span class="nc">DateToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DateToDateStr-4100"><a href="#DateToDateStr-4100"><span class="linenos">4100</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateToDateStr-4119"><a href="#DateToDateStr-4119"><span class="linenos">4119</span></a><span class="k">class</span> <span class="nc">DateToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DateToDateStr-4120"><a href="#DateToDateStr-4120"><span class="linenos">4120</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="DateToDateStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetodatestr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateToDateStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DateToDateStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DateToDateStr.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DateToDateStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateToDateStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateToDateStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateToDateStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateToDateStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DateToDateStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateToDateStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateToDateStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40526,7 +53247,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateToDateStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateToDateStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateToDateStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateToDateStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateToDateStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateToDateStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateToDateStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateToDateStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateToDateStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateToDateStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateToDateStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40557,7 +53282,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateToDateStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateToDateStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateToDateStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateToDateStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateToDateStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateToDateStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40592,18 +53318,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DateToDi"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DateToDi-4103"><a href="#DateToDi-4103"><span class="linenos">4103</span></a><span class="k">class</span> <span class="nc">DateToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DateToDi-4104"><a href="#DateToDi-4104"><span class="linenos">4104</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DateToDi-4123"><a href="#DateToDi-4123"><span class="linenos">4123</span></a><span class="k">class</span> <span class="nc">DateToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DateToDi-4124"><a href="#DateToDi-4124"><span class="linenos">4124</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="DateToDi.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;datetodi&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DateToDi.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DateToDi.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DateToDi.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DateToDi.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DateToDi.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DateToDi.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DateToDi.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DateToDi.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DateToDi.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DateToDi.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DateToDi.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40613,7 +53357,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DateToDi.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DateToDi.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DateToDi.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DateToDi.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DateToDi.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DateToDi.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DateToDi.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DateToDi.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DateToDi.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DateToDi.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DateToDi.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40644,7 +53392,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DateToDi.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DateToDi.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DateToDi.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DateToDi.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DateToDi.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DateToDi.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40679,19 +53428,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Date"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Date-4107"><a href="#Date-4107"><span class="linenos">4107</span></a><span class="k">class</span> <span class="nc">Date</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Date-4108"><a href="#Date-4108"><span class="linenos">4108</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Date-4109"><a href="#Date-4109"><span class="linenos">4109</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Date-4127"><a href="#Date-4127"><span class="linenos">4127</span></a><span class="k">class</span> <span class="nc">Date</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Date-4128"><a href="#Date-4128"><span class="linenos">4128</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Date-4129"><a href="#Date-4129"><span class="linenos">4129</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Date.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Date.arg_types"></a>
+
+
+
+ </div>
+ <div id="Date.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Date.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Date.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;date&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Date.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Date.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Date.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Date.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Date.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Date.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Date.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Date.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Date.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Date.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40701,7 +53491,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Date.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Date.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Date.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Date.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Date.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Date.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Date.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Date.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Date.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Date.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Date.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40767,18 +53561,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Day"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Day-4112"><a href="#Day-4112"><span class="linenos">4112</span></a><span class="k">class</span> <span class="nc">Day</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Day-4113"><a href="#Day-4113"><span class="linenos">4113</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Day-4132"><a href="#Day-4132"><span class="linenos">4132</span></a><span class="k">class</span> <span class="nc">Day</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Day-4133"><a href="#Day-4133"><span class="linenos">4133</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Day.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;day&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Day.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Day.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Day.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Day.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Day.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Day.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Day.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Day.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Day.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Day.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Day.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40788,7 +53600,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Day.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Day.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Day.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Day.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Day.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Day.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Day.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Day.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Day.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Day.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Day.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40819,7 +53635,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Day.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Day.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Day.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Day.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Day.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Day.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40854,18 +53671,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Decode"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Decode-4116"><a href="#Decode-4116"><span class="linenos">4116</span></a><span class="k">class</span> <span class="nc">Decode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Decode-4117"><a href="#Decode-4117"><span class="linenos">4117</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Decode-4136"><a href="#Decode-4136"><span class="linenos">4136</span></a><span class="k">class</span> <span class="nc">Decode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Decode-4137"><a href="#Decode-4137"><span class="linenos">4137</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;replace&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Decode.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;charset&#39;: True, &#39;replace&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Decode.arg_types"></a>
+
+
+
+ </div>
+ <div id="Decode.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;decode&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Decode.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Decode.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Decode.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Decode.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Decode.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Decode.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Decode.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Decode.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Decode.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Decode.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40875,7 +53721,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Decode.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Decode.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Decode.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Decode.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Decode.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Decode.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Decode.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Decode.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Decode.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Decode.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Decode.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40906,7 +53756,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Decode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Decode.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Decode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Decode.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Decode.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Decode.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -40941,18 +53792,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#DiToDate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="DiToDate-4120"><a href="#DiToDate-4120"><span class="linenos">4120</span></a><span class="k">class</span> <span class="nc">DiToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="DiToDate-4121"><a href="#DiToDate-4121"><span class="linenos">4121</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="DiToDate-4140"><a href="#DiToDate-4140"><span class="linenos">4140</span></a><span class="k">class</span> <span class="nc">DiToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="DiToDate-4141"><a href="#DiToDate-4141"><span class="linenos">4141</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="DiToDate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ditodate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#DiToDate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="DiToDate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="DiToDate.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="DiToDate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="DiToDate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="DiToDate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="DiToDate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="DiToDate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="DiToDate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="DiToDate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="DiToDate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -40962,7 +53831,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="DiToDate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="DiToDate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="DiToDate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="DiToDate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="DiToDate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="DiToDate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="DiToDate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="DiToDate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="DiToDate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="DiToDate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="DiToDate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -40993,7 +53866,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="DiToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="DiToDate.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="DiToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="DiToDate.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="DiToDate.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="DiToDate.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41028,18 +53902,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Encode"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Encode-4124"><a href="#Encode-4124"><span class="linenos">4124</span></a><span class="k">class</span> <span class="nc">Encode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Encode-4125"><a href="#Encode-4125"><span class="linenos">4125</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Encode-4144"><a href="#Encode-4144"><span class="linenos">4144</span></a><span class="k">class</span> <span class="nc">Encode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Encode-4145"><a href="#Encode-4145"><span class="linenos">4145</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Encode.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;charset&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Encode.arg_types"></a>
+
+
+
+ </div>
+ <div id="Encode.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;encode&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Encode.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Encode.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Encode.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Encode.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Encode.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Encode.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Encode.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Encode.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Encode.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Encode.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41049,7 +53952,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Encode.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Encode.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Encode.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Encode.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Encode.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Encode.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Encode.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Encode.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Encode.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Encode.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Encode.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41080,7 +53987,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Encode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Encode.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Encode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Encode.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Encode.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Encode.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41115,18 +54023,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Exp"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Exp-4128"><a href="#Exp-4128"><span class="linenos">4128</span></a><span class="k">class</span> <span class="nc">Exp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Exp-4129"><a href="#Exp-4129"><span class="linenos">4129</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Exp-4148"><a href="#Exp-4148"><span class="linenos">4148</span></a><span class="k">class</span> <span class="nc">Exp</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Exp-4149"><a href="#Exp-4149"><span class="linenos">4149</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Exp.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;exp&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Exp.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Exp.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Exp.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Exp.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Exp.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Exp.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Exp.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Exp.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Exp.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Exp.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Exp.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41136,7 +54062,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Exp.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Exp.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Exp.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Exp.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Exp.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Exp.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Exp.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Exp.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Exp.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Exp.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Exp.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41167,7 +54097,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Exp.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Exp.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Exp.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Exp.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Exp.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Exp.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41202,18 +54133,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Explode"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Explode-4132"><a href="#Explode-4132"><span class="linenos">4132</span></a><span class="k">class</span> <span class="nc">Explode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Explode-4133"><a href="#Explode-4133"><span class="linenos">4133</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Explode-4152"><a href="#Explode-4152"><span class="linenos">4152</span></a><span class="k">class</span> <span class="nc">Explode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Explode-4153"><a href="#Explode-4153"><span class="linenos">4153</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Explode.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;explode&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Explode.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Explode.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Explode.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Explode.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Explode.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Explode.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Explode.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Explode.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Explode.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Explode.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Explode.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41223,7 +54172,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Explode.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Explode.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Explode.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Explode.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Explode.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Explode.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Explode.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Explode.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Explode.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Explode.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Explode.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41254,7 +54207,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Explode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Explode.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Explode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Explode.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Explode.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Explode.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41289,18 +54243,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Floor"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Floor-4136"><a href="#Floor-4136"><span class="linenos">4136</span></a><span class="k">class</span> <span class="nc">Floor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Floor-4137"><a href="#Floor-4137"><span class="linenos">4137</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Floor-4156"><a href="#Floor-4156"><span class="linenos">4156</span></a><span class="k">class</span> <span class="nc">Floor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Floor-4157"><a href="#Floor-4157"><span class="linenos">4157</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Floor.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;decimals&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Floor.arg_types"></a>
+
+
+
+ </div>
+ <div id="Floor.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;floor&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Floor.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Floor.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Floor.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Floor.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Floor.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Floor.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Floor.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Floor.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Floor.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Floor.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41310,7 +54293,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Floor.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Floor.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Floor.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Floor.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Floor.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Floor.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Floor.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Floor.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Floor.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Floor.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Floor.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41341,7 +54328,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Floor.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Floor.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Floor.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Floor.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Floor.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Floor.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41376,18 +54364,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#FromBase64"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="FromBase64-4140"><a href="#FromBase64-4140"><span class="linenos">4140</span></a><span class="k">class</span> <span class="nc">FromBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="FromBase64-4141"><a href="#FromBase64-4141"><span class="linenos">4141</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="FromBase64-4160"><a href="#FromBase64-4160"><span class="linenos">4160</span></a><span class="k">class</span> <span class="nc">FromBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="FromBase64-4161"><a href="#FromBase64-4161"><span class="linenos">4161</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="FromBase64.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;frombase64&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#FromBase64.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="FromBase64.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="FromBase64.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="FromBase64.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="FromBase64.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="FromBase64.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="FromBase64.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="FromBase64.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="FromBase64.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="FromBase64.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="FromBase64.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41397,7 +54403,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="FromBase64.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="FromBase64.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="FromBase64.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="FromBase64.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="FromBase64.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="FromBase64.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="FromBase64.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="FromBase64.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="FromBase64.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="FromBase64.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="FromBase64.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41428,7 +54438,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="FromBase64.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="FromBase64.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="FromBase64.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="FromBase64.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="FromBase64.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="FromBase64.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41463,18 +54474,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ToBase64"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ToBase64-4144"><a href="#ToBase64-4144"><span class="linenos">4144</span></a><span class="k">class</span> <span class="nc">ToBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ToBase64-4145"><a href="#ToBase64-4145"><span class="linenos">4145</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ToBase64-4164"><a href="#ToBase64-4164"><span class="linenos">4164</span></a><span class="k">class</span> <span class="nc">ToBase64</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ToBase64-4165"><a href="#ToBase64-4165"><span class="linenos">4165</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="ToBase64.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tobase64&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ToBase64.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ToBase64.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ToBase64.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="ToBase64.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ToBase64.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ToBase64.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ToBase64.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ToBase64.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ToBase64.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ToBase64.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ToBase64.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41484,7 +54513,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ToBase64.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ToBase64.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ToBase64.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ToBase64.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ToBase64.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ToBase64.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ToBase64.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ToBase64.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ToBase64.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ToBase64.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ToBase64.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41515,7 +54548,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ToBase64.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ToBase64.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ToBase64.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ToBase64.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ToBase64.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ToBase64.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41550,19 +54584,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Greatest"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Greatest-4148"><a href="#Greatest-4148"><span class="linenos">4148</span></a><span class="k">class</span> <span class="nc">Greatest</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Greatest-4149"><a href="#Greatest-4149"><span class="linenos">4149</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Greatest-4150"><a href="#Greatest-4150"><span class="linenos">4150</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Greatest-4168"><a href="#Greatest-4168"><span class="linenos">4168</span></a><span class="k">class</span> <span class="nc">Greatest</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Greatest-4169"><a href="#Greatest-4169"><span class="linenos">4169</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Greatest-4170"><a href="#Greatest-4170"><span class="linenos">4170</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Greatest.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Greatest.arg_types"></a>
+
+
+
+ </div>
+ <div id="Greatest.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Greatest.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Greatest.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;greatest&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Greatest.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Greatest.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Greatest.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Greatest.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Greatest.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Greatest.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Greatest.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Greatest.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Greatest.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Greatest.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41572,7 +54647,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Greatest.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Greatest.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Greatest.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Greatest.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Greatest.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Greatest.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Greatest.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Greatest.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Greatest.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Greatest.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Greatest.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41638,18 +54717,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#GroupConcat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="GroupConcat-4153"><a href="#GroupConcat-4153"><span class="linenos">4153</span></a><span class="k">class</span> <span class="nc">GroupConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="GroupConcat-4154"><a href="#GroupConcat-4154"><span class="linenos">4154</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;separator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="GroupConcat-4173"><a href="#GroupConcat-4173"><span class="linenos">4173</span></a><span class="k">class</span> <span class="nc">GroupConcat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="GroupConcat-4174"><a href="#GroupConcat-4174"><span class="linenos">4174</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;separator&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="GroupConcat.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;separator&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#GroupConcat.arg_types"></a>
+
+
+
+ </div>
+ <div id="GroupConcat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;groupconcat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#GroupConcat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="GroupConcat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="GroupConcat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="GroupConcat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="GroupConcat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="GroupConcat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="GroupConcat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="GroupConcat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="GroupConcat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="GroupConcat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41659,7 +54767,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="GroupConcat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="GroupConcat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="GroupConcat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="GroupConcat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="GroupConcat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="GroupConcat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="GroupConcat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="GroupConcat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="GroupConcat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="GroupConcat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="GroupConcat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41690,7 +54802,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="GroupConcat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="GroupConcat.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="GroupConcat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="GroupConcat.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="GroupConcat.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="GroupConcat.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41725,18 +54838,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Hex"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Hex-4157"><a href="#Hex-4157"><span class="linenos">4157</span></a><span class="k">class</span> <span class="nc">Hex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Hex-4158"><a href="#Hex-4158"><span class="linenos">4158</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Hex-4177"><a href="#Hex-4177"><span class="linenos">4177</span></a><span class="k">class</span> <span class="nc">Hex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Hex-4178"><a href="#Hex-4178"><span class="linenos">4178</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Hex.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;hex&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Hex.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Hex.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Hex.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Hex.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Hex.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Hex.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Hex.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Hex.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Hex.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Hex.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Hex.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41746,7 +54877,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Hex.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Hex.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Hex.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Hex.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Hex.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Hex.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Hex.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Hex.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Hex.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Hex.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Hex.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41777,7 +54912,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Hex.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Hex.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Hex.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Hex.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Hex.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Hex.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41812,18 +54948,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#If"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="If-4161"><a href="#If-4161"><span class="linenos">4161</span></a><span class="k">class</span> <span class="nc">If</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="If-4162"><a href="#If-4162"><span class="linenos">4162</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="If-4181"><a href="#If-4181"><span class="linenos">4181</span></a><span class="k">class</span> <span class="nc">If</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="If-4182"><a href="#If-4182"><span class="linenos">4182</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="If.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;true&#39;: True, &#39;false&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#If.arg_types"></a>
+
+
+
+ </div>
+ <div id="If.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;if&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#If.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="If.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="If.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="If.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="If.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="If.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="If.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="If.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="If.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="If.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41833,7 +54998,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="If.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="If.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="If.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="If.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="If.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="If.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="If.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="If.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="If.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="If.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="If.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41864,7 +55033,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="If.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="If.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="If.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="If.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="If.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="If.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41899,18 +55069,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Initcap"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Initcap-4165"><a href="#Initcap-4165"><span class="linenos">4165</span></a><span class="k">class</span> <span class="nc">Initcap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Initcap-4166"><a href="#Initcap-4166"><span class="linenos">4166</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Initcap-4185"><a href="#Initcap-4185"><span class="linenos">4185</span></a><span class="k">class</span> <span class="nc">Initcap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Initcap-4186"><a href="#Initcap-4186"><span class="linenos">4186</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Initcap.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Initcap.arg_types"></a>
+
+
+
+ </div>
+ <div id="Initcap.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;initcap&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Initcap.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Initcap.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Initcap.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Initcap.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Initcap.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Initcap.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Initcap.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Initcap.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Initcap.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Initcap.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -41920,7 +55119,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Initcap.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Initcap.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Initcap.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Initcap.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Initcap.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Initcap.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Initcap.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Initcap.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Initcap.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Initcap.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Initcap.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -41951,7 +55154,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Initcap.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Initcap.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Initcap.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Initcap.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Initcap.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Initcap.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -41986,18 +55190,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONKeyValue"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONKeyValue-4169"><a href="#JSONKeyValue-4169"><span class="linenos">4169</span></a><span class="k">class</span> <span class="nc">JSONKeyValue</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="JSONKeyValue-4170"><a href="#JSONKeyValue-4170"><span class="linenos">4170</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONKeyValue-4189"><a href="#JSONKeyValue-4189"><span class="linenos">4189</span></a><span class="k">class</span> <span class="nc">JSONKeyValue</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="JSONKeyValue-4190"><a href="#JSONKeyValue-4190"><span class="linenos">4190</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="JSONKeyValue.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONKeyValue.arg_types"></a>
+
+
+
+ </div>
+ <div id="JSONKeyValue.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonkeyvalue&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONKeyValue.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONKeyValue.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONKeyValue.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONKeyValue.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONKeyValue.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONKeyValue.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONKeyValue.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONKeyValue.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONKeyValue.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONKeyValue.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42007,7 +55240,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONKeyValue.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONKeyValue.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONKeyValue.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONKeyValue.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONKeyValue.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONKeyValue.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONKeyValue.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONKeyValue.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONKeyValue.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONKeyValue.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONKeyValue.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42051,25 +55288,55 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONObject"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONObject-4173"><a href="#JSONObject-4173"><span class="linenos">4173</span></a><span class="k">class</span> <span class="nc">JSONObject</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="JSONObject-4174"><a href="#JSONObject-4174"><span class="linenos">4174</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="JSONObject-4175"><a href="#JSONObject-4175"><span class="linenos">4175</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JSONObject-4176"><a href="#JSONObject-4176"><span class="linenos">4176</span></a> <span class="s2">&quot;null_handling&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JSONObject-4177"><a href="#JSONObject-4177"><span class="linenos">4177</span></a> <span class="s2">&quot;unique_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JSONObject-4178"><a href="#JSONObject-4178"><span class="linenos">4178</span></a> <span class="s2">&quot;return_type&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JSONObject-4179"><a href="#JSONObject-4179"><span class="linenos">4179</span></a> <span class="s2">&quot;format_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JSONObject-4180"><a href="#JSONObject-4180"><span class="linenos">4180</span></a> <span class="s2">&quot;encoding&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="JSONObject-4181"><a href="#JSONObject-4181"><span class="linenos">4181</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONObject-4193"><a href="#JSONObject-4193"><span class="linenos">4193</span></a><span class="k">class</span> <span class="nc">JSONObject</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="JSONObject-4194"><a href="#JSONObject-4194"><span class="linenos">4194</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="JSONObject-4195"><a href="#JSONObject-4195"><span class="linenos">4195</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JSONObject-4196"><a href="#JSONObject-4196"><span class="linenos">4196</span></a> <span class="s2">&quot;null_handling&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JSONObject-4197"><a href="#JSONObject-4197"><span class="linenos">4197</span></a> <span class="s2">&quot;unique_keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JSONObject-4198"><a href="#JSONObject-4198"><span class="linenos">4198</span></a> <span class="s2">&quot;return_type&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JSONObject-4199"><a href="#JSONObject-4199"><span class="linenos">4199</span></a> <span class="s2">&quot;format_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JSONObject-4200"><a href="#JSONObject-4200"><span class="linenos">4200</span></a> <span class="s2">&quot;encoding&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="JSONObject-4201"><a href="#JSONObject-4201"><span class="linenos">4201</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="JSONObject.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<input id="JSONObject.arg_types-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="JSONObject.arg_types-view-value"></label><span class="default_value">{&#39;expressions&#39;: False, &#39;null_handling&#39;: False, &#39;unique_keys&#39;: False, &#39;return_type&#39;: False, &#39;format_json&#39;: False, &#39;encoding&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONObject.arg_types"></a>
+
+
+
+ </div>
+ <div id="JSONObject.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonobject&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONObject.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONObject.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONObject.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONObject.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONObject.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONObject.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONObject.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONObject.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONObject.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONObject.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42079,7 +55346,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONObject.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONObject.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONObject.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONObject.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONObject.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONObject.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONObject.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONObject.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONObject.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONObject.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONObject.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42110,7 +55381,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONObject.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONObject.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="JSONObject.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONObject.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONObject.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONObject.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42145,18 +55417,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#OpenJSONColumnDef"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="OpenJSONColumnDef-4184"><a href="#OpenJSONColumnDef-4184"><span class="linenos">4184</span></a><span class="k">class</span> <span class="nc">OpenJSONColumnDef</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="OpenJSONColumnDef-4185"><a href="#OpenJSONColumnDef-4185"><span class="linenos">4185</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;as_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="OpenJSONColumnDef-4204"><a href="#OpenJSONColumnDef-4204"><span class="linenos">4204</span></a><span class="k">class</span> <span class="nc">OpenJSONColumnDef</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="OpenJSONColumnDef-4205"><a href="#OpenJSONColumnDef-4205"><span class="linenos">4205</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;as_json&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="OpenJSONColumnDef.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: True, &#39;path&#39;: False, &#39;as_json&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#OpenJSONColumnDef.arg_types"></a>
+
+
+
+ </div>
+ <div id="OpenJSONColumnDef.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;openjsoncolumndef&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#OpenJSONColumnDef.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="OpenJSONColumnDef.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="OpenJSONColumnDef.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="OpenJSONColumnDef.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="OpenJSONColumnDef.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="OpenJSONColumnDef.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="OpenJSONColumnDef.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="OpenJSONColumnDef.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="OpenJSONColumnDef.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="OpenJSONColumnDef.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42166,7 +55467,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="OpenJSONColumnDef.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="OpenJSONColumnDef.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="OpenJSONColumnDef.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="OpenJSONColumnDef.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="OpenJSONColumnDef.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="OpenJSONColumnDef.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="OpenJSONColumnDef.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="OpenJSONColumnDef.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="OpenJSONColumnDef.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="OpenJSONColumnDef.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="OpenJSONColumnDef.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42210,18 +55515,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#OpenJSON"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="OpenJSON-4188"><a href="#OpenJSON-4188"><span class="linenos">4188</span></a><span class="k">class</span> <span class="nc">OpenJSON</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="OpenJSON-4189"><a href="#OpenJSON-4189"><span class="linenos">4189</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="OpenJSON-4208"><a href="#OpenJSON-4208"><span class="linenos">4208</span></a><span class="k">class</span> <span class="nc">OpenJSON</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="OpenJSON-4209"><a href="#OpenJSON-4209"><span class="linenos">4209</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;path&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="OpenJSON.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;path&#39;: False, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#OpenJSON.arg_types"></a>
+
+
+
+ </div>
+ <div id="OpenJSON.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;openjson&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#OpenJSON.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="OpenJSON.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="OpenJSON.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="OpenJSON.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="OpenJSON.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="OpenJSON.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="OpenJSON.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="OpenJSON.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="OpenJSON.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="OpenJSON.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42231,7 +55565,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="OpenJSON.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="OpenJSON.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="OpenJSON.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="OpenJSON.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="OpenJSON.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="OpenJSON.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="OpenJSON.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="OpenJSON.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="OpenJSON.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="OpenJSON.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="OpenJSON.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42262,7 +55600,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="OpenJSON.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="OpenJSON.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="OpenJSON.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="OpenJSON.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="OpenJSON.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="OpenJSON.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42297,18 +55636,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONBContains"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONBContains-4192"><a href="#JSONBContains-4192"><span class="linenos">4192</span></a><span class="k">class</span> <span class="nc">JSONBContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
-</span><span id="JSONBContains-4193"><a href="#JSONBContains-4193"><span class="linenos">4193</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_CONTAINS&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONBContains-4212"><a href="#JSONBContains-4212"><span class="linenos">4212</span></a><span class="k">class</span> <span class="nc">JSONBContains</span><span class="p">(</span><span class="n">Binary</span><span class="p">):</span>
+</span><span id="JSONBContains-4213"><a href="#JSONBContains-4213"><span class="linenos">4213</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_CONTAINS&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="JSONBContains.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonbcontains&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONBContains.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONBContains.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONBContains.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONBContains.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONBContains.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONBContains.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONBContains.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONBContains.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONBContains.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONBContains.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42318,7 +55674,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONBContains.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONBContains.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONBContains.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONBContains.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONBContains.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONBContains.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONBContains.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONBContains.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONBContains.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONBContains.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONBContains.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42348,6 +55708,12 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONBContains.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="JSONBContains.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="JSONBContains.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="JSONBContains.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Condition">Condition</a></dt>
<dd id="JSONBContains.and_" class="function"><a href="#Condition.and_">and_</a></dd>
<dd id="JSONBContains.or_" class="function"><a href="#Condition.or_">or_</a></dd>
@@ -42377,18 +55743,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONExtract"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtract-4196"><a href="#JSONExtract-4196"><span class="linenos">4196</span></a><span class="k">class</span> <span class="nc">JSONExtract</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="JSONExtract-4197"><a href="#JSONExtract-4197"><span class="linenos">4197</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtract-4216"><a href="#JSONExtract-4216"><span class="linenos">4216</span></a><span class="k">class</span> <span class="nc">JSONExtract</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="JSONExtract-4217"><a href="#JSONExtract-4217"><span class="linenos">4217</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="JSONExtract.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonextract&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONExtract.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONExtract.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONExtract.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONExtract.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONExtract.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONExtract.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONExtract.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONExtract.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONExtract.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONExtract.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42398,7 +55781,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONExtract.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONExtract.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONExtract.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONExtract.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONExtract.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONExtract.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONExtract.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONExtract.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONExtract.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONExtract.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONExtract.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42428,8 +55815,15 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONExtract.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="JSONExtract.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="JSONExtract.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="JSONExtract.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONExtract.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="JSONExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONExtract.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONExtract.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONExtract.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42464,18 +55858,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONExtractScalar"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtractScalar-4200"><a href="#JSONExtractScalar-4200"><span class="linenos">4200</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
-</span><span id="JSONExtractScalar-4201"><a href="#JSONExtractScalar-4201"><span class="linenos">4201</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtractScalar-4220"><a href="#JSONExtractScalar-4220"><span class="linenos">4220</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
+</span><span id="JSONExtractScalar-4221"><a href="#JSONExtractScalar-4221"><span class="linenos">4221</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="JSONExtractScalar.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonextractscalar&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONExtractScalar.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONExtractScalar.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONExtractScalar.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONExtractScalar.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONExtractScalar.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONExtractScalar.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONExtractScalar.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONExtractScalar.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONExtractScalar.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONExtractScalar.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42485,7 +55896,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONExtractScalar.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONExtractScalar.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONExtractScalar.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONExtractScalar.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONExtractScalar.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONExtractScalar.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONExtractScalar.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONExtractScalar.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONExtractScalar.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONExtractScalar.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONExtractScalar.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42515,8 +55930,15 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONExtractScalar.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="JSONExtractScalar.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="JSONExtractScalar.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="JSONExtractScalar.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONExtractScalar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONExtractScalar.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="JSONExtractScalar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONExtractScalar.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONExtractScalar.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONExtractScalar.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42551,18 +55973,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONBExtract"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONBExtract-4204"><a href="#JSONBExtract-4204"><span class="linenos">4204</span></a><span class="k">class</span> <span class="nc">JSONBExtract</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
-</span><span id="JSONBExtract-4205"><a href="#JSONBExtract-4205"><span class="linenos">4205</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONBExtract-4224"><a href="#JSONBExtract-4224"><span class="linenos">4224</span></a><span class="k">class</span> <span class="nc">JSONBExtract</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
+</span><span id="JSONBExtract-4225"><a href="#JSONBExtract-4225"><span class="linenos">4225</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="JSONBExtract.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonbextract&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONBExtract.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONBExtract.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONBExtract.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONBExtract.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONBExtract.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONBExtract.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONBExtract.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONBExtract.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONBExtract.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONBExtract.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42572,7 +56011,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONBExtract.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONBExtract.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONBExtract.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONBExtract.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONBExtract.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONBExtract.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONBExtract.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONBExtract.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONBExtract.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONBExtract.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONBExtract.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42602,8 +56045,15 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONBExtract.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="JSONBExtract.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="JSONBExtract.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="JSONBExtract.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONBExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONBExtract.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="JSONBExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONBExtract.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONBExtract.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONBExtract.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42638,18 +56088,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONBExtractScalar"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONBExtractScalar-4208"><a href="#JSONBExtractScalar-4208"><span class="linenos">4208</span></a><span class="k">class</span> <span class="nc">JSONBExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
-</span><span id="JSONBExtractScalar-4209"><a href="#JSONBExtractScalar-4209"><span class="linenos">4209</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONBExtractScalar-4228"><a href="#JSONBExtractScalar-4228"><span class="linenos">4228</span></a><span class="k">class</span> <span class="nc">JSONBExtractScalar</span><span class="p">(</span><span class="n">JSONExtract</span><span class="p">):</span>
+</span><span id="JSONBExtractScalar-4229"><a href="#JSONBExtractScalar-4229"><span class="linenos">4229</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSONB_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="JSONBExtractScalar.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonbextractscalar&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONBExtractScalar.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONBExtractScalar.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONBExtractScalar.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONBExtractScalar.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONBExtractScalar.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONBExtractScalar.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONBExtractScalar.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONBExtractScalar.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONBExtractScalar.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONBExtractScalar.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42659,7 +56126,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONBExtractScalar.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONBExtractScalar.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONBExtractScalar.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONBExtractScalar.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONBExtractScalar.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONBExtractScalar.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONBExtractScalar.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONBExtractScalar.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONBExtractScalar.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONBExtractScalar.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONBExtractScalar.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42689,8 +56160,15 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONBExtractScalar.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="JSONBExtractScalar.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="JSONBExtractScalar.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="JSONBExtractScalar.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONBExtractScalar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONBExtractScalar.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="JSONBExtractScalar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONBExtractScalar.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONBExtractScalar.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONBExtractScalar.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42725,19 +56203,48 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#JSONFormat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONFormat-4212"><a href="#JSONFormat-4212"><span class="linenos">4212</span></a><span class="k">class</span> <span class="nc">JSONFormat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="JSONFormat-4213"><a href="#JSONFormat-4213"><span class="linenos">4213</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="JSONFormat-4214"><a href="#JSONFormat-4214"><span class="linenos">4214</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_FORMAT&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONFormat-4232"><a href="#JSONFormat-4232"><span class="linenos">4232</span></a><span class="k">class</span> <span class="nc">JSONFormat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="JSONFormat-4233"><a href="#JSONFormat-4233"><span class="linenos">4233</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="JSONFormat-4234"><a href="#JSONFormat-4234"><span class="linenos">4234</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_FORMAT&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="JSONFormat.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;options&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONFormat.arg_types"></a>
+
+
+
+ </div>
+ <div id="JSONFormat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;jsonformat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONFormat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="JSONFormat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="JSONFormat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="JSONFormat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="JSONFormat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="JSONFormat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="JSONFormat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="JSONFormat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="JSONFormat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="JSONFormat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42747,7 +56254,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="JSONFormat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="JSONFormat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="JSONFormat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="JSONFormat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="JSONFormat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="JSONFormat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="JSONFormat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="JSONFormat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="JSONFormat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="JSONFormat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="JSONFormat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42778,7 +56289,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONFormat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONFormat.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="JSONFormat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONFormat.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONFormat.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONFormat.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42813,19 +56325,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Least"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Least-4217"><a href="#Least-4217"><span class="linenos">4217</span></a><span class="k">class</span> <span class="nc">Least</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Least-4218"><a href="#Least-4218"><span class="linenos">4218</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Least-4219"><a href="#Least-4219"><span class="linenos">4219</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Least-4237"><a href="#Least-4237"><span class="linenos">4237</span></a><span class="k">class</span> <span class="nc">Least</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Least-4238"><a href="#Least-4238"><span class="linenos">4238</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Least-4239"><a href="#Least-4239"><span class="linenos">4239</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Least.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Least.arg_types"></a>
+
+
+
+ </div>
+ <div id="Least.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Least.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Least.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;least&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Least.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Least.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Least.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Least.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Least.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Least.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Least.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Least.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Least.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Least.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42835,7 +56388,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Least.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Least.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Least.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Least.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Least.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Least.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Least.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Least.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Least.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Least.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Least.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42901,18 +56458,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Left"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Left-4222"><a href="#Left-4222"><span class="linenos">4222</span></a><span class="k">class</span> <span class="nc">Left</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Left-4223"><a href="#Left-4223"><span class="linenos">4223</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Left-4242"><a href="#Left-4242"><span class="linenos">4242</span></a><span class="k">class</span> <span class="nc">Left</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Left-4243"><a href="#Left-4243"><span class="linenos">4243</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Left.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Left.arg_types"></a>
+
+
+
+ </div>
+ <div id="Left.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;left&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Left.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Left.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Left.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Left.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Left.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Left.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Left.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Left.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Left.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Left.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -42922,7 +56508,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Left.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Left.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Left.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Left.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Left.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Left.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Left.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Left.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Left.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Left.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Left.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -42953,7 +56543,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Left.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Left.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Left.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Left.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Left.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Left.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -42988,18 +56579,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Right"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Right-4226"><a href="#Right-4226"><span class="linenos">4226</span></a><span class="k">class</span> <span class="nc">Right</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Right-4227"><a href="#Right-4227"><span class="linenos">4227</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Right-4246"><a href="#Right-4246"><span class="linenos">4246</span></a><span class="k">class</span> <span class="nc">Right</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Right-4247"><a href="#Right-4247"><span class="linenos">4247</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Right.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Right.arg_types"></a>
+
+
+
+ </div>
+ <div id="Right.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;right&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Right.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Right.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Right.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Right.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Right.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Right.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Right.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Right.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Right.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Right.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43009,7 +56629,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Right.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Right.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Right.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Right.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Right.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Right.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Right.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Right.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Right.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Right.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Right.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43040,7 +56664,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Right.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Right.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Right.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Right.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Right.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Right.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43075,18 +56700,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Length"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Length-4230"><a href="#Length-4230"><span class="linenos">4230</span></a><span class="k">class</span> <span class="nc">Length</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Length-4231"><a href="#Length-4231"><span class="linenos">4231</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LENGTH&quot;</span><span class="p">,</span> <span class="s2">&quot;LEN&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Length-4250"><a href="#Length-4250"><span class="linenos">4250</span></a><span class="k">class</span> <span class="nc">Length</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Length-4251"><a href="#Length-4251"><span class="linenos">4251</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LENGTH&quot;</span><span class="p">,</span> <span class="s2">&quot;LEN&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Length.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;length&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Length.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Length.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Length.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Length.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Length.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Length.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Length.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Length.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Length.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Length.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Length.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43096,7 +56739,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Length.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Length.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Length.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Length.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Length.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Length.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Length.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Length.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Length.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Length.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Length.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43127,7 +56774,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Length.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Length.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Length.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Length.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Length.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Length.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43162,24 +56810,53 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Levenshtein"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Levenshtein-4234"><a href="#Levenshtein-4234"><span class="linenos">4234</span></a><span class="k">class</span> <span class="nc">Levenshtein</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Levenshtein-4235"><a href="#Levenshtein-4235"><span class="linenos">4235</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Levenshtein-4236"><a href="#Levenshtein-4236"><span class="linenos">4236</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Levenshtein-4237"><a href="#Levenshtein-4237"><span class="linenos">4237</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Levenshtein-4238"><a href="#Levenshtein-4238"><span class="linenos">4238</span></a> <span class="s2">&quot;ins_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Levenshtein-4239"><a href="#Levenshtein-4239"><span class="linenos">4239</span></a> <span class="s2">&quot;del_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Levenshtein-4240"><a href="#Levenshtein-4240"><span class="linenos">4240</span></a> <span class="s2">&quot;sub_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Levenshtein-4241"><a href="#Levenshtein-4241"><span class="linenos">4241</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Levenshtein-4254"><a href="#Levenshtein-4254"><span class="linenos">4254</span></a><span class="k">class</span> <span class="nc">Levenshtein</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Levenshtein-4255"><a href="#Levenshtein-4255"><span class="linenos">4255</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Levenshtein-4256"><a href="#Levenshtein-4256"><span class="linenos">4256</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Levenshtein-4257"><a href="#Levenshtein-4257"><span class="linenos">4257</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Levenshtein-4258"><a href="#Levenshtein-4258"><span class="linenos">4258</span></a> <span class="s2">&quot;ins_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Levenshtein-4259"><a href="#Levenshtein-4259"><span class="linenos">4259</span></a> <span class="s2">&quot;del_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Levenshtein-4260"><a href="#Levenshtein-4260"><span class="linenos">4260</span></a> <span class="s2">&quot;sub_cost&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Levenshtein-4261"><a href="#Levenshtein-4261"><span class="linenos">4261</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Levenshtein.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False, &#39;ins_cost&#39;: False, &#39;del_cost&#39;: False, &#39;sub_cost&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Levenshtein.arg_types"></a>
+
+
+
+ </div>
+ <div id="Levenshtein.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;levenshtein&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Levenshtein.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Levenshtein.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Levenshtein.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Levenshtein.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Levenshtein.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Levenshtein.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Levenshtein.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Levenshtein.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Levenshtein.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Levenshtein.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43189,7 +56866,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Levenshtein.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Levenshtein.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Levenshtein.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Levenshtein.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Levenshtein.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Levenshtein.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Levenshtein.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Levenshtein.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Levenshtein.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Levenshtein.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Levenshtein.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43220,7 +56901,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Levenshtein.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Levenshtein.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Levenshtein.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Levenshtein.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Levenshtein.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Levenshtein.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43255,18 +56937,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Ln"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Ln-4244"><a href="#Ln-4244"><span class="linenos">4244</span></a><span class="k">class</span> <span class="nc">Ln</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Ln-4245"><a href="#Ln-4245"><span class="linenos">4245</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Ln-4264"><a href="#Ln-4264"><span class="linenos">4264</span></a><span class="k">class</span> <span class="nc">Ln</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Ln-4265"><a href="#Ln-4265"><span class="linenos">4265</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Ln.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;ln&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Ln.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Ln.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Ln.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Ln.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Ln.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Ln.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Ln.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Ln.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Ln.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Ln.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Ln.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43276,7 +56976,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Ln.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Ln.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Ln.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Ln.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Ln.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Ln.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Ln.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Ln.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Ln.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Ln.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Ln.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43307,7 +57011,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Ln.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Ln.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Ln.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Ln.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Ln.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Ln.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43342,18 +57047,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Log"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Log-4248"><a href="#Log-4248"><span class="linenos">4248</span></a><span class="k">class</span> <span class="nc">Log</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Log-4249"><a href="#Log-4249"><span class="linenos">4249</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Log-4268"><a href="#Log-4268"><span class="linenos">4268</span></a><span class="k">class</span> <span class="nc">Log</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Log-4269"><a href="#Log-4269"><span class="linenos">4269</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Log.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Log.arg_types"></a>
+
+
+
+ </div>
+ <div id="Log.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;log&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Log.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Log.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Log.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Log.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Log.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Log.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Log.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Log.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Log.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Log.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43363,7 +57097,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Log.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Log.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Log.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Log.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Log.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Log.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Log.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Log.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Log.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Log.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Log.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43394,7 +57132,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Log.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Log.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Log.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Log.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Log.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Log.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43429,18 +57168,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Log2"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Log2-4252"><a href="#Log2-4252"><span class="linenos">4252</span></a><span class="k">class</span> <span class="nc">Log2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Log2-4253"><a href="#Log2-4253"><span class="linenos">4253</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Log2-4272"><a href="#Log2-4272"><span class="linenos">4272</span></a><span class="k">class</span> <span class="nc">Log2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Log2-4273"><a href="#Log2-4273"><span class="linenos">4273</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Log2.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;log2&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Log2.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Log2.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Log2.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Log2.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Log2.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Log2.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Log2.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Log2.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Log2.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Log2.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Log2.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43450,7 +57207,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Log2.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Log2.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Log2.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Log2.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Log2.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Log2.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Log2.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Log2.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Log2.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Log2.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Log2.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43481,7 +57242,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Log2.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Log2.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Log2.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Log2.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Log2.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Log2.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43516,18 +57278,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Log10"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Log10-4256"><a href="#Log10-4256"><span class="linenos">4256</span></a><span class="k">class</span> <span class="nc">Log10</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Log10-4257"><a href="#Log10-4257"><span class="linenos">4257</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Log10-4276"><a href="#Log10-4276"><span class="linenos">4276</span></a><span class="k">class</span> <span class="nc">Log10</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Log10-4277"><a href="#Log10-4277"><span class="linenos">4277</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Log10.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;log10&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Log10.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Log10.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Log10.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Log10.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Log10.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Log10.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Log10.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Log10.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Log10.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Log10.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Log10.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43537,7 +57317,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Log10.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Log10.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Log10.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Log10.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Log10.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Log10.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Log10.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Log10.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Log10.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Log10.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Log10.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43568,7 +57352,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Log10.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Log10.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Log10.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Log10.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Log10.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Log10.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43603,18 +57388,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#LogicalOr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LogicalOr-4260"><a href="#LogicalOr-4260"><span class="linenos">4260</span></a><span class="k">class</span> <span class="nc">LogicalOr</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="LogicalOr-4261"><a href="#LogicalOr-4261"><span class="linenos">4261</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLOR_AGG&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LogicalOr-4280"><a href="#LogicalOr-4280"><span class="linenos">4280</span></a><span class="k">class</span> <span class="nc">LogicalOr</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="LogicalOr-4281"><a href="#LogicalOr-4281"><span class="linenos">4281</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_OR&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLOR_AGG&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="LogicalOr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;logicalor&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LogicalOr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LogicalOr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LogicalOr.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="LogicalOr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LogicalOr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LogicalOr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LogicalOr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LogicalOr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LogicalOr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LogicalOr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LogicalOr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43624,7 +57427,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="LogicalOr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LogicalOr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LogicalOr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LogicalOr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LogicalOr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LogicalOr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LogicalOr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LogicalOr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LogicalOr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LogicalOr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LogicalOr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43655,7 +57462,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="LogicalOr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="LogicalOr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="LogicalOr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="LogicalOr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="LogicalOr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="LogicalOr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43690,18 +57498,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#LogicalAnd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="LogicalAnd-4264"><a href="#LogicalAnd-4264"><span class="linenos">4264</span></a><span class="k">class</span> <span class="nc">LogicalAnd</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="LogicalAnd-4265"><a href="#LogicalAnd-4265"><span class="linenos">4265</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLAND_AGG&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="LogicalAnd-4284"><a href="#LogicalAnd-4284"><span class="linenos">4284</span></a><span class="k">class</span> <span class="nc">LogicalAnd</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="LogicalAnd-4285"><a href="#LogicalAnd-4285"><span class="linenos">4285</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOGICAL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOL_AND&quot;</span><span class="p">,</span> <span class="s2">&quot;BOOLAND_AGG&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="LogicalAnd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;logicaland&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#LogicalAnd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="LogicalAnd.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="LogicalAnd.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="LogicalAnd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="LogicalAnd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="LogicalAnd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="LogicalAnd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="LogicalAnd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="LogicalAnd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="LogicalAnd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="LogicalAnd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43711,7 +57537,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="LogicalAnd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="LogicalAnd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="LogicalAnd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="LogicalAnd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="LogicalAnd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="LogicalAnd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="LogicalAnd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="LogicalAnd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="LogicalAnd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="LogicalAnd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="LogicalAnd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43742,7 +57572,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="LogicalAnd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="LogicalAnd.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="LogicalAnd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="LogicalAnd.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="LogicalAnd.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="LogicalAnd.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43777,18 +57608,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Lower"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Lower-4268"><a href="#Lower-4268"><span class="linenos">4268</span></a><span class="k">class</span> <span class="nc">Lower</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Lower-4269"><a href="#Lower-4269"><span class="linenos">4269</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOWER&quot;</span><span class="p">,</span> <span class="s2">&quot;LCASE&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Lower-4288"><a href="#Lower-4288"><span class="linenos">4288</span></a><span class="k">class</span> <span class="nc">Lower</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Lower-4289"><a href="#Lower-4289"><span class="linenos">4289</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LOWER&quot;</span><span class="p">,</span> <span class="s2">&quot;LCASE&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Lower.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;lower&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Lower.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Lower.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Lower.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Lower.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Lower.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Lower.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Lower.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Lower.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Lower.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Lower.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Lower.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43798,7 +57647,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Lower.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Lower.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Lower.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Lower.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Lower.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Lower.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Lower.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Lower.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Lower.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Lower.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Lower.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43829,7 +57682,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Lower.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Lower.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Lower.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Lower.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Lower.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Lower.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43864,18 +57718,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Map"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Map-4272"><a href="#Map-4272"><span class="linenos">4272</span></a><span class="k">class</span> <span class="nc">Map</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Map-4273"><a href="#Map-4273"><span class="linenos">4273</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Map-4292"><a href="#Map-4292"><span class="linenos">4292</span></a><span class="k">class</span> <span class="nc">Map</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Map-4293"><a href="#Map-4293"><span class="linenos">4293</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Map.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;keys&#39;: False, &#39;values&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Map.arg_types"></a>
+
+
+
+ </div>
+ <div id="Map.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;map&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Map.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Map.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Map.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Map.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Map.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Map.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Map.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Map.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Map.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Map.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43885,7 +57768,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Map.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Map.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Map.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Map.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Map.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Map.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Map.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Map.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Map.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Map.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Map.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -43916,7 +57803,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Map.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Map.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Map.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Map.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Map.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Map.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -43951,18 +57839,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StarMap"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StarMap-4276"><a href="#StarMap-4276"><span class="linenos">4276</span></a><span class="k">class</span> <span class="nc">StarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StarMap-4277"><a href="#StarMap-4277"><span class="linenos">4277</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StarMap-4296"><a href="#StarMap-4296"><span class="linenos">4296</span></a><span class="k">class</span> <span class="nc">StarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StarMap-4297"><a href="#StarMap-4297"><span class="linenos">4297</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="StarMap.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;starmap&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StarMap.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StarMap.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StarMap.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="StarMap.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StarMap.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StarMap.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StarMap.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StarMap.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StarMap.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StarMap.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StarMap.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -43972,7 +57878,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StarMap.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StarMap.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StarMap.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StarMap.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StarMap.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StarMap.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StarMap.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StarMap.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StarMap.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StarMap.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StarMap.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44003,7 +57913,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StarMap.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StarMap.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StarMap.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StarMap.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StarMap.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StarMap.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44038,27 +57949,90 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#VarMap"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="VarMap-4280"><a href="#VarMap-4280"><span class="linenos">4280</span></a><span class="k">class</span> <span class="nc">VarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="VarMap-4281"><a href="#VarMap-4281"><span class="linenos">4281</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="VarMap-4282"><a href="#VarMap-4282"><span class="linenos">4282</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="VarMap-4283"><a href="#VarMap-4283"><span class="linenos">4283</span></a>
-</span><span id="VarMap-4284"><a href="#VarMap-4284"><span class="linenos">4284</span></a> <span class="nd">@property</span>
-</span><span id="VarMap-4285"><a href="#VarMap-4285"><span class="linenos">4285</span></a> <span class="k">def</span> <span class="nf">keys</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
-</span><span id="VarMap-4286"><a href="#VarMap-4286"><span class="linenos">4286</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;keys&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
-</span><span id="VarMap-4287"><a href="#VarMap-4287"><span class="linenos">4287</span></a>
-</span><span id="VarMap-4288"><a href="#VarMap-4288"><span class="linenos">4288</span></a> <span class="nd">@property</span>
-</span><span id="VarMap-4289"><a href="#VarMap-4289"><span class="linenos">4289</span></a> <span class="k">def</span> <span class="nf">values</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
-</span><span id="VarMap-4290"><a href="#VarMap-4290"><span class="linenos">4290</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;values&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="VarMap-4300"><a href="#VarMap-4300"><span class="linenos">4300</span></a><span class="k">class</span> <span class="nc">VarMap</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="VarMap-4301"><a href="#VarMap-4301"><span class="linenos">4301</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;keys&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;values&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="VarMap-4302"><a href="#VarMap-4302"><span class="linenos">4302</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="VarMap-4303"><a href="#VarMap-4303"><span class="linenos">4303</span></a>
+</span><span id="VarMap-4304"><a href="#VarMap-4304"><span class="linenos">4304</span></a> <span class="nd">@property</span>
+</span><span id="VarMap-4305"><a href="#VarMap-4305"><span class="linenos">4305</span></a> <span class="k">def</span> <span class="nf">keys</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
+</span><span id="VarMap-4306"><a href="#VarMap-4306"><span class="linenos">4306</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;keys&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
+</span><span id="VarMap-4307"><a href="#VarMap-4307"><span class="linenos">4307</span></a>
+</span><span id="VarMap-4308"><a href="#VarMap-4308"><span class="linenos">4308</span></a> <span class="nd">@property</span>
+</span><span id="VarMap-4309"><a href="#VarMap-4309"><span class="linenos">4309</span></a> <span class="k">def</span> <span class="nf">values</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]:</span>
+</span><span id="VarMap-4310"><a href="#VarMap-4310"><span class="linenos">4310</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;values&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">expressions</span>
</span></pre></div>
+ <div id="VarMap.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;keys&#39;: True, &#39;values&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#VarMap.arg_types"></a>
+
+
+
+ </div>
+ <div id="VarMap.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#VarMap.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="VarMap.keys" class="classattr">
+ <div class="attr variable">
+ <span class="name">keys</span><span class="annotation">: List[<a href="#Expression">sqlglot.expressions.Expression</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#VarMap.keys"></a>
+
+
+
+ </div>
+ <div id="VarMap.values" class="classattr">
+ <div class="attr variable">
+ <span class="name">values</span><span class="annotation">: List[<a href="#Expression">sqlglot.expressions.Expression</a>]</span>
+
+
+ </div>
+ <a class="headerlink" href="#VarMap.values"></a>
+
+
+
+ </div>
+ <div id="VarMap.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;varmap&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#VarMap.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="VarMap.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="VarMap.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="VarMap.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="VarMap.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="VarMap.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="VarMap.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="VarMap.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="VarMap.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="VarMap.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44068,7 +58042,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="VarMap.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="VarMap.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="VarMap.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="VarMap.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="VarMap.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="VarMap.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="VarMap.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="VarMap.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="VarMap.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="VarMap.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="VarMap.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44134,18 +58112,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#MatchAgainst"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="MatchAgainst-4294"><a href="#MatchAgainst-4294"><span class="linenos">4294</span></a><span class="k">class</span> <span class="nc">MatchAgainst</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="MatchAgainst-4295"><a href="#MatchAgainst-4295"><span class="linenos">4295</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;modifier&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="MatchAgainst-4314"><a href="#MatchAgainst-4314"><span class="linenos">4314</span></a><span class="k">class</span> <span class="nc">MatchAgainst</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="MatchAgainst-4315"><a href="#MatchAgainst-4315"><span class="linenos">4315</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;modifier&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="MatchAgainst.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True, &#39;modifier&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#MatchAgainst.arg_types"></a>
+
+
+
+ </div>
+ <div id="MatchAgainst.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;matchagainst&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MatchAgainst.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MatchAgainst.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MatchAgainst.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MatchAgainst.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MatchAgainst.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MatchAgainst.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MatchAgainst.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MatchAgainst.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MatchAgainst.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MatchAgainst.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44155,7 +58162,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="MatchAgainst.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MatchAgainst.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MatchAgainst.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MatchAgainst.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MatchAgainst.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MatchAgainst.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MatchAgainst.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MatchAgainst.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MatchAgainst.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MatchAgainst.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MatchAgainst.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44186,7 +58197,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="MatchAgainst.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="MatchAgainst.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="MatchAgainst.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="MatchAgainst.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="MatchAgainst.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="MatchAgainst.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44221,19 +58233,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Max"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Max-4298"><a href="#Max-4298"><span class="linenos">4298</span></a><span class="k">class</span> <span class="nc">Max</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Max-4299"><a href="#Max-4299"><span class="linenos">4299</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Max-4300"><a href="#Max-4300"><span class="linenos">4300</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Max-4318"><a href="#Max-4318"><span class="linenos">4318</span></a><span class="k">class</span> <span class="nc">Max</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Max-4319"><a href="#Max-4319"><span class="linenos">4319</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Max-4320"><a href="#Max-4320"><span class="linenos">4320</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Max.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Max.arg_types"></a>
+
+
+
+ </div>
+ <div id="Max.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Max.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Max.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;max&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Max.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Max.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Max.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Max.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Max.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Max.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Max.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Max.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Max.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Max.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44243,7 +58296,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Max.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Max.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Max.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Max.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Max.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Max.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Max.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Max.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Max.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Max.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Max.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44309,18 +58366,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#MD5"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="MD5-4303"><a href="#MD5-4303"><span class="linenos">4303</span></a><span class="k">class</span> <span class="nc">MD5</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="MD5-4304"><a href="#MD5-4304"><span class="linenos">4304</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;MD5&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="MD5-4323"><a href="#MD5-4323"><span class="linenos">4323</span></a><span class="k">class</span> <span class="nc">MD5</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="MD5-4324"><a href="#MD5-4324"><span class="linenos">4324</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;MD5&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="MD5.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;md5&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#MD5.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="MD5.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="MD5.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="MD5.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="MD5.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="MD5.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="MD5.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="MD5.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="MD5.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="MD5.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="MD5.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44330,7 +58405,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="MD5.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="MD5.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="MD5.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="MD5.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="MD5.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="MD5.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="MD5.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="MD5.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="MD5.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="MD5.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="MD5.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44361,7 +58440,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="MD5.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="MD5.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="MD5.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="MD5.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="MD5.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="MD5.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44396,19 +58476,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Min"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Min-4307"><a href="#Min-4307"><span class="linenos">4307</span></a><span class="k">class</span> <span class="nc">Min</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Min-4308"><a href="#Min-4308"><span class="linenos">4308</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="Min-4309"><a href="#Min-4309"><span class="linenos">4309</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Min-4327"><a href="#Min-4327"><span class="linenos">4327</span></a><span class="k">class</span> <span class="nc">Min</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Min-4328"><a href="#Min-4328"><span class="linenos">4328</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Min-4329"><a href="#Min-4329"><span class="linenos">4329</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Min.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Min.arg_types"></a>
+
+
+
+ </div>
+ <div id="Min.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Min.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Min.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;min&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Min.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Min.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Min.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Min.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Min.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Min.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Min.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Min.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Min.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Min.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44418,7 +58539,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Min.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Min.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Min.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Min.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Min.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Min.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Min.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Min.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Min.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Min.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Min.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44484,18 +58609,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Month"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Month-4312"><a href="#Month-4312"><span class="linenos">4312</span></a><span class="k">class</span> <span class="nc">Month</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Month-4313"><a href="#Month-4313"><span class="linenos">4313</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Month-4332"><a href="#Month-4332"><span class="linenos">4332</span></a><span class="k">class</span> <span class="nc">Month</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Month-4333"><a href="#Month-4333"><span class="linenos">4333</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Month.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;month&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Month.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Month.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Month.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Month.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Month.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Month.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Month.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Month.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Month.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Month.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Month.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44505,7 +58648,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Month.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Month.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Month.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Month.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Month.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Month.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Month.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Month.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Month.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Month.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Month.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44536,7 +58683,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Month.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Month.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Month.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Month.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Month.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Month.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44571,18 +58719,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Nvl2"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Nvl2-4316"><a href="#Nvl2-4316"><span class="linenos">4316</span></a><span class="k">class</span> <span class="nc">Nvl2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Nvl2-4317"><a href="#Nvl2-4317"><span class="linenos">4317</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Nvl2-4336"><a href="#Nvl2-4336"><span class="linenos">4336</span></a><span class="k">class</span> <span class="nc">Nvl2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Nvl2-4337"><a href="#Nvl2-4337"><span class="linenos">4337</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;true&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;false&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Nvl2.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;true&#39;: True, &#39;false&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Nvl2.arg_types"></a>
+
+
+
+ </div>
+ <div id="Nvl2.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;nvl2&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Nvl2.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Nvl2.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Nvl2.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Nvl2.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Nvl2.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Nvl2.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Nvl2.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Nvl2.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Nvl2.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Nvl2.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44592,7 +58769,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Nvl2.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Nvl2.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Nvl2.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Nvl2.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Nvl2.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Nvl2.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Nvl2.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Nvl2.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Nvl2.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Nvl2.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Nvl2.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44623,7 +58804,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Nvl2.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Nvl2.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Nvl2.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Nvl2.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Nvl2.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Nvl2.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44658,18 +58840,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Posexplode"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Posexplode-4320"><a href="#Posexplode-4320"><span class="linenos">4320</span></a><span class="k">class</span> <span class="nc">Posexplode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Posexplode-4321"><a href="#Posexplode-4321"><span class="linenos">4321</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Posexplode-4340"><a href="#Posexplode-4340"><span class="linenos">4340</span></a><span class="k">class</span> <span class="nc">Posexplode</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Posexplode-4341"><a href="#Posexplode-4341"><span class="linenos">4341</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Posexplode.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;posexplode&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Posexplode.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Posexplode.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Posexplode.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Posexplode.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Posexplode.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Posexplode.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Posexplode.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Posexplode.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Posexplode.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Posexplode.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Posexplode.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44679,7 +58879,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Posexplode.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Posexplode.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Posexplode.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Posexplode.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Posexplode.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Posexplode.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Posexplode.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Posexplode.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Posexplode.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Posexplode.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Posexplode.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44710,7 +58914,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Posexplode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Posexplode.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Posexplode.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Posexplode.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Posexplode.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Posexplode.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44745,18 +58950,35 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Pow"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Pow-4324"><a href="#Pow-4324"><span class="linenos">4324</span></a><span class="k">class</span> <span class="nc">Pow</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="Pow-4325"><a href="#Pow-4325"><span class="linenos">4325</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;POWER&quot;</span><span class="p">,</span> <span class="s2">&quot;POW&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Pow-4344"><a href="#Pow-4344"><span class="linenos">4344</span></a><span class="k">class</span> <span class="nc">Pow</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="Pow-4345"><a href="#Pow-4345"><span class="linenos">4345</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;POWER&quot;</span><span class="p">,</span> <span class="s2">&quot;POW&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Pow.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;pow&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Pow.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Pow.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Pow.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Pow.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Pow.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Pow.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Pow.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Pow.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Pow.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Pow.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44766,7 +58988,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Pow.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Pow.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Pow.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Pow.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Pow.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Pow.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Pow.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Pow.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Pow.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Pow.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Pow.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44796,8 +59022,15 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Pow.load" class="function"><a href="#Expression.load">load</a></dd>
</div>
+ <div><dt><a href="#Binary">Binary</a></dt>
+ <dd id="Pow.arg_types" class="variable"><a href="#Binary.arg_types">arg_types</a></dd>
+ <dd id="Pow.left" class="variable"><a href="#Binary.left">left</a></dd>
+ <dd id="Pow.right" class="variable"><a href="#Binary.right">right</a></dd>
+
+ </div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Pow.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Pow.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Pow.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Pow.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Pow.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Pow.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44832,18 +59065,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#PercentileCont"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="PercentileCont-4328"><a href="#PercentileCont-4328"><span class="linenos">4328</span></a><span class="k">class</span> <span class="nc">PercentileCont</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="PercentileCont-4329"><a href="#PercentileCont-4329"><span class="linenos">4329</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="PercentileCont-4348"><a href="#PercentileCont-4348"><span class="linenos">4348</span></a><span class="k">class</span> <span class="nc">PercentileCont</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="PercentileCont-4349"><a href="#PercentileCont-4349"><span class="linenos">4349</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="PercentileCont.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#PercentileCont.arg_types"></a>
+
+
+
+ </div>
+ <div id="PercentileCont.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;percentilecont&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PercentileCont.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PercentileCont.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PercentileCont.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PercentileCont.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PercentileCont.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PercentileCont.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PercentileCont.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PercentileCont.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PercentileCont.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PercentileCont.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44853,7 +59115,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="PercentileCont.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PercentileCont.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PercentileCont.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PercentileCont.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PercentileCont.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PercentileCont.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PercentileCont.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PercentileCont.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PercentileCont.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PercentileCont.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PercentileCont.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44884,7 +59150,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="PercentileCont.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="PercentileCont.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="PercentileCont.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="PercentileCont.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="PercentileCont.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="PercentileCont.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -44919,18 +59186,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#PercentileDisc"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="PercentileDisc-4332"><a href="#PercentileDisc-4332"><span class="linenos">4332</span></a><span class="k">class</span> <span class="nc">PercentileDisc</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="PercentileDisc-4333"><a href="#PercentileDisc-4333"><span class="linenos">4333</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="PercentileDisc-4352"><a href="#PercentileDisc-4352"><span class="linenos">4352</span></a><span class="k">class</span> <span class="nc">PercentileDisc</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="PercentileDisc-4353"><a href="#PercentileDisc-4353"><span class="linenos">4353</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="PercentileDisc.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#PercentileDisc.arg_types"></a>
+
+
+
+ </div>
+ <div id="PercentileDisc.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;percentiledisc&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#PercentileDisc.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="PercentileDisc.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="PercentileDisc.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="PercentileDisc.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="PercentileDisc.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="PercentileDisc.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="PercentileDisc.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="PercentileDisc.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="PercentileDisc.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="PercentileDisc.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -44940,7 +59236,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="PercentileDisc.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="PercentileDisc.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="PercentileDisc.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="PercentileDisc.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="PercentileDisc.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="PercentileDisc.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="PercentileDisc.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="PercentileDisc.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="PercentileDisc.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="PercentileDisc.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="PercentileDisc.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -44971,7 +59271,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="PercentileDisc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="PercentileDisc.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="PercentileDisc.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="PercentileDisc.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="PercentileDisc.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="PercentileDisc.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45006,18 +59307,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Quantile"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Quantile-4336"><a href="#Quantile-4336"><span class="linenos">4336</span></a><span class="k">class</span> <span class="nc">Quantile</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Quantile-4337"><a href="#Quantile-4337"><span class="linenos">4337</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Quantile-4356"><a href="#Quantile-4356"><span class="linenos">4356</span></a><span class="k">class</span> <span class="nc">Quantile</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Quantile-4357"><a href="#Quantile-4357"><span class="linenos">4357</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Quantile.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;quantile&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Quantile.arg_types"></a>
+
+
+
+ </div>
+ <div id="Quantile.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;quantile&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Quantile.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Quantile.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Quantile.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Quantile.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Quantile.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Quantile.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Quantile.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Quantile.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Quantile.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Quantile.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45027,7 +59357,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Quantile.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Quantile.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Quantile.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Quantile.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Quantile.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Quantile.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Quantile.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Quantile.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Quantile.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Quantile.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Quantile.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45058,7 +59392,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Quantile.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Quantile.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Quantile.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Quantile.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Quantile.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Quantile.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45093,18 +59428,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ApproxQuantile"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ApproxQuantile-4340"><a href="#ApproxQuantile-4340"><span class="linenos">4340</span></a><span class="k">class</span> <span class="nc">ApproxQuantile</span><span class="p">(</span><span class="n">Quantile</span><span class="p">):</span>
-</span><span id="ApproxQuantile-4341"><a href="#ApproxQuantile-4341"><span class="linenos">4341</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ApproxQuantile-4360"><a href="#ApproxQuantile-4360"><span class="linenos">4360</span></a><span class="k">class</span> <span class="nc">ApproxQuantile</span><span class="p">(</span><span class="n">Quantile</span><span class="p">):</span>
+</span><span id="ApproxQuantile-4361"><a href="#ApproxQuantile-4361"><span class="linenos">4361</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;quantile&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;accuracy&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ApproxQuantile.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;quantile&#39;: True, &#39;accuracy&#39;: False, &#39;weight&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ApproxQuantile.arg_types"></a>
+
+
+
+ </div>
+ <div id="ApproxQuantile.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;approxquantile&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ApproxQuantile.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ApproxQuantile.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ApproxQuantile.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ApproxQuantile.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ApproxQuantile.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ApproxQuantile.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ApproxQuantile.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ApproxQuantile.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ApproxQuantile.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ApproxQuantile.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45114,7 +59478,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ApproxQuantile.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ApproxQuantile.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ApproxQuantile.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ApproxQuantile.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ApproxQuantile.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ApproxQuantile.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ApproxQuantile.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ApproxQuantile.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ApproxQuantile.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ApproxQuantile.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ApproxQuantile.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45145,7 +59513,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="ApproxQuantile.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="ApproxQuantile.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="ApproxQuantile.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="ApproxQuantile.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="ApproxQuantile.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="ApproxQuantile.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45180,18 +59549,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#RangeN"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RangeN-4344"><a href="#RangeN-4344"><span class="linenos">4344</span></a><span class="k">class</span> <span class="nc">RangeN</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="RangeN-4345"><a href="#RangeN-4345"><span class="linenos">4345</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;each&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RangeN-4364"><a href="#RangeN-4364"><span class="linenos">4364</span></a><span class="k">class</span> <span class="nc">RangeN</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="RangeN-4365"><a href="#RangeN-4365"><span class="linenos">4365</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;each&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="RangeN.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: True, &#39;each&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RangeN.arg_types"></a>
+
+
+
+ </div>
+ <div id="RangeN.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rangen&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RangeN.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RangeN.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RangeN.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RangeN.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RangeN.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RangeN.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RangeN.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RangeN.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RangeN.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RangeN.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45201,7 +59599,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="RangeN.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RangeN.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RangeN.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RangeN.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RangeN.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RangeN.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RangeN.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RangeN.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RangeN.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RangeN.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RangeN.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45232,7 +59634,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="RangeN.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="RangeN.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="RangeN.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="RangeN.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="RangeN.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="RangeN.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45267,20 +59670,61 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#ReadCSV"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="ReadCSV-4348"><a href="#ReadCSV-4348"><span class="linenos">4348</span></a><span class="k">class</span> <span class="nc">ReadCSV</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="ReadCSV-4349"><a href="#ReadCSV-4349"><span class="linenos">4349</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;READ_CSV&quot;</span><span class="p">]</span>
-</span><span id="ReadCSV-4350"><a href="#ReadCSV-4350"><span class="linenos">4350</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="ReadCSV-4351"><a href="#ReadCSV-4351"><span class="linenos">4351</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="ReadCSV-4368"><a href="#ReadCSV-4368"><span class="linenos">4368</span></a><span class="k">class</span> <span class="nc">ReadCSV</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="ReadCSV-4369"><a href="#ReadCSV-4369"><span class="linenos">4369</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;READ_CSV&quot;</span><span class="p">]</span>
+</span><span id="ReadCSV-4370"><a href="#ReadCSV-4370"><span class="linenos">4370</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="ReadCSV-4371"><a href="#ReadCSV-4371"><span class="linenos">4371</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="ReadCSV.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#ReadCSV.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="ReadCSV.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expressions&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#ReadCSV.arg_types"></a>
+
+
+
+ </div>
+ <div id="ReadCSV.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;readcsv&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#ReadCSV.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="ReadCSV.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="ReadCSV.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="ReadCSV.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="ReadCSV.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="ReadCSV.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="ReadCSV.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="ReadCSV.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="ReadCSV.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="ReadCSV.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45290,7 +59734,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="ReadCSV.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="ReadCSV.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="ReadCSV.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="ReadCSV.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="ReadCSV.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="ReadCSV.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="ReadCSV.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="ReadCSV.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="ReadCSV.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="ReadCSV.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="ReadCSV.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45356,18 +59804,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Reduce"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Reduce-4354"><a href="#Reduce-4354"><span class="linenos">4354</span></a><span class="k">class</span> <span class="nc">Reduce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Reduce-4355"><a href="#Reduce-4355"><span class="linenos">4355</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;initial&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;merge&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;finish&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Reduce-4374"><a href="#Reduce-4374"><span class="linenos">4374</span></a><span class="k">class</span> <span class="nc">Reduce</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Reduce-4375"><a href="#Reduce-4375"><span class="linenos">4375</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;initial&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;merge&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;finish&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Reduce.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;initial&#39;: True, &#39;merge&#39;: True, &#39;finish&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Reduce.arg_types"></a>
+
+
+
+ </div>
+ <div id="Reduce.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;reduce&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Reduce.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Reduce.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Reduce.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Reduce.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Reduce.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Reduce.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Reduce.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Reduce.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Reduce.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Reduce.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45377,7 +59854,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Reduce.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Reduce.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Reduce.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Reduce.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Reduce.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Reduce.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Reduce.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Reduce.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Reduce.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Reduce.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Reduce.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45408,7 +59889,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Reduce.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Reduce.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Reduce.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Reduce.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Reduce.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Reduce.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45443,24 +59925,53 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#RegexpExtract"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpExtract-4358"><a href="#RegexpExtract-4358"><span class="linenos">4358</span></a><span class="k">class</span> <span class="nc">RegexpExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="RegexpExtract-4359"><a href="#RegexpExtract-4359"><span class="linenos">4359</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="RegexpExtract-4360"><a href="#RegexpExtract-4360"><span class="linenos">4360</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="RegexpExtract-4361"><a href="#RegexpExtract-4361"><span class="linenos">4361</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="RegexpExtract-4362"><a href="#RegexpExtract-4362"><span class="linenos">4362</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RegexpExtract-4363"><a href="#RegexpExtract-4363"><span class="linenos">4363</span></a> <span class="s2">&quot;occurrence&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RegexpExtract-4364"><a href="#RegexpExtract-4364"><span class="linenos">4364</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="RegexpExtract-4365"><a href="#RegexpExtract-4365"><span class="linenos">4365</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpExtract-4378"><a href="#RegexpExtract-4378"><span class="linenos">4378</span></a><span class="k">class</span> <span class="nc">RegexpExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="RegexpExtract-4379"><a href="#RegexpExtract-4379"><span class="linenos">4379</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="RegexpExtract-4380"><a href="#RegexpExtract-4380"><span class="linenos">4380</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="RegexpExtract-4381"><a href="#RegexpExtract-4381"><span class="linenos">4381</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="RegexpExtract-4382"><a href="#RegexpExtract-4382"><span class="linenos">4382</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RegexpExtract-4383"><a href="#RegexpExtract-4383"><span class="linenos">4383</span></a> <span class="s2">&quot;occurrence&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RegexpExtract-4384"><a href="#RegexpExtract-4384"><span class="linenos">4384</span></a> <span class="s2">&quot;group&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="RegexpExtract-4385"><a href="#RegexpExtract-4385"><span class="linenos">4385</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="RegexpExtract.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;position&#39;: False, &#39;occurrence&#39;: False, &#39;group&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpExtract.arg_types"></a>
+
+
+
+ </div>
+ <div id="RegexpExtract.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;regexpextract&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpExtract.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RegexpExtract.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RegexpExtract.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RegexpExtract.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RegexpExtract.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RegexpExtract.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RegexpExtract.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RegexpExtract.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RegexpExtract.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RegexpExtract.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45470,7 +59981,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="RegexpExtract.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RegexpExtract.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RegexpExtract.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RegexpExtract.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RegexpExtract.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RegexpExtract.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RegexpExtract.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RegexpExtract.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RegexpExtract.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RegexpExtract.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RegexpExtract.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45501,7 +60016,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="RegexpExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="RegexpExtract.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="RegexpExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="RegexpExtract.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="RegexpExtract.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="RegexpExtract.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45536,18 +60052,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#RegexpLike"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpLike-4368"><a href="#RegexpLike-4368"><span class="linenos">4368</span></a><span class="k">class</span> <span class="nc">RegexpLike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="RegexpLike-4369"><a href="#RegexpLike-4369"><span class="linenos">4369</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpLike-4388"><a href="#RegexpLike-4388"><span class="linenos">4388</span></a><span class="k">class</span> <span class="nc">RegexpLike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="RegexpLike-4389"><a href="#RegexpLike-4389"><span class="linenos">4389</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="RegexpLike.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;flag&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpLike.arg_types"></a>
+
+
+
+ </div>
+ <div id="RegexpLike.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;regexplike&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpLike.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RegexpLike.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RegexpLike.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RegexpLike.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RegexpLike.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RegexpLike.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RegexpLike.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RegexpLike.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RegexpLike.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RegexpLike.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45557,7 +60102,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="RegexpLike.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RegexpLike.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RegexpLike.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RegexpLike.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RegexpLike.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RegexpLike.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RegexpLike.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RegexpLike.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RegexpLike.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RegexpLike.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RegexpLike.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45588,7 +60137,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="RegexpLike.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="RegexpLike.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="RegexpLike.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="RegexpLike.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="RegexpLike.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="RegexpLike.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45623,18 +60173,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#RegexpILike"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpILike-4372"><a href="#RegexpILike-4372"><span class="linenos">4372</span></a><span class="k">class</span> <span class="nc">RegexpILike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="RegexpILike-4373"><a href="#RegexpILike-4373"><span class="linenos">4373</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpILike-4392"><a href="#RegexpILike-4392"><span class="linenos">4392</span></a><span class="k">class</span> <span class="nc">RegexpILike</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="RegexpILike-4393"><a href="#RegexpILike-4393"><span class="linenos">4393</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;flag&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="RegexpILike.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;flag&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpILike.arg_types"></a>
+
+
+
+ </div>
+ <div id="RegexpILike.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;regexpilike&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpILike.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RegexpILike.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RegexpILike.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RegexpILike.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RegexpILike.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RegexpILike.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RegexpILike.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RegexpILike.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RegexpILike.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RegexpILike.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45644,7 +60223,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="RegexpILike.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RegexpILike.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RegexpILike.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RegexpILike.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RegexpILike.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RegexpILike.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RegexpILike.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RegexpILike.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RegexpILike.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RegexpILike.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RegexpILike.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45675,7 +60258,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="RegexpILike.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="RegexpILike.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="RegexpILike.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="RegexpILike.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="RegexpILike.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="RegexpILike.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45710,18 +60294,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#RegexpSplit"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpSplit-4378"><a href="#RegexpSplit-4378"><span class="linenos">4378</span></a><span class="k">class</span> <span class="nc">RegexpSplit</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="RegexpSplit-4379"><a href="#RegexpSplit-4379"><span class="linenos">4379</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RegexpSplit-4398"><a href="#RegexpSplit-4398"><span class="linenos">4398</span></a><span class="k">class</span> <span class="nc">RegexpSplit</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="RegexpSplit-4399"><a href="#RegexpSplit-4399"><span class="linenos">4399</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="RegexpSplit.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;limit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpSplit.arg_types"></a>
+
+
+
+ </div>
+ <div id="RegexpSplit.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;regexpsplit&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RegexpSplit.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RegexpSplit.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RegexpSplit.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RegexpSplit.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RegexpSplit.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RegexpSplit.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RegexpSplit.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RegexpSplit.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RegexpSplit.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RegexpSplit.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45731,7 +60344,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="RegexpSplit.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RegexpSplit.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RegexpSplit.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RegexpSplit.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RegexpSplit.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RegexpSplit.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RegexpSplit.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RegexpSplit.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RegexpSplit.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RegexpSplit.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RegexpSplit.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45762,7 +60379,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="RegexpSplit.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="RegexpSplit.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="RegexpSplit.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="RegexpSplit.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="RegexpSplit.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="RegexpSplit.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45797,18 +60415,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Repeat"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Repeat-4382"><a href="#Repeat-4382"><span class="linenos">4382</span></a><span class="k">class</span> <span class="nc">Repeat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Repeat-4383"><a href="#Repeat-4383"><span class="linenos">4383</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;times&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Repeat-4402"><a href="#Repeat-4402"><span class="linenos">4402</span></a><span class="k">class</span> <span class="nc">Repeat</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Repeat-4403"><a href="#Repeat-4403"><span class="linenos">4403</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;times&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Repeat.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;times&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Repeat.arg_types"></a>
+
+
+
+ </div>
+ <div id="Repeat.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;repeat&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Repeat.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Repeat.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Repeat.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Repeat.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Repeat.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Repeat.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Repeat.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Repeat.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Repeat.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Repeat.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45818,7 +60465,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Repeat.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Repeat.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Repeat.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Repeat.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Repeat.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Repeat.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Repeat.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Repeat.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Repeat.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Repeat.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Repeat.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45849,7 +60500,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Repeat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Repeat.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Repeat.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Repeat.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Repeat.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Repeat.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45884,18 +60536,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Round"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Round-4386"><a href="#Round-4386"><span class="linenos">4386</span></a><span class="k">class</span> <span class="nc">Round</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Round-4387"><a href="#Round-4387"><span class="linenos">4387</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Round-4406"><a href="#Round-4406"><span class="linenos">4406</span></a><span class="k">class</span> <span class="nc">Round</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Round-4407"><a href="#Round-4407"><span class="linenos">4407</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;decimals&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Round.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;decimals&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Round.arg_types"></a>
+
+
+
+ </div>
+ <div id="Round.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;round&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Round.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Round.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Round.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Round.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Round.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Round.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Round.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Round.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Round.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Round.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45905,7 +60586,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Round.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Round.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Round.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Round.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Round.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Round.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Round.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Round.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Round.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Round.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Round.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -45936,7 +60621,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Round.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Round.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Round.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Round.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Round.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Round.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -45971,18 +60657,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#RowNumber"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="RowNumber-4390"><a href="#RowNumber-4390"><span class="linenos">4390</span></a><span class="k">class</span> <span class="nc">RowNumber</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="RowNumber-4391"><a href="#RowNumber-4391"><span class="linenos">4391</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="RowNumber-4410"><a href="#RowNumber-4410"><span class="linenos">4410</span></a><span class="k">class</span> <span class="nc">RowNumber</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="RowNumber-4411"><a href="#RowNumber-4411"><span class="linenos">4411</span></a> <span class="n">arg_types</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
</span></pre></div>
+ <div id="RowNumber.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span><span class="annotation">: Dict[str, Any]</span> =
+<span class="default_value">{}</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowNumber.arg_types"></a>
+
+
+
+ </div>
+ <div id="RowNumber.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;rownumber&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#RowNumber.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="RowNumber.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="RowNumber.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="RowNumber.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="RowNumber.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="RowNumber.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="RowNumber.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="RowNumber.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="RowNumber.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="RowNumber.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -45992,7 +60707,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="RowNumber.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="RowNumber.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="RowNumber.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="RowNumber.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="RowNumber.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="RowNumber.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="RowNumber.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="RowNumber.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="RowNumber.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="RowNumber.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="RowNumber.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46023,7 +60742,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="RowNumber.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="RowNumber.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="RowNumber.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="RowNumber.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="RowNumber.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="RowNumber.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46058,18 +60778,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#SafeDivide"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SafeDivide-4394"><a href="#SafeDivide-4394"><span class="linenos">4394</span></a><span class="k">class</span> <span class="nc">SafeDivide</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="SafeDivide-4395"><a href="#SafeDivide-4395"><span class="linenos">4395</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SafeDivide-4414"><a href="#SafeDivide-4414"><span class="linenos">4414</span></a><span class="k">class</span> <span class="nc">SafeDivide</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="SafeDivide-4415"><a href="#SafeDivide-4415"><span class="linenos">4415</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="SafeDivide.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SafeDivide.arg_types"></a>
+
+
+
+ </div>
+ <div id="SafeDivide.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;safedivide&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SafeDivide.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SafeDivide.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SafeDivide.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SafeDivide.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SafeDivide.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SafeDivide.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SafeDivide.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SafeDivide.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SafeDivide.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SafeDivide.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46079,7 +60828,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SafeDivide.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SafeDivide.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SafeDivide.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SafeDivide.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SafeDivide.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SafeDivide.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SafeDivide.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SafeDivide.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SafeDivide.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SafeDivide.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SafeDivide.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46110,7 +60863,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="SafeDivide.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="SafeDivide.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="SafeDivide.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="SafeDivide.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="SafeDivide.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="SafeDivide.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46145,18 +60899,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#SetAgg"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SetAgg-4398"><a href="#SetAgg-4398"><span class="linenos">4398</span></a><span class="k">class</span> <span class="nc">SetAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="SetAgg-4399"><a href="#SetAgg-4399"><span class="linenos">4399</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SetAgg-4418"><a href="#SetAgg-4418"><span class="linenos">4418</span></a><span class="k">class</span> <span class="nc">SetAgg</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="SetAgg-4419"><a href="#SetAgg-4419"><span class="linenos">4419</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="SetAgg.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;setagg&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SetAgg.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SetAgg.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SetAgg.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="SetAgg.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SetAgg.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SetAgg.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SetAgg.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SetAgg.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SetAgg.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SetAgg.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SetAgg.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46166,7 +60938,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SetAgg.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SetAgg.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SetAgg.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SetAgg.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SetAgg.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SetAgg.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SetAgg.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SetAgg.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SetAgg.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SetAgg.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SetAgg.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46197,7 +60973,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="SetAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="SetAgg.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="SetAgg.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="SetAgg.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="SetAgg.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="SetAgg.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46232,18 +61009,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#SHA"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SHA-4402"><a href="#SHA-4402"><span class="linenos">4402</span></a><span class="k">class</span> <span class="nc">SHA</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="SHA-4403"><a href="#SHA-4403"><span class="linenos">4403</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA&quot;</span><span class="p">,</span> <span class="s2">&quot;SHA1&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SHA-4422"><a href="#SHA-4422"><span class="linenos">4422</span></a><span class="k">class</span> <span class="nc">SHA</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="SHA-4423"><a href="#SHA-4423"><span class="linenos">4423</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA&quot;</span><span class="p">,</span> <span class="s2">&quot;SHA1&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="SHA.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sha&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SHA.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SHA.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SHA.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="SHA.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SHA.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SHA.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SHA.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SHA.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SHA.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SHA.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SHA.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46253,7 +61048,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SHA.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SHA.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SHA.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SHA.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SHA.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SHA.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SHA.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SHA.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SHA.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SHA.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SHA.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46284,7 +61083,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="SHA.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="SHA.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="SHA.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="SHA.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="SHA.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="SHA.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46319,19 +61119,48 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#SHA2"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SHA2-4406"><a href="#SHA2-4406"><span class="linenos">4406</span></a><span class="k">class</span> <span class="nc">SHA2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="SHA2-4407"><a href="#SHA2-4407"><span class="linenos">4407</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA2&quot;</span><span class="p">]</span>
-</span><span id="SHA2-4408"><a href="#SHA2-4408"><span class="linenos">4408</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SHA2-4426"><a href="#SHA2-4426"><span class="linenos">4426</span></a><span class="k">class</span> <span class="nc">SHA2</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="SHA2-4427"><a href="#SHA2-4427"><span class="linenos">4427</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SHA2&quot;</span><span class="p">]</span>
+</span><span id="SHA2-4428"><a href="#SHA2-4428"><span class="linenos">4428</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="SHA2.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;length&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SHA2.arg_types"></a>
+
+
+
+ </div>
+ <div id="SHA2.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sha2&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SHA2.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SHA2.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SHA2.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SHA2.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SHA2.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SHA2.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SHA2.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SHA2.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SHA2.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SHA2.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46341,7 +61170,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SHA2.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SHA2.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SHA2.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SHA2.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SHA2.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SHA2.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SHA2.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SHA2.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SHA2.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SHA2.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SHA2.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46372,7 +61205,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="SHA2.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="SHA2.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="SHA2.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="SHA2.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="SHA2.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="SHA2.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46407,18 +61241,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#SortArray"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="SortArray-4411"><a href="#SortArray-4411"><span class="linenos">4411</span></a><span class="k">class</span> <span class="nc">SortArray</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="SortArray-4412"><a href="#SortArray-4412"><span class="linenos">4412</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;asc&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="SortArray-4431"><a href="#SortArray-4431"><span class="linenos">4431</span></a><span class="k">class</span> <span class="nc">SortArray</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="SortArray-4432"><a href="#SortArray-4432"><span class="linenos">4432</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;asc&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="SortArray.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;asc&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#SortArray.arg_types"></a>
+
+
+
+ </div>
+ <div id="SortArray.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sortarray&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#SortArray.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="SortArray.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="SortArray.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="SortArray.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="SortArray.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="SortArray.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="SortArray.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="SortArray.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="SortArray.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="SortArray.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46428,7 +61291,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="SortArray.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="SortArray.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="SortArray.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="SortArray.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="SortArray.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="SortArray.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="SortArray.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="SortArray.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="SortArray.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="SortArray.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="SortArray.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46459,7 +61326,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="SortArray.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="SortArray.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="SortArray.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="SortArray.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="SortArray.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="SortArray.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46494,18 +61362,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Split"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Split-4415"><a href="#Split-4415"><span class="linenos">4415</span></a><span class="k">class</span> <span class="nc">Split</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Split-4416"><a href="#Split-4416"><span class="linenos">4416</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Split-4435"><a href="#Split-4435"><span class="linenos">4435</span></a><span class="k">class</span> <span class="nc">Split</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Split-4436"><a href="#Split-4436"><span class="linenos">4436</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Split.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;limit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Split.arg_types"></a>
+
+
+
+ </div>
+ <div id="Split.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;split&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Split.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Split.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Split.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Split.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Split.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Split.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Split.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Split.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Split.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Split.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46515,7 +61412,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Split.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Split.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Split.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Split.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Split.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Split.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Split.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Split.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Split.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Split.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Split.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46546,7 +61447,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Split.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Split.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Split.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Split.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Split.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Split.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46581,18 +61483,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Substring"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Substring-4421"><a href="#Substring-4421"><span class="linenos">4421</span></a><span class="k">class</span> <span class="nc">Substring</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Substring-4422"><a href="#Substring-4422"><span class="linenos">4422</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Substring-4441"><a href="#Substring-4441"><span class="linenos">4441</span></a><span class="k">class</span> <span class="nc">Substring</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Substring-4442"><a href="#Substring-4442"><span class="linenos">4442</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;start&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;length&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Substring.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;start&#39;: False, &#39;length&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Substring.arg_types"></a>
+
+
+
+ </div>
+ <div id="Substring.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;substring&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Substring.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Substring.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Substring.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Substring.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Substring.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Substring.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Substring.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Substring.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Substring.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Substring.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46602,7 +61533,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Substring.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Substring.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Substring.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Substring.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Substring.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Substring.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Substring.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Substring.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Substring.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Substring.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Substring.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46633,7 +61568,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Substring.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Substring.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Substring.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Substring.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Substring.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Substring.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46668,18 +61604,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StandardHash"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StandardHash-4425"><a href="#StandardHash-4425"><span class="linenos">4425</span></a><span class="k">class</span> <span class="nc">StandardHash</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StandardHash-4426"><a href="#StandardHash-4426"><span class="linenos">4426</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StandardHash-4445"><a href="#StandardHash-4445"><span class="linenos">4445</span></a><span class="k">class</span> <span class="nc">StandardHash</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StandardHash-4446"><a href="#StandardHash-4446"><span class="linenos">4446</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="StandardHash.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StandardHash.arg_types"></a>
+
+
+
+ </div>
+ <div id="StandardHash.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;standardhash&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StandardHash.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StandardHash.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StandardHash.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StandardHash.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StandardHash.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StandardHash.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StandardHash.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StandardHash.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StandardHash.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StandardHash.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46689,7 +61654,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StandardHash.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StandardHash.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StandardHash.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StandardHash.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StandardHash.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StandardHash.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StandardHash.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StandardHash.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StandardHash.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StandardHash.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StandardHash.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46720,7 +61689,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StandardHash.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StandardHash.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StandardHash.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StandardHash.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StandardHash.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StandardHash.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46755,23 +61725,52 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StrPosition"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StrPosition-4429"><a href="#StrPosition-4429"><span class="linenos">4429</span></a><span class="k">class</span> <span class="nc">StrPosition</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StrPosition-4430"><a href="#StrPosition-4430"><span class="linenos">4430</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="StrPosition-4431"><a href="#StrPosition-4431"><span class="linenos">4431</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="StrPosition-4432"><a href="#StrPosition-4432"><span class="linenos">4432</span></a> <span class="s2">&quot;substr&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="StrPosition-4433"><a href="#StrPosition-4433"><span class="linenos">4433</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="StrPosition-4434"><a href="#StrPosition-4434"><span class="linenos">4434</span></a> <span class="s2">&quot;instance&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="StrPosition-4435"><a href="#StrPosition-4435"><span class="linenos">4435</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StrPosition-4449"><a href="#StrPosition-4449"><span class="linenos">4449</span></a><span class="k">class</span> <span class="nc">StrPosition</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StrPosition-4450"><a href="#StrPosition-4450"><span class="linenos">4450</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="StrPosition-4451"><a href="#StrPosition-4451"><span class="linenos">4451</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="StrPosition-4452"><a href="#StrPosition-4452"><span class="linenos">4452</span></a> <span class="s2">&quot;substr&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="StrPosition-4453"><a href="#StrPosition-4453"><span class="linenos">4453</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="StrPosition-4454"><a href="#StrPosition-4454"><span class="linenos">4454</span></a> <span class="s2">&quot;instance&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="StrPosition-4455"><a href="#StrPosition-4455"><span class="linenos">4455</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="StrPosition.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;substr&#39;: True, &#39;position&#39;: False, &#39;instance&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrPosition.arg_types"></a>
+
+
+
+ </div>
+ <div id="StrPosition.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;strposition&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrPosition.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StrPosition.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StrPosition.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StrPosition.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StrPosition.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StrPosition.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StrPosition.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StrPosition.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StrPosition.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StrPosition.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46781,7 +61780,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StrPosition.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StrPosition.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StrPosition.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StrPosition.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StrPosition.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StrPosition.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StrPosition.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StrPosition.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StrPosition.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StrPosition.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StrPosition.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46812,7 +61815,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StrPosition.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StrPosition.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StrPosition.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StrPosition.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StrPosition.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StrPosition.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46847,18 +61851,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StrToDate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StrToDate-4438"><a href="#StrToDate-4438"><span class="linenos">4438</span></a><span class="k">class</span> <span class="nc">StrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StrToDate-4439"><a href="#StrToDate-4439"><span class="linenos">4439</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StrToDate-4458"><a href="#StrToDate-4458"><span class="linenos">4458</span></a><span class="k">class</span> <span class="nc">StrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StrToDate-4459"><a href="#StrToDate-4459"><span class="linenos">4459</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="StrToDate.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrToDate.arg_types"></a>
+
+
+
+ </div>
+ <div id="StrToDate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;strtodate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrToDate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StrToDate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StrToDate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StrToDate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StrToDate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StrToDate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StrToDate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StrToDate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StrToDate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StrToDate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46868,7 +61901,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StrToDate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StrToDate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StrToDate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StrToDate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StrToDate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StrToDate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StrToDate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StrToDate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StrToDate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StrToDate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StrToDate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46899,7 +61936,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StrToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StrToDate.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StrToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StrToDate.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StrToDate.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StrToDate.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -46934,18 +61972,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StrToTime"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StrToTime-4442"><a href="#StrToTime-4442"><span class="linenos">4442</span></a><span class="k">class</span> <span class="nc">StrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StrToTime-4443"><a href="#StrToTime-4443"><span class="linenos">4443</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StrToTime-4462"><a href="#StrToTime-4462"><span class="linenos">4462</span></a><span class="k">class</span> <span class="nc">StrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StrToTime-4463"><a href="#StrToTime-4463"><span class="linenos">4463</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="StrToTime.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrToTime.arg_types"></a>
+
+
+
+ </div>
+ <div id="StrToTime.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;strtotime&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrToTime.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StrToTime.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StrToTime.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StrToTime.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StrToTime.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StrToTime.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StrToTime.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StrToTime.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StrToTime.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StrToTime.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -46955,7 +62022,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StrToTime.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StrToTime.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StrToTime.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StrToTime.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StrToTime.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StrToTime.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StrToTime.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StrToTime.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StrToTime.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StrToTime.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StrToTime.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -46986,7 +62057,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StrToTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StrToTime.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StrToTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StrToTime.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StrToTime.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StrToTime.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47021,18 +62093,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StrToUnix"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StrToUnix-4448"><a href="#StrToUnix-4448"><span class="linenos">4448</span></a><span class="k">class</span> <span class="nc">StrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StrToUnix-4449"><a href="#StrToUnix-4449"><span class="linenos">4449</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StrToUnix-4468"><a href="#StrToUnix-4468"><span class="linenos">4468</span></a><span class="k">class</span> <span class="nc">StrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StrToUnix-4469"><a href="#StrToUnix-4469"><span class="linenos">4469</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="StrToUnix.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: False, &#39;format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrToUnix.arg_types"></a>
+
+
+
+ </div>
+ <div id="StrToUnix.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;strtounix&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StrToUnix.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StrToUnix.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StrToUnix.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StrToUnix.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StrToUnix.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StrToUnix.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StrToUnix.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StrToUnix.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StrToUnix.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StrToUnix.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47042,7 +62143,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StrToUnix.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StrToUnix.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StrToUnix.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StrToUnix.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StrToUnix.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StrToUnix.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StrToUnix.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StrToUnix.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StrToUnix.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StrToUnix.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StrToUnix.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47073,7 +62178,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StrToUnix.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StrToUnix.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StrToUnix.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StrToUnix.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StrToUnix.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StrToUnix.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47108,18 +62214,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#NumberToStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="NumberToStr-4452"><a href="#NumberToStr-4452"><span class="linenos">4452</span></a><span class="k">class</span> <span class="nc">NumberToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="NumberToStr-4453"><a href="#NumberToStr-4453"><span class="linenos">4453</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="NumberToStr-4472"><a href="#NumberToStr-4472"><span class="linenos">4472</span></a><span class="k">class</span> <span class="nc">NumberToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="NumberToStr-4473"><a href="#NumberToStr-4473"><span class="linenos">4473</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="NumberToStr.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#NumberToStr.arg_types"></a>
+
+
+
+ </div>
+ <div id="NumberToStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;numbertostr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NumberToStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NumberToStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NumberToStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NumberToStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NumberToStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NumberToStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NumberToStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NumberToStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NumberToStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NumberToStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47129,7 +62264,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="NumberToStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NumberToStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NumberToStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NumberToStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NumberToStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NumberToStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NumberToStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NumberToStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NumberToStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NumberToStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NumberToStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47160,7 +62299,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="NumberToStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="NumberToStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="NumberToStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="NumberToStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="NumberToStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="NumberToStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47195,18 +62335,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#FromBase"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="FromBase-4456"><a href="#FromBase-4456"><span class="linenos">4456</span></a><span class="k">class</span> <span class="nc">FromBase</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="FromBase-4457"><a href="#FromBase-4457"><span class="linenos">4457</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="FromBase-4476"><a href="#FromBase-4476"><span class="linenos">4476</span></a><span class="k">class</span> <span class="nc">FromBase</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="FromBase-4477"><a href="#FromBase-4477"><span class="linenos">4477</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="FromBase.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#FromBase.arg_types"></a>
+
+
+
+ </div>
+ <div id="FromBase.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;frombase&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#FromBase.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="FromBase.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="FromBase.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="FromBase.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="FromBase.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="FromBase.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="FromBase.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="FromBase.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="FromBase.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="FromBase.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47216,7 +62385,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="FromBase.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="FromBase.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="FromBase.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="FromBase.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="FromBase.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="FromBase.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="FromBase.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="FromBase.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="FromBase.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="FromBase.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="FromBase.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47247,7 +62420,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="FromBase.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="FromBase.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="FromBase.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="FromBase.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="FromBase.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="FromBase.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47282,19 +62456,60 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Struct"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Struct-4460"><a href="#Struct-4460"><span class="linenos">4460</span></a><span class="k">class</span> <span class="nc">Struct</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Struct-4461"><a href="#Struct-4461"><span class="linenos">4461</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
-</span><span id="Struct-4462"><a href="#Struct-4462"><span class="linenos">4462</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Struct-4480"><a href="#Struct-4480"><span class="linenos">4480</span></a><span class="k">class</span> <span class="nc">Struct</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Struct-4481"><a href="#Struct-4481"><span class="linenos">4481</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Struct-4482"><a href="#Struct-4482"><span class="linenos">4482</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span></pre></div>
+ <div id="Struct.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Struct.arg_types"></a>
+
+
+
+ </div>
+ <div id="Struct.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#Struct.is_var_len_args"></a>
+
+
+
+ </div>
+ <div id="Struct.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;struct&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Struct.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Struct.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Struct.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Struct.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Struct.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Struct.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Struct.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Struct.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Struct.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Struct.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47304,7 +62519,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Struct.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Struct.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Struct.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Struct.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Struct.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Struct.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Struct.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Struct.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Struct.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Struct.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Struct.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47370,18 +62589,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StructExtract"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StructExtract-4465"><a href="#StructExtract-4465"><span class="linenos">4465</span></a><span class="k">class</span> <span class="nc">StructExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="StructExtract-4466"><a href="#StructExtract-4466"><span class="linenos">4466</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StructExtract-4485"><a href="#StructExtract-4485"><span class="linenos">4485</span></a><span class="k">class</span> <span class="nc">StructExtract</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="StructExtract-4486"><a href="#StructExtract-4486"><span class="linenos">4486</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="StructExtract.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#StructExtract.arg_types"></a>
+
+
+
+ </div>
+ <div id="StructExtract.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;structextract&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StructExtract.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StructExtract.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StructExtract.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StructExtract.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StructExtract.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StructExtract.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StructExtract.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StructExtract.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StructExtract.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StructExtract.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47391,7 +62639,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StructExtract.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StructExtract.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StructExtract.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StructExtract.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StructExtract.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StructExtract.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StructExtract.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StructExtract.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StructExtract.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StructExtract.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StructExtract.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47422,7 +62674,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StructExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StructExtract.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StructExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StructExtract.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StructExtract.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StructExtract.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47457,18 +62710,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Sum"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Sum-4469"><a href="#Sum-4469"><span class="linenos">4469</span></a><span class="k">class</span> <span class="nc">Sum</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Sum-4470"><a href="#Sum-4470"><span class="linenos">4470</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Sum-4489"><a href="#Sum-4489"><span class="linenos">4489</span></a><span class="k">class</span> <span class="nc">Sum</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Sum-4490"><a href="#Sum-4490"><span class="linenos">4490</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Sum.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sum&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Sum.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Sum.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Sum.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Sum.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Sum.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Sum.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Sum.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Sum.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Sum.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Sum.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Sum.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47478,7 +62749,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Sum.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Sum.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Sum.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Sum.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Sum.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Sum.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Sum.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Sum.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Sum.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Sum.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Sum.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47509,7 +62784,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Sum.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Sum.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Sum.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Sum.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Sum.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Sum.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47544,18 +62820,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Sqrt"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Sqrt-4473"><a href="#Sqrt-4473"><span class="linenos">4473</span></a><span class="k">class</span> <span class="nc">Sqrt</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Sqrt-4474"><a href="#Sqrt-4474"><span class="linenos">4474</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Sqrt-4493"><a href="#Sqrt-4493"><span class="linenos">4493</span></a><span class="k">class</span> <span class="nc">Sqrt</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Sqrt-4494"><a href="#Sqrt-4494"><span class="linenos">4494</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Sqrt.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;sqrt&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Sqrt.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Sqrt.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Sqrt.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Sqrt.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Sqrt.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Sqrt.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Sqrt.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Sqrt.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Sqrt.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Sqrt.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Sqrt.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47565,7 +62859,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Sqrt.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Sqrt.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Sqrt.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Sqrt.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Sqrt.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Sqrt.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Sqrt.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Sqrt.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Sqrt.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Sqrt.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Sqrt.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47596,7 +62894,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Sqrt.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Sqrt.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Sqrt.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Sqrt.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Sqrt.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Sqrt.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47631,18 +62930,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Stddev"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Stddev-4477"><a href="#Stddev-4477"><span class="linenos">4477</span></a><span class="k">class</span> <span class="nc">Stddev</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Stddev-4478"><a href="#Stddev-4478"><span class="linenos">4478</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Stddev-4497"><a href="#Stddev-4497"><span class="linenos">4497</span></a><span class="k">class</span> <span class="nc">Stddev</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Stddev-4498"><a href="#Stddev-4498"><span class="linenos">4498</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Stddev.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;stddev&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Stddev.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Stddev.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Stddev.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Stddev.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Stddev.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Stddev.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Stddev.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Stddev.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Stddev.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Stddev.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Stddev.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47652,7 +62969,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Stddev.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Stddev.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Stddev.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Stddev.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Stddev.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Stddev.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Stddev.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Stddev.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Stddev.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Stddev.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Stddev.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47683,7 +63004,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Stddev.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Stddev.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Stddev.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Stddev.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Stddev.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Stddev.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47718,18 +63040,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StddevPop"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StddevPop-4481"><a href="#StddevPop-4481"><span class="linenos">4481</span></a><span class="k">class</span> <span class="nc">StddevPop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="StddevPop-4482"><a href="#StddevPop-4482"><span class="linenos">4482</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StddevPop-4501"><a href="#StddevPop-4501"><span class="linenos">4501</span></a><span class="k">class</span> <span class="nc">StddevPop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="StddevPop-4502"><a href="#StddevPop-4502"><span class="linenos">4502</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="StddevPop.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;stddevpop&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StddevPop.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StddevPop.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StddevPop.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="StddevPop.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StddevPop.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StddevPop.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StddevPop.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StddevPop.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StddevPop.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StddevPop.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StddevPop.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47739,7 +63079,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StddevPop.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StddevPop.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StddevPop.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StddevPop.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StddevPop.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StddevPop.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StddevPop.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StddevPop.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StddevPop.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StddevPop.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StddevPop.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47770,7 +63114,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StddevPop.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StddevPop.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StddevPop.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StddevPop.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StddevPop.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StddevPop.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47805,18 +63150,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#StddevSamp"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="StddevSamp-4485"><a href="#StddevSamp-4485"><span class="linenos">4485</span></a><span class="k">class</span> <span class="nc">StddevSamp</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="StddevSamp-4486"><a href="#StddevSamp-4486"><span class="linenos">4486</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="StddevSamp-4505"><a href="#StddevSamp-4505"><span class="linenos">4505</span></a><span class="k">class</span> <span class="nc">StddevSamp</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="StddevSamp-4506"><a href="#StddevSamp-4506"><span class="linenos">4506</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="StddevSamp.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;stddevsamp&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#StddevSamp.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="StddevSamp.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="StddevSamp.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="StddevSamp.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="StddevSamp.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="StddevSamp.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="StddevSamp.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="StddevSamp.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="StddevSamp.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="StddevSamp.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="StddevSamp.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47826,7 +63189,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="StddevSamp.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="StddevSamp.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="StddevSamp.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="StddevSamp.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="StddevSamp.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="StddevSamp.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="StddevSamp.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="StddevSamp.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="StddevSamp.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="StddevSamp.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="StddevSamp.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47857,7 +63224,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="StddevSamp.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="StddevSamp.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="StddevSamp.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="StddevSamp.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="StddevSamp.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="StddevSamp.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47892,18 +63260,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeToStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeToStr-4489"><a href="#TimeToStr-4489"><span class="linenos">4489</span></a><span class="k">class</span> <span class="nc">TimeToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TimeToStr-4490"><a href="#TimeToStr-4490"><span class="linenos">4490</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeToStr-4509"><a href="#TimeToStr-4509"><span class="linenos">4509</span></a><span class="k">class</span> <span class="nc">TimeToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TimeToStr-4510"><a href="#TimeToStr-4510"><span class="linenos">4510</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="TimeToStr.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeToStr.arg_types"></a>
+
+
+
+ </div>
+ <div id="TimeToStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timetostr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeToStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TimeToStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TimeToStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeToStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeToStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeToStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeToStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TimeToStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeToStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeToStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -47913,7 +63310,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeToStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeToStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeToStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeToStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeToStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeToStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeToStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeToStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeToStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeToStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeToStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -47944,7 +63345,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeToStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeToStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeToStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeToStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeToStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeToStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -47979,18 +63381,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeToTimeStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeToTimeStr-4493"><a href="#TimeToTimeStr-4493"><span class="linenos">4493</span></a><span class="k">class</span> <span class="nc">TimeToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TimeToTimeStr-4494"><a href="#TimeToTimeStr-4494"><span class="linenos">4494</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeToTimeStr-4513"><a href="#TimeToTimeStr-4513"><span class="linenos">4513</span></a><span class="k">class</span> <span class="nc">TimeToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TimeToTimeStr-4514"><a href="#TimeToTimeStr-4514"><span class="linenos">4514</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TimeToTimeStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timetotimestr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeToTimeStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TimeToTimeStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TimeToTimeStr.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TimeToTimeStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeToTimeStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeToTimeStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeToTimeStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeToTimeStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TimeToTimeStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeToTimeStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeToTimeStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48000,7 +63420,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeToTimeStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeToTimeStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeToTimeStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeToTimeStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeToTimeStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeToTimeStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeToTimeStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeToTimeStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeToTimeStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeToTimeStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeToTimeStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48031,7 +63455,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeToTimeStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeToTimeStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeToTimeStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeToTimeStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeToTimeStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeToTimeStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48066,18 +63491,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeToUnix"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeToUnix-4497"><a href="#TimeToUnix-4497"><span class="linenos">4497</span></a><span class="k">class</span> <span class="nc">TimeToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TimeToUnix-4498"><a href="#TimeToUnix-4498"><span class="linenos">4498</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeToUnix-4517"><a href="#TimeToUnix-4517"><span class="linenos">4517</span></a><span class="k">class</span> <span class="nc">TimeToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TimeToUnix-4518"><a href="#TimeToUnix-4518"><span class="linenos">4518</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TimeToUnix.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timetounix&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeToUnix.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TimeToUnix.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TimeToUnix.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TimeToUnix.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeToUnix.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeToUnix.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeToUnix.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeToUnix.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TimeToUnix.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeToUnix.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeToUnix.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48087,7 +63530,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeToUnix.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeToUnix.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeToUnix.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeToUnix.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeToUnix.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeToUnix.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeToUnix.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeToUnix.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeToUnix.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeToUnix.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeToUnix.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48118,7 +63565,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeToUnix.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeToUnix.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeToUnix.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeToUnix.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeToUnix.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeToUnix.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48153,18 +63601,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeStrToDate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeStrToDate-4501"><a href="#TimeStrToDate-4501"><span class="linenos">4501</span></a><span class="k">class</span> <span class="nc">TimeStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TimeStrToDate-4502"><a href="#TimeStrToDate-4502"><span class="linenos">4502</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeStrToDate-4521"><a href="#TimeStrToDate-4521"><span class="linenos">4521</span></a><span class="k">class</span> <span class="nc">TimeStrToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TimeStrToDate-4522"><a href="#TimeStrToDate-4522"><span class="linenos">4522</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TimeStrToDate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestrtodate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeStrToDate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TimeStrToDate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TimeStrToDate.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TimeStrToDate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeStrToDate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeStrToDate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeStrToDate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeStrToDate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TimeStrToDate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeStrToDate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeStrToDate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48174,7 +63640,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeStrToDate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeStrToDate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeStrToDate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeStrToDate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeStrToDate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeStrToDate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeStrToDate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeStrToDate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeStrToDate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeStrToDate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeStrToDate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48205,7 +63675,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeStrToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeStrToDate.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeStrToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeStrToDate.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeStrToDate.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeStrToDate.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48240,18 +63711,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeStrToTime"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeStrToTime-4505"><a href="#TimeStrToTime-4505"><span class="linenos">4505</span></a><span class="k">class</span> <span class="nc">TimeStrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TimeStrToTime-4506"><a href="#TimeStrToTime-4506"><span class="linenos">4506</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeStrToTime-4525"><a href="#TimeStrToTime-4525"><span class="linenos">4525</span></a><span class="k">class</span> <span class="nc">TimeStrToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TimeStrToTime-4526"><a href="#TimeStrToTime-4526"><span class="linenos">4526</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TimeStrToTime.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestrtotime&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeStrToTime.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TimeStrToTime.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TimeStrToTime.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TimeStrToTime.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeStrToTime.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeStrToTime.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeStrToTime.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeStrToTime.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TimeStrToTime.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeStrToTime.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeStrToTime.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48261,7 +63750,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeStrToTime.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeStrToTime.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeStrToTime.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeStrToTime.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeStrToTime.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeStrToTime.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeStrToTime.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeStrToTime.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeStrToTime.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeStrToTime.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeStrToTime.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48292,7 +63785,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeStrToTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeStrToTime.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeStrToTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeStrToTime.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeStrToTime.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeStrToTime.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48327,18 +63821,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TimeStrToUnix"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TimeStrToUnix-4509"><a href="#TimeStrToUnix-4509"><span class="linenos">4509</span></a><span class="k">class</span> <span class="nc">TimeStrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TimeStrToUnix-4510"><a href="#TimeStrToUnix-4510"><span class="linenos">4510</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TimeStrToUnix-4529"><a href="#TimeStrToUnix-4529"><span class="linenos">4529</span></a><span class="k">class</span> <span class="nc">TimeStrToUnix</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TimeStrToUnix-4530"><a href="#TimeStrToUnix-4530"><span class="linenos">4530</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TimeStrToUnix.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;timestrtounix&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TimeStrToUnix.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TimeStrToUnix.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TimeStrToUnix.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TimeStrToUnix.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TimeStrToUnix.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TimeStrToUnix.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TimeStrToUnix.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TimeStrToUnix.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TimeStrToUnix.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TimeStrToUnix.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TimeStrToUnix.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48348,7 +63860,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TimeStrToUnix.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TimeStrToUnix.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TimeStrToUnix.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TimeStrToUnix.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TimeStrToUnix.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TimeStrToUnix.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TimeStrToUnix.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TimeStrToUnix.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TimeStrToUnix.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TimeStrToUnix.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TimeStrToUnix.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48379,7 +63895,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TimeStrToUnix.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TimeStrToUnix.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TimeStrToUnix.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TimeStrToUnix.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TimeStrToUnix.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TimeStrToUnix.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48414,23 +63931,52 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Trim"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Trim-4513"><a href="#Trim-4513"><span class="linenos">4513</span></a><span class="k">class</span> <span class="nc">Trim</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Trim-4514"><a href="#Trim-4514"><span class="linenos">4514</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
-</span><span id="Trim-4515"><a href="#Trim-4515"><span class="linenos">4515</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
-</span><span id="Trim-4516"><a href="#Trim-4516"><span class="linenos">4516</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Trim-4517"><a href="#Trim-4517"><span class="linenos">4517</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Trim-4518"><a href="#Trim-4518"><span class="linenos">4518</span></a> <span class="s2">&quot;collation&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="Trim-4519"><a href="#Trim-4519"><span class="linenos">4519</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Trim-4533"><a href="#Trim-4533"><span class="linenos">4533</span></a><span class="k">class</span> <span class="nc">Trim</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Trim-4534"><a href="#Trim-4534"><span class="linenos">4534</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span>
+</span><span id="Trim-4535"><a href="#Trim-4535"><span class="linenos">4535</span></a> <span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+</span><span id="Trim-4536"><a href="#Trim-4536"><span class="linenos">4536</span></a> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Trim-4537"><a href="#Trim-4537"><span class="linenos">4537</span></a> <span class="s2">&quot;position&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Trim-4538"><a href="#Trim-4538"><span class="linenos">4538</span></a> <span class="s2">&quot;collation&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="Trim-4539"><a href="#Trim-4539"><span class="linenos">4539</span></a> <span class="p">}</span>
</span></pre></div>
+ <div id="Trim.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: False, &#39;position&#39;: False, &#39;collation&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Trim.arg_types"></a>
+
+
+
+ </div>
+ <div id="Trim.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;trim&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Trim.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Trim.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Trim.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Trim.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Trim.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Trim.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Trim.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Trim.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Trim.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Trim.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48440,7 +63986,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Trim.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Trim.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Trim.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Trim.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Trim.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Trim.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Trim.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Trim.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Trim.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Trim.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Trim.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48471,7 +64021,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Trim.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Trim.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Trim.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Trim.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Trim.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Trim.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48506,13 +64057,37 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TsOrDsAdd"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDsAdd-4522"><a href="#TsOrDsAdd-4522"><span class="linenos">4522</span></a><span class="k">class</span> <span class="nc">TsOrDsAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
-</span><span id="TsOrDsAdd-4523"><a href="#TsOrDsAdd-4523"><span class="linenos">4523</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDsAdd-4542"><a href="#TsOrDsAdd-4542"><span class="linenos">4542</span></a><span class="k">class</span> <span class="nc">TsOrDsAdd</span><span class="p">(</span><span class="n">Func</span><span class="p">,</span> <span class="n">TimeUnit</span><span class="p">):</span>
+</span><span id="TsOrDsAdd-4543"><a href="#TsOrDsAdd-4543"><span class="linenos">4543</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;unit&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TsOrDsAdd.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;unit&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TsOrDsAdd.arg_types"></a>
+
+
+
+ </div>
+ <div id="TsOrDsAdd.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tsordsadd&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TsOrDsAdd.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
@@ -48521,7 +64096,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TsOrDsAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TsOrDsAdd.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TsOrDsAdd.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TsOrDsAdd.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TsOrDsAdd.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TsOrDsAdd.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48543,7 +64119,12 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Expression">Expression</a></dt>
- <dd id="TsOrDsAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
+ <dd id="TsOrDsAdd.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TsOrDsAdd.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TsOrDsAdd.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TsOrDsAdd.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TsOrDsAdd.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
+ <dd id="TsOrDsAdd.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TsOrDsAdd.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TsOrDsAdd.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
<dd id="TsOrDsAdd.text" class="function"><a href="#Expression.text">text</a></dd>
@@ -48552,7 +64133,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TsOrDsAdd.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TsOrDsAdd.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TsOrDsAdd.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TsOrDsAdd.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TsOrDsAdd.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TsOrDsAdd.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TsOrDsAdd.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TsOrDsAdd.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TsOrDsAdd.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TsOrDsAdd.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TsOrDsAdd.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48596,18 +64181,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TsOrDsToDateStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDsToDateStr-4526"><a href="#TsOrDsToDateStr-4526"><span class="linenos">4526</span></a><span class="k">class</span> <span class="nc">TsOrDsToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TsOrDsToDateStr-4527"><a href="#TsOrDsToDateStr-4527"><span class="linenos">4527</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDsToDateStr-4546"><a href="#TsOrDsToDateStr-4546"><span class="linenos">4546</span></a><span class="k">class</span> <span class="nc">TsOrDsToDateStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TsOrDsToDateStr-4547"><a href="#TsOrDsToDateStr-4547"><span class="linenos">4547</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TsOrDsToDateStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tsordstodatestr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TsOrDsToDateStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TsOrDsToDateStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TsOrDsToDateStr.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TsOrDsToDateStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TsOrDsToDateStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TsOrDsToDateStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TsOrDsToDateStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TsOrDsToDateStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TsOrDsToDateStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TsOrDsToDateStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TsOrDsToDateStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48617,7 +64220,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TsOrDsToDateStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TsOrDsToDateStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TsOrDsToDateStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TsOrDsToDateStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TsOrDsToDateStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TsOrDsToDateStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TsOrDsToDateStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TsOrDsToDateStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TsOrDsToDateStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TsOrDsToDateStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TsOrDsToDateStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48648,7 +64255,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TsOrDsToDateStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TsOrDsToDateStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TsOrDsToDateStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TsOrDsToDateStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TsOrDsToDateStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TsOrDsToDateStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48683,18 +64291,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TsOrDsToDate"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDsToDate-4530"><a href="#TsOrDsToDate-4530"><span class="linenos">4530</span></a><span class="k">class</span> <span class="nc">TsOrDsToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TsOrDsToDate-4531"><a href="#TsOrDsToDate-4531"><span class="linenos">4531</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDsToDate-4550"><a href="#TsOrDsToDate-4550"><span class="linenos">4550</span></a><span class="k">class</span> <span class="nc">TsOrDsToDate</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TsOrDsToDate-4551"><a href="#TsOrDsToDate-4551"><span class="linenos">4551</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="TsOrDsToDate.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#TsOrDsToDate.arg_types"></a>
+
+
+
+ </div>
+ <div id="TsOrDsToDate.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tsordstodate&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TsOrDsToDate.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TsOrDsToDate.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TsOrDsToDate.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TsOrDsToDate.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TsOrDsToDate.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TsOrDsToDate.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TsOrDsToDate.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TsOrDsToDate.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TsOrDsToDate.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TsOrDsToDate.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48704,7 +64341,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TsOrDsToDate.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TsOrDsToDate.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TsOrDsToDate.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TsOrDsToDate.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TsOrDsToDate.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TsOrDsToDate.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TsOrDsToDate.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TsOrDsToDate.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TsOrDsToDate.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TsOrDsToDate.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TsOrDsToDate.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48735,7 +64376,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TsOrDsToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TsOrDsToDate.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TsOrDsToDate.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TsOrDsToDate.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TsOrDsToDate.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TsOrDsToDate.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48770,18 +64412,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#TsOrDiToDi"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDiToDi-4534"><a href="#TsOrDiToDi-4534"><span class="linenos">4534</span></a><span class="k">class</span> <span class="nc">TsOrDiToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="TsOrDiToDi-4535"><a href="#TsOrDiToDi-4535"><span class="linenos">4535</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="TsOrDiToDi-4554"><a href="#TsOrDiToDi-4554"><span class="linenos">4554</span></a><span class="k">class</span> <span class="nc">TsOrDiToDi</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="TsOrDiToDi-4555"><a href="#TsOrDiToDi-4555"><span class="linenos">4555</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="TsOrDiToDi.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;tsorditodi&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#TsOrDiToDi.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="TsOrDiToDi.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="TsOrDiToDi.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="TsOrDiToDi.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="TsOrDiToDi.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="TsOrDiToDi.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="TsOrDiToDi.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="TsOrDiToDi.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="TsOrDiToDi.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="TsOrDiToDi.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="TsOrDiToDi.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48791,7 +64451,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="TsOrDiToDi.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="TsOrDiToDi.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="TsOrDiToDi.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="TsOrDiToDi.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="TsOrDiToDi.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="TsOrDiToDi.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="TsOrDiToDi.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="TsOrDiToDi.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="TsOrDiToDi.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="TsOrDiToDi.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="TsOrDiToDi.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48822,7 +64486,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="TsOrDiToDi.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="TsOrDiToDi.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="TsOrDiToDi.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="TsOrDiToDi.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="TsOrDiToDi.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="TsOrDiToDi.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48857,18 +64522,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Unhex"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Unhex-4538"><a href="#Unhex-4538"><span class="linenos">4538</span></a><span class="k">class</span> <span class="nc">Unhex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Unhex-4539"><a href="#Unhex-4539"><span class="linenos">4539</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Unhex-4558"><a href="#Unhex-4558"><span class="linenos">4558</span></a><span class="k">class</span> <span class="nc">Unhex</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Unhex-4559"><a href="#Unhex-4559"><span class="linenos">4559</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Unhex.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unhex&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Unhex.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Unhex.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Unhex.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Unhex.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Unhex.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Unhex.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Unhex.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Unhex.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Unhex.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Unhex.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Unhex.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48878,7 +64561,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Unhex.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Unhex.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Unhex.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Unhex.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Unhex.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Unhex.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Unhex.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Unhex.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Unhex.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Unhex.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Unhex.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48909,7 +64596,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Unhex.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Unhex.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Unhex.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Unhex.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Unhex.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Unhex.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -48944,18 +64632,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#UnixToStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="UnixToStr-4542"><a href="#UnixToStr-4542"><span class="linenos">4542</span></a><span class="k">class</span> <span class="nc">UnixToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="UnixToStr-4543"><a href="#UnixToStr-4543"><span class="linenos">4543</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="UnixToStr-4562"><a href="#UnixToStr-4562"><span class="linenos">4562</span></a><span class="k">class</span> <span class="nc">UnixToStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="UnixToStr-4563"><a href="#UnixToStr-4563"><span class="linenos">4563</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="UnixToStr.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;format&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToStr.arg_types"></a>
+
+
+
+ </div>
+ <div id="UnixToStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unixtostr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UnixToStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UnixToStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UnixToStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UnixToStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UnixToStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UnixToStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UnixToStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UnixToStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UnixToStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -48965,7 +64682,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="UnixToStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UnixToStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UnixToStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UnixToStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UnixToStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UnixToStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UnixToStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UnixToStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UnixToStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UnixToStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UnixToStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -48996,7 +64717,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="UnixToStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="UnixToStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="UnixToStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="UnixToStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="UnixToStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="UnixToStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49031,22 +64753,87 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#UnixToTime"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="UnixToTime-4548"><a href="#UnixToTime-4548"><span class="linenos">4548</span></a><span class="k">class</span> <span class="nc">UnixToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="UnixToTime-4549"><a href="#UnixToTime-4549"><span class="linenos">4549</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;scale&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;hours&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;minutes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="UnixToTime-4550"><a href="#UnixToTime-4550"><span class="linenos">4550</span></a>
-</span><span id="UnixToTime-4551"><a href="#UnixToTime-4551"><span class="linenos">4551</span></a> <span class="n">SECONDS</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="s2">&quot;seconds&quot;</span><span class="p">)</span>
-</span><span id="UnixToTime-4552"><a href="#UnixToTime-4552"><span class="linenos">4552</span></a> <span class="n">MILLIS</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="s2">&quot;millis&quot;</span><span class="p">)</span>
-</span><span id="UnixToTime-4553"><a href="#UnixToTime-4553"><span class="linenos">4553</span></a> <span class="n">MICROS</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="s2">&quot;micros&quot;</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="UnixToTime-4568"><a href="#UnixToTime-4568"><span class="linenos">4568</span></a><span class="k">class</span> <span class="nc">UnixToTime</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="UnixToTime-4569"><a href="#UnixToTime-4569"><span class="linenos">4569</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;scale&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;hours&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;minutes&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="UnixToTime-4570"><a href="#UnixToTime-4570"><span class="linenos">4570</span></a>
+</span><span id="UnixToTime-4571"><a href="#UnixToTime-4571"><span class="linenos">4571</span></a> <span class="n">SECONDS</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="s2">&quot;seconds&quot;</span><span class="p">)</span>
+</span><span id="UnixToTime-4572"><a href="#UnixToTime-4572"><span class="linenos">4572</span></a> <span class="n">MILLIS</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="s2">&quot;millis&quot;</span><span class="p">)</span>
+</span><span id="UnixToTime-4573"><a href="#UnixToTime-4573"><span class="linenos">4573</span></a> <span class="n">MICROS</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="s2">&quot;micros&quot;</span><span class="p">)</span>
</span></pre></div>
+ <div id="UnixToTime.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;scale&#39;: False, &#39;zone&#39;: False, &#39;hours&#39;: False, &#39;minutes&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToTime.arg_types"></a>
+
+
+
+ </div>
+ <div id="UnixToTime.SECONDS" class="classattr">
+ <div class="attr variable">
+ <span class="name">SECONDS</span> =
+<span class="default_value">(LITERAL this: seconds, is_string: True)</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToTime.SECONDS"></a>
+
+
+
+ </div>
+ <div id="UnixToTime.MILLIS" class="classattr">
+ <div class="attr variable">
+ <span class="name">MILLIS</span> =
+<span class="default_value">(LITERAL this: millis, is_string: True)</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToTime.MILLIS"></a>
+
+
+
+ </div>
+ <div id="UnixToTime.MICROS" class="classattr">
+ <div class="attr variable">
+ <span class="name">MICROS</span> =
+<span class="default_value">(LITERAL this: micros, is_string: True)</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToTime.MICROS"></a>
+
+
+
+ </div>
+ <div id="UnixToTime.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unixtotime&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToTime.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UnixToTime.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UnixToTime.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UnixToTime.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UnixToTime.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UnixToTime.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UnixToTime.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UnixToTime.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UnixToTime.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UnixToTime.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49056,7 +64843,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="UnixToTime.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UnixToTime.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UnixToTime.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UnixToTime.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UnixToTime.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UnixToTime.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UnixToTime.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UnixToTime.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UnixToTime.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UnixToTime.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UnixToTime.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49087,7 +64878,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="UnixToTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="UnixToTime.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="UnixToTime.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="UnixToTime.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="UnixToTime.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="UnixToTime.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49122,18 +64914,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#UnixToTimeStr"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="UnixToTimeStr-4556"><a href="#UnixToTimeStr-4556"><span class="linenos">4556</span></a><span class="k">class</span> <span class="nc">UnixToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="UnixToTimeStr-4557"><a href="#UnixToTimeStr-4557"><span class="linenos">4557</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="UnixToTimeStr-4576"><a href="#UnixToTimeStr-4576"><span class="linenos">4576</span></a><span class="k">class</span> <span class="nc">UnixToTimeStr</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="UnixToTimeStr-4577"><a href="#UnixToTimeStr-4577"><span class="linenos">4577</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="UnixToTimeStr.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;unixtotimestr&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#UnixToTimeStr.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="UnixToTimeStr.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="UnixToTimeStr.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="UnixToTimeStr.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="UnixToTimeStr.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="UnixToTimeStr.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="UnixToTimeStr.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="UnixToTimeStr.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="UnixToTimeStr.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="UnixToTimeStr.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="UnixToTimeStr.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49143,7 +64953,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="UnixToTimeStr.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="UnixToTimeStr.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="UnixToTimeStr.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="UnixToTimeStr.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="UnixToTimeStr.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="UnixToTimeStr.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="UnixToTimeStr.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="UnixToTimeStr.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="UnixToTimeStr.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="UnixToTimeStr.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="UnixToTimeStr.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49174,7 +64988,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="UnixToTimeStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="UnixToTimeStr.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="UnixToTimeStr.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="UnixToTimeStr.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="UnixToTimeStr.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="UnixToTimeStr.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49209,18 +65024,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Upper"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Upper-4560"><a href="#Upper-4560"><span class="linenos">4560</span></a><span class="k">class</span> <span class="nc">Upper</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Upper-4561"><a href="#Upper-4561"><span class="linenos">4561</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;UPPER&quot;</span><span class="p">,</span> <span class="s2">&quot;UCASE&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Upper-4580"><a href="#Upper-4580"><span class="linenos">4580</span></a><span class="k">class</span> <span class="nc">Upper</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Upper-4581"><a href="#Upper-4581"><span class="linenos">4581</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;UPPER&quot;</span><span class="p">,</span> <span class="s2">&quot;UCASE&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Upper.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;upper&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Upper.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Upper.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Upper.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Upper.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Upper.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Upper.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Upper.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Upper.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Upper.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Upper.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Upper.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49230,7 +65063,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Upper.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Upper.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Upper.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Upper.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Upper.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Upper.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Upper.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Upper.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Upper.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Upper.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Upper.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49261,7 +65098,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Upper.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Upper.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Upper.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Upper.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Upper.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Upper.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49296,18 +65134,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Variance"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Variance-4564"><a href="#Variance-4564"><span class="linenos">4564</span></a><span class="k">class</span> <span class="nc">Variance</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="Variance-4565"><a href="#Variance-4565"><span class="linenos">4565</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE&quot;</span><span class="p">,</span> <span class="s2">&quot;VARIANCE_SAMP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_SAMP&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Variance-4584"><a href="#Variance-4584"><span class="linenos">4584</span></a><span class="k">class</span> <span class="nc">Variance</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="Variance-4585"><a href="#Variance-4585"><span class="linenos">4585</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE&quot;</span><span class="p">,</span> <span class="s2">&quot;VARIANCE_SAMP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_SAMP&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="Variance.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;variance&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Variance.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Variance.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Variance.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Variance.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Variance.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Variance.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Variance.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Variance.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Variance.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Variance.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Variance.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49317,7 +65173,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Variance.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Variance.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Variance.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Variance.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Variance.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Variance.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Variance.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Variance.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Variance.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Variance.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Variance.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49348,7 +65208,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Variance.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Variance.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Variance.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Variance.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Variance.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Variance.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49383,18 +65244,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#VariancePop"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="VariancePop-4568"><a href="#VariancePop-4568"><span class="linenos">4568</span></a><span class="k">class</span> <span class="nc">VariancePop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
-</span><span id="VariancePop-4569"><a href="#VariancePop-4569"><span class="linenos">4569</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE_POP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_POP&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="VariancePop-4588"><a href="#VariancePop-4588"><span class="linenos">4588</span></a><span class="k">class</span> <span class="nc">VariancePop</span><span class="p">(</span><span class="n">AggFunc</span><span class="p">):</span>
+</span><span id="VariancePop-4589"><a href="#VariancePop-4589"><span class="linenos">4589</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;VARIANCE_POP&quot;</span><span class="p">,</span> <span class="s2">&quot;VAR_POP&quot;</span><span class="p">]</span>
</span></pre></div>
+ <div id="VariancePop.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;variancepop&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#VariancePop.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="VariancePop.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="VariancePop.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="VariancePop.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="VariancePop.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="VariancePop.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="VariancePop.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="VariancePop.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="VariancePop.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="VariancePop.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="VariancePop.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49404,7 +65283,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="VariancePop.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="VariancePop.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="VariancePop.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="VariancePop.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="VariancePop.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="VariancePop.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="VariancePop.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="VariancePop.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="VariancePop.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="VariancePop.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="VariancePop.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49435,7 +65318,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="VariancePop.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="VariancePop.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="VariancePop.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="VariancePop.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="VariancePop.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="VariancePop.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49470,18 +65354,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Week"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Week-4572"><a href="#Week-4572"><span class="linenos">4572</span></a><span class="k">class</span> <span class="nc">Week</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Week-4573"><a href="#Week-4573"><span class="linenos">4573</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Week-4592"><a href="#Week-4592"><span class="linenos">4592</span></a><span class="k">class</span> <span class="nc">Week</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Week-4593"><a href="#Week-4593"><span class="linenos">4593</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Week.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;mode&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Week.arg_types"></a>
+
+
+
+ </div>
+ <div id="Week.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;week&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Week.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Week.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Week.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Week.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Week.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Week.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Week.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Week.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Week.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Week.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49491,7 +65404,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Week.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Week.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Week.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Week.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Week.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Week.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Week.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Week.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Week.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Week.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Week.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49522,7 +65439,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Week.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Week.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Week.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Week.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Week.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Week.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49557,18 +65475,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#XMLTable"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="XMLTable-4576"><a href="#XMLTable-4576"><span class="linenos">4576</span></a><span class="k">class</span> <span class="nc">XMLTable</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="XMLTable-4577"><a href="#XMLTable-4577"><span class="linenos">4577</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;passing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;by_ref&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="XMLTable-4596"><a href="#XMLTable-4596"><span class="linenos">4596</span></a><span class="k">class</span> <span class="nc">XMLTable</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="XMLTable-4597"><a href="#XMLTable-4597"><span class="linenos">4597</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;passing&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;by_ref&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="XMLTable.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;passing&#39;: False, &#39;columns&#39;: False, &#39;by_ref&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#XMLTable.arg_types"></a>
+
+
+
+ </div>
+ <div id="XMLTable.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;xmltable&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#XMLTable.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="XMLTable.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="XMLTable.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="XMLTable.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="XMLTable.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="XMLTable.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="XMLTable.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="XMLTable.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="XMLTable.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="XMLTable.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49578,7 +65525,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="XMLTable.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="XMLTable.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="XMLTable.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="XMLTable.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="XMLTable.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="XMLTable.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="XMLTable.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="XMLTable.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="XMLTable.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="XMLTable.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="XMLTable.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49609,7 +65560,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="XMLTable.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="XMLTable.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="XMLTable.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="XMLTable.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="XMLTable.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="XMLTable.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49644,18 +65596,36 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Year"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Year-4580"><a href="#Year-4580"><span class="linenos">4580</span></a><span class="k">class</span> <span class="nc">Year</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="Year-4581"><a href="#Year-4581"><span class="linenos">4581</span></a> <span class="k">pass</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Year-4600"><a href="#Year-4600"><span class="linenos">4600</span></a><span class="k">class</span> <span class="nc">Year</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="Year-4601"><a href="#Year-4601"><span class="linenos">4601</span></a> <span class="k">pass</span>
</span></pre></div>
+ <div id="Year.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;year&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Year.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Year.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Year.arg_types" class="variable"><a href="#Expression.arg_types">arg_types</a></dd>
+ <dd id="Year.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Year.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Year.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Year.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Year.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Year.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Year.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Year.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49665,7 +65635,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Year.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Year.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Year.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Year.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Year.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Year.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Year.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Year.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Year.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Year.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Year.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49696,7 +65670,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="Year.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="Year.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="Year.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="Year.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="Year.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="Year.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49731,18 +65706,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Use"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Use-4584"><a href="#Use-4584"><span class="linenos">4584</span></a><span class="k">class</span> <span class="nc">Use</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Use-4585"><a href="#Use-4585"><span class="linenos">4585</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Use-4604"><a href="#Use-4604"><span class="linenos">4604</span></a><span class="k">class</span> <span class="nc">Use</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Use-4605"><a href="#Use-4605"><span class="linenos">4605</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="Use.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;kind&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Use.arg_types"></a>
+
+
+
+ </div>
+ <div id="Use.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;use&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Use.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Use.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Use.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Use.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Use.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Use.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Use.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Use.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Use.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Use.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49752,7 +65756,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Use.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Use.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Use.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Use.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Use.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Use.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Use.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Use.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Use.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Use.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Use.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49796,18 +65804,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#Merge"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="Merge-4588"><a href="#Merge-4588"><span class="linenos">4588</span></a><span class="k">class</span> <span class="nc">Merge</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Merge-4589"><a href="#Merge-4589"><span class="linenos">4589</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="Merge-4608"><a href="#Merge-4608"><span class="linenos">4608</span></a><span class="k">class</span> <span class="nc">Merge</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
+</span><span id="Merge-4609"><a href="#Merge-4609"><span class="linenos">4609</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;using&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;on&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="Merge.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;using&#39;: True, &#39;on&#39;: True, &#39;expressions&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#Merge.arg_types"></a>
+
+
+
+ </div>
+ <div id="Merge.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;merge&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#Merge.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="Merge.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="Merge.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="Merge.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="Merge.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="Merge.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="Merge.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="Merge.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="Merge.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="Merge.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49817,7 +65854,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="Merge.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="Merge.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="Merge.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="Merge.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="Merge.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="Merge.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="Merge.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="Merge.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="Merge.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="Merge.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="Merge.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49861,18 +65902,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#When"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="When-4592"><a href="#When-4592"><span class="linenos">4592</span></a><span class="k">class</span> <span class="nc">When</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="When-4593"><a href="#When-4593"><span class="linenos">4593</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;matched&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;condition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;then&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="When-4612"><a href="#When-4612"><span class="linenos">4612</span></a><span class="k">class</span> <span class="nc">When</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="When-4613"><a href="#When-4613"><span class="linenos">4613</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;matched&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;condition&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;then&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
</span></pre></div>
+ <div id="When.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;matched&#39;: True, &#39;source&#39;: False, &#39;condition&#39;: False, &#39;then&#39;: True}</span>
+
+
+ </div>
+ <a class="headerlink" href="#When.arg_types"></a>
+
+
+
+ </div>
+ <div id="When.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;when&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#When.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="When.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="When.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="When.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="When.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="When.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="When.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="When.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="When.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="When.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49882,7 +65952,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="When.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="When.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="When.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="When.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="When.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="When.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="When.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="When.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="When.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="When.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="When.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -49913,7 +65987,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="When.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="When.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="When.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="When.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="When.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="When.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -49948,18 +66023,47 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#NextValueFor"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="NextValueFor-4598"><a href="#NextValueFor-4598"><span class="linenos">4598</span></a><span class="k">class</span> <span class="nc">NextValueFor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
-</span><span id="NextValueFor-4599"><a href="#NextValueFor-4599"><span class="linenos">4599</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="NextValueFor-4618"><a href="#NextValueFor-4618"><span class="linenos">4618</span></a><span class="k">class</span> <span class="nc">NextValueFor</span><span class="p">(</span><span class="n">Func</span><span class="p">):</span>
+</span><span id="NextValueFor-4619"><a href="#NextValueFor-4619"><span class="linenos">4619</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;order&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
+ <div id="NextValueFor.arg_types" class="classattr">
+ <div class="attr variable">
+ <span class="name">arg_types</span> =
+<span class="default_value">{&#39;this&#39;: True, &#39;order&#39;: False}</span>
+
+
+ </div>
+ <a class="headerlink" href="#NextValueFor.arg_types"></a>
+
+
+
+ </div>
+ <div id="NextValueFor.key" class="classattr">
+ <div class="attr variable">
+ <span class="name">key</span> =
+<span class="default_value">&#39;nextvaluefor&#39;</span>
+
+
+ </div>
+ <a class="headerlink" href="#NextValueFor.key"></a>
+
+
+
+ </div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt><a href="#Expression">Expression</a></dt>
<dd id="NextValueFor.__init__" class="function"><a href="#Expression.__init__">Expression</a></dd>
+ <dd id="NextValueFor.args" class="variable"><a href="#Expression.args">args</a></dd>
+ <dd id="NextValueFor.parent" class="variable"><a href="#Expression.parent">parent</a></dd>
+ <dd id="NextValueFor.arg_key" class="variable"><a href="#Expression.arg_key">arg_key</a></dd>
+ <dd id="NextValueFor.comments" class="variable"><a href="#Expression.comments">comments</a></dd>
+ <dd id="NextValueFor.hashable_args" class="variable"><a href="#Expression.hashable_args">hashable_args</a></dd>
<dd id="NextValueFor.this" class="variable"><a href="#Expression.this">this</a></dd>
<dd id="NextValueFor.expression" class="variable"><a href="#Expression.expression">expression</a></dd>
<dd id="NextValueFor.expressions" class="variable"><a href="#Expression.expressions">expressions</a></dd>
@@ -49969,7 +66073,11 @@ name is set to the expression's class name transformed to snake case.</li>
<dd id="NextValueFor.is_int" class="variable"><a href="#Expression.is_int">is_int</a></dd>
<dd id="NextValueFor.is_star" class="variable"><a href="#Expression.is_star">is_star</a></dd>
<dd id="NextValueFor.alias" class="variable"><a href="#Expression.alias">alias</a></dd>
+ <dd id="NextValueFor.name" class="variable"><a href="#Expression.name">name</a></dd>
+ <dd id="NextValueFor.alias_or_name" class="variable"><a href="#Expression.alias_or_name">alias_or_name</a></dd>
<dd id="NextValueFor.output_name" class="variable"><a href="#Expression.output_name">output_name</a></dd>
+ <dd id="NextValueFor.type" class="variable"><a href="#Expression.type">type</a></dd>
+ <dd id="NextValueFor.meta" class="variable"><a href="#Expression.meta">meta</a></dd>
<dd id="NextValueFor.copy" class="function"><a href="#Expression.copy">copy</a></dd>
<dd id="NextValueFor.add_comments" class="function"><a href="#Expression.add_comments">add_comments</a></dd>
<dd id="NextValueFor.append" class="function"><a href="#Expression.append">append</a></dd>
@@ -50000,7 +66108,8 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="NextValueFor.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="NextValueFor.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
+ <dd id="NextValueFor.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="NextValueFor.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="NextValueFor.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="NextValueFor.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -50024,6 +66133,19 @@ name is set to the expression's class name transformed to snake case.</li>
</dl>
</div>
</section>
+ <section id="ALL_FUNCTIONS">
+ <div class="attr variable">
+ <span class="name">ALL_FUNCTIONS</span> =
+<input id="ALL_FUNCTIONS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
+ <label class="view-value-button pdoc-button" for="ALL_FUNCTIONS-view-value"></label><span class="default_value">[&lt;class &#39;<a href="#Abs">sqlglot.expressions.Abs</a>&#39;&gt;, &lt;class &#39;<a href="#AnyValue">sqlglot.expressions.AnyValue</a>&#39;&gt;, &lt;class &#39;<a href="#ApproxDistinct">sqlglot.expressions.ApproxDistinct</a>&#39;&gt;, &lt;class &#39;<a href="#ApproxQuantile">sqlglot.expressions.ApproxQuantile</a>&#39;&gt;, &lt;class &#39;<a href="#Array">sqlglot.expressions.Array</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayAgg">sqlglot.expressions.ArrayAgg</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayAll">sqlglot.expressions.ArrayAll</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayAny">sqlglot.expressions.ArrayAny</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayConcat">sqlglot.expressions.ArrayConcat</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayContains">sqlglot.expressions.ArrayContains</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayFilter">sqlglot.expressions.ArrayFilter</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayJoin">sqlglot.expressions.ArrayJoin</a>&#39;&gt;, &lt;class &#39;<a href="#ArraySize">sqlglot.expressions.ArraySize</a>&#39;&gt;, &lt;class &#39;<a href="#ArraySort">sqlglot.expressions.ArraySort</a>&#39;&gt;, &lt;class &#39;<a href="#ArraySum">sqlglot.expressions.ArraySum</a>&#39;&gt;, &lt;class &#39;<a href="#ArrayUnionAgg">sqlglot.expressions.ArrayUnionAgg</a>&#39;&gt;, &lt;class &#39;<a href="#Avg">sqlglot.expressions.Avg</a>&#39;&gt;, &lt;class &#39;<a href="#Case">sqlglot.expressions.Case</a>&#39;&gt;, &lt;class &#39;<a href="#Cast">sqlglot.expressions.Cast</a>&#39;&gt;, &lt;class &#39;<a href="#CastToStrType">sqlglot.expressions.CastToStrType</a>&#39;&gt;, &lt;class &#39;<a href="#Ceil">sqlglot.expressions.Ceil</a>&#39;&gt;, &lt;class &#39;<a href="#Coalesce">sqlglot.expressions.Coalesce</a>&#39;&gt;, &lt;class &#39;<a href="#Concat">sqlglot.expressions.Concat</a>&#39;&gt;, &lt;class &#39;<a href="#ConcatWs">sqlglot.expressions.ConcatWs</a>&#39;&gt;, &lt;class &#39;<a href="#Count">sqlglot.expressions.Count</a>&#39;&gt;, &lt;class &#39;<a href="#CountIf">sqlglot.expressions.CountIf</a>&#39;&gt;, &lt;class &#39;<a href="#CurrentDate">sqlglot.expressions.CurrentDate</a>&#39;&gt;, &lt;class &#39;<a href="#CurrentDatetime">sqlglot.expressions.CurrentDatetime</a>&#39;&gt;, &lt;class &#39;<a href="#CurrentTime">sqlglot.expressions.CurrentTime</a>&#39;&gt;, &lt;class &#39;<a href="#CurrentTimestamp">sqlglot.expressions.CurrentTimestamp</a>&#39;&gt;, &lt;class &#39;<a href="#CurrentUser">sqlglot.expressions.CurrentUser</a>&#39;&gt;, &lt;class &#39;<a href="#Date">sqlglot.expressions.Date</a>&#39;&gt;, &lt;class &#39;<a href="#DateAdd">sqlglot.expressions.DateAdd</a>&#39;&gt;, &lt;class &#39;<a href="#DateDiff">sqlglot.expressions.DateDiff</a>&#39;&gt;, &lt;class &#39;<a href="#DateFromParts">sqlglot.expressions.DateFromParts</a>&#39;&gt;, &lt;class &#39;<a href="#DateStrToDate">sqlglot.expressions.DateStrToDate</a>&#39;&gt;, &lt;class &#39;<a href="#DateSub">sqlglot.expressions.DateSub</a>&#39;&gt;, &lt;class &#39;<a href="#DateToDateStr">sqlglot.expressions.DateToDateStr</a>&#39;&gt;, &lt;class &#39;<a href="#DateToDi">sqlglot.expressions.DateToDi</a>&#39;&gt;, &lt;class &#39;<a href="#DateTrunc">sqlglot.expressions.DateTrunc</a>&#39;&gt;, &lt;class &#39;<a href="#DatetimeAdd">sqlglot.expressions.DatetimeAdd</a>&#39;&gt;, &lt;class &#39;<a href="#DatetimeDiff">sqlglot.expressions.DatetimeDiff</a>&#39;&gt;, &lt;class &#39;<a href="#DatetimeSub">sqlglot.expressions.DatetimeSub</a>&#39;&gt;, &lt;class &#39;<a href="#DatetimeTrunc">sqlglot.expressions.DatetimeTrunc</a>&#39;&gt;, &lt;class &#39;<a href="#Day">sqlglot.expressions.Day</a>&#39;&gt;, &lt;class &#39;<a href="#DayOfMonth">sqlglot.expressions.DayOfMonth</a>&#39;&gt;, &lt;class &#39;<a href="#DayOfWeek">sqlglot.expressions.DayOfWeek</a>&#39;&gt;, &lt;class &#39;<a href="#DayOfYear">sqlglot.expressions.DayOfYear</a>&#39;&gt;, &lt;class &#39;<a href="#Decode">sqlglot.expressions.Decode</a>&#39;&gt;, &lt;class &#39;<a href="#DiToDate">sqlglot.expressions.DiToDate</a>&#39;&gt;, &lt;class &#39;<a href="#Encode">sqlglot.expressions.Encode</a>&#39;&gt;, &lt;class &#39;<a href="#Exp">sqlglot.expressions.Exp</a>&#39;&gt;, &lt;class &#39;<a href="#Explode">sqlglot.expressions.Explode</a>&#39;&gt;, &lt;class &#39;<a href="#Extract">sqlglot.expressions.Extract</a>&#39;&gt;, &lt;class &#39;<a href="#Floor">sqlglot.expressions.Floor</a>&#39;&gt;, &lt;class &#39;<a href="#FromBase">sqlglot.expressions.FromBase</a>&#39;&gt;, &lt;class &#39;<a href="#FromBase64">sqlglot.expressions.FromBase64</a>&#39;&gt;, &lt;class &#39;<a href="#GenerateSeries">sqlglot.expressions.GenerateSeries</a>&#39;&gt;, &lt;class &#39;<a href="#Greatest">sqlglot.expressions.Greatest</a>&#39;&gt;, &lt;class &#39;<a href="#GroupConcat">sqlglot.expressions.GroupConcat</a>&#39;&gt;, &lt;class &#39;<a href="#Hex">sqlglot.expressions.Hex</a>&#39;&gt;, &lt;class &#39;<a href="#Hll">sqlglot.expressions.Hll</a>&#39;&gt;, &lt;class &#39;<a href="#If">sqlglot.expressions.If</a>&#39;&gt;, &lt;class &#39;<a href="#Initcap">sqlglot.expressions.Initcap</a>&#39;&gt;, &lt;class &#39;<a href="#JSONBExtract">sqlglot.expressions.JSONBExtract</a>&#39;&gt;, &lt;class &#39;<a href="#JSONBExtractScalar">sqlglot.expressions.JSONBExtractScalar</a>&#39;&gt;, &lt;class &#39;<a href="#JSONExtract">sqlglot.expressions.JSONExtract</a>&#39;&gt;, &lt;class &#39;<a href="#JSONExtractScalar">sqlglot.expressions.JSONExtractScalar</a>&#39;&gt;, &lt;class &#39;<a href="#JSONFormat">sqlglot.expressions.JSONFormat</a>&#39;&gt;, &lt;class &#39;<a href="#JSONObject">sqlglot.expressions.JSONObject</a>&#39;&gt;, &lt;class &#39;<a href="#LastDateOfMonth">sqlglot.expressions.LastDateOfMonth</a>&#39;&gt;, &lt;class &#39;<a href="#Least">sqlglot.expressions.Least</a>&#39;&gt;, &lt;class &#39;<a href="#Left">sqlglot.expressions.Left</a>&#39;&gt;, &lt;class &#39;<a href="#Length">sqlglot.expressions.Length</a>&#39;&gt;, &lt;class &#39;<a href="#Levenshtein">sqlglot.expressions.Levenshtein</a>&#39;&gt;, &lt;class &#39;<a href="#Ln">sqlglot.expressions.Ln</a>&#39;&gt;, &lt;class &#39;<a href="#Log">sqlglot.expressions.Log</a>&#39;&gt;, &lt;class &#39;<a href="#Log10">sqlglot.expressions.Log10</a>&#39;&gt;, &lt;class &#39;<a href="#Log2">sqlglot.expressions.Log2</a>&#39;&gt;, &lt;class &#39;<a href="#LogicalAnd">sqlglot.expressions.LogicalAnd</a>&#39;&gt;, &lt;class &#39;<a href="#LogicalOr">sqlglot.expressions.LogicalOr</a>&#39;&gt;, &lt;class &#39;<a href="#Lower">sqlglot.expressions.Lower</a>&#39;&gt;, &lt;class &#39;<a href="#MD5">sqlglot.expressions.MD5</a>&#39;&gt;, &lt;class &#39;<a href="#Map">sqlglot.expressions.Map</a>&#39;&gt;, &lt;class &#39;<a href="#MatchAgainst">sqlglot.expressions.MatchAgainst</a>&#39;&gt;, &lt;class &#39;<a href="#Max">sqlglot.expressions.Max</a>&#39;&gt;, &lt;class &#39;<a href="#Min">sqlglot.expressions.Min</a>&#39;&gt;, &lt;class &#39;<a href="#Month">sqlglot.expressions.Month</a>&#39;&gt;, &lt;class &#39;<a href="#NextValueFor">sqlglot.expressions.NextValueFor</a>&#39;&gt;, &lt;class &#39;<a href="#NumberToStr">sqlglot.expressions.NumberToStr</a>&#39;&gt;, &lt;class &#39;<a href="#Nvl2">sqlglot.expressions.Nvl2</a>&#39;&gt;, &lt;class &#39;<a href="#OpenJSON">sqlglot.expressions.OpenJSON</a>&#39;&gt;, &lt;class &#39;<a href="#ParameterizedAgg">sqlglot.expressions.ParameterizedAgg</a>&#39;&gt;, &lt;class &#39;<a href="#PercentileCont">sqlglot.expressions.PercentileCont</a>&#39;&gt;, &lt;class &#39;<a href="#PercentileDisc">sqlglot.expressions.PercentileDisc</a>&#39;&gt;, &lt;class &#39;<a href="#Posexplode">sqlglot.expressions.Posexplode</a>&#39;&gt;, &lt;class &#39;<a href="#Pow">sqlglot.expressions.Pow</a>&#39;&gt;, &lt;class &#39;<a href="#Quantile">sqlglot.expressions.Quantile</a>&#39;&gt;, &lt;class &#39;<a href="#RangeN">sqlglot.expressions.RangeN</a>&#39;&gt;, &lt;class &#39;<a href="#ReadCSV">sqlglot.expressions.ReadCSV</a>&#39;&gt;, &lt;class &#39;<a href="#Reduce">sqlglot.expressions.Reduce</a>&#39;&gt;, &lt;class &#39;<a href="#RegexpExtract">sqlglot.expressions.RegexpExtract</a>&#39;&gt;, &lt;class &#39;<a href="#RegexpILike">sqlglot.expressions.RegexpILike</a>&#39;&gt;, &lt;class &#39;<a href="#RegexpLike">sqlglot.expressions.RegexpLike</a>&#39;&gt;, &lt;class &#39;<a href="#RegexpSplit">sqlglot.expressions.RegexpSplit</a>&#39;&gt;, &lt;class &#39;<a href="#Repeat">sqlglot.expressions.Repeat</a>&#39;&gt;, &lt;class &#39;<a href="#Right">sqlglot.expressions.Right</a>&#39;&gt;, &lt;class &#39;<a href="#Round">sqlglot.expressions.Round</a>&#39;&gt;, &lt;class &#39;<a href="#RowNumber">sqlglot.expressions.RowNumber</a>&#39;&gt;, &lt;class &#39;<a href="#SHA">sqlglot.expressions.SHA</a>&#39;&gt;, &lt;class &#39;<a href="#SHA2">sqlglot.expressions.SHA2</a>&#39;&gt;, &lt;class &#39;<a href="#SafeConcat">sqlglot.expressions.SafeConcat</a>&#39;&gt;, &lt;class &#39;<a href="#SafeDivide">sqlglot.expressions.SafeDivide</a>&#39;&gt;, &lt;class &#39;<a href="#SetAgg">sqlglot.expressions.SetAgg</a>&#39;&gt;, &lt;class &#39;<a href="#SortArray">sqlglot.expressions.SortArray</a>&#39;&gt;, &lt;class &#39;<a href="#Split">sqlglot.expressions.Split</a>&#39;&gt;, &lt;class &#39;<a href="#Sqrt">sqlglot.expressions.Sqrt</a>&#39;&gt;, &lt;class &#39;<a href="#StandardHash">sqlglot.expressions.StandardHash</a>&#39;&gt;, &lt;class &#39;<a href="#StarMap">sqlglot.expressions.StarMap</a>&#39;&gt;, &lt;class &#39;<a href="#Stddev">sqlglot.expressions.Stddev</a>&#39;&gt;, &lt;class &#39;<a href="#StddevPop">sqlglot.expressions.StddevPop</a>&#39;&gt;, &lt;class &#39;<a href="#StddevSamp">sqlglot.expressions.StddevSamp</a>&#39;&gt;, &lt;class &#39;<a href="#StrPosition">sqlglot.expressions.StrPosition</a>&#39;&gt;, &lt;class &#39;<a href="#StrToDate">sqlglot.expressions.StrToDate</a>&#39;&gt;, &lt;class &#39;<a href="#StrToTime">sqlglot.expressions.StrToTime</a>&#39;&gt;, &lt;class &#39;<a href="#StrToUnix">sqlglot.expressions.StrToUnix</a>&#39;&gt;, &lt;class &#39;<a href="#Struct">sqlglot.expressions.Struct</a>&#39;&gt;, &lt;class &#39;<a href="#StructExtract">sqlglot.expressions.StructExtract</a>&#39;&gt;, &lt;class &#39;<a href="#Substring">sqlglot.expressions.Substring</a>&#39;&gt;, &lt;class &#39;<a href="#Sum">sqlglot.expressions.Sum</a>&#39;&gt;, &lt;class &#39;<a href="#TimeAdd">sqlglot.expressions.TimeAdd</a>&#39;&gt;, &lt;class &#39;<a href="#TimeDiff">sqlglot.expressions.TimeDiff</a>&#39;&gt;, &lt;class &#39;<a href="#TimeStrToDate">sqlglot.expressions.TimeStrToDate</a>&#39;&gt;, &lt;class &#39;<a href="#TimeStrToTime">sqlglot.expressions.TimeStrToTime</a>&#39;&gt;, &lt;class &#39;<a href="#TimeStrToUnix">sqlglot.expressions.TimeStrToUnix</a>&#39;&gt;, &lt;class &#39;<a href="#TimeSub">sqlglot.expressions.TimeSub</a>&#39;&gt;, &lt;class &#39;<a href="#TimeToStr">sqlglot.expressions.TimeToStr</a>&#39;&gt;, &lt;class &#39;<a href="#TimeToTimeStr">sqlglot.expressions.TimeToTimeStr</a>&#39;&gt;, &lt;class &#39;<a href="#TimeToUnix">sqlglot.expressions.TimeToUnix</a>&#39;&gt;, &lt;class &#39;<a href="#TimeTrunc">sqlglot.expressions.TimeTrunc</a>&#39;&gt;, &lt;class &#39;<a href="#TimestampAdd">sqlglot.expressions.TimestampAdd</a>&#39;&gt;, &lt;class &#39;<a href="#TimestampDiff">sqlglot.expressions.TimestampDiff</a>&#39;&gt;, &lt;class &#39;<a href="#TimestampSub">sqlglot.expressions.TimestampSub</a>&#39;&gt;, &lt;class &#39;<a href="#TimestampTrunc">sqlglot.expressions.TimestampTrunc</a>&#39;&gt;, &lt;class &#39;<a href="#ToBase64">sqlglot.expressions.ToBase64</a>&#39;&gt;, &lt;class &#39;<a href="#ToChar">sqlglot.expressions.ToChar</a>&#39;&gt;, &lt;class &#39;<a href="#Trim">sqlglot.expressions.Trim</a>&#39;&gt;, &lt;class &#39;<a href="#TryCast">sqlglot.expressions.TryCast</a>&#39;&gt;, &lt;class &#39;<a href="#TsOrDiToDi">sqlglot.expressions.TsOrDiToDi</a>&#39;&gt;, &lt;class &#39;<a href="#TsOrDsAdd">sqlglot.expressions.TsOrDsAdd</a>&#39;&gt;, &lt;class &#39;<a href="#TsOrDsToDate">sqlglot.expressions.TsOrDsToDate</a>&#39;&gt;, &lt;class &#39;<a href="#TsOrDsToDateStr">sqlglot.expressions.TsOrDsToDateStr</a>&#39;&gt;, &lt;class &#39;<a href="#Unhex">sqlglot.expressions.Unhex</a>&#39;&gt;, &lt;class &#39;<a href="#UnixToStr">sqlglot.expressions.UnixToStr</a>&#39;&gt;, &lt;class &#39;<a href="#UnixToTime">sqlglot.expressions.UnixToTime</a>&#39;&gt;, &lt;class &#39;<a href="#UnixToTimeStr">sqlglot.expressions.UnixToTimeStr</a>&#39;&gt;, &lt;class &#39;<a href="#Upper">sqlglot.expressions.Upper</a>&#39;&gt;, &lt;class &#39;<a href="#VarMap">sqlglot.expressions.VarMap</a>&#39;&gt;, &lt;class &#39;<a href="#Variance">sqlglot.expressions.Variance</a>&#39;&gt;, &lt;class &#39;<a href="#VariancePop">sqlglot.expressions.VariancePop</a>&#39;&gt;, &lt;class &#39;<a href="#Week">sqlglot.expressions.Week</a>&#39;&gt;, &lt;class &#39;<a href="#WeekOfYear">sqlglot.expressions.WeekOfYear</a>&#39;&gt;, &lt;class &#39;<a href="#When">sqlglot.expressions.When</a>&#39;&gt;, &lt;class &#39;<a href="#XMLTable">sqlglot.expressions.XMLTable</a>&#39;&gt;, &lt;class &#39;<a href="#Year">sqlglot.expressions.Year</a>&#39;&gt;]</span>
+
+
+ </div>
+ <a class="headerlink" href="#ALL_FUNCTIONS"></a>
+
+
+
+ </section>
<section id="maybe_parse">
<input id="maybe_parse-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -50035,52 +66157,52 @@ name is set to the expression's class name transformed to snake case.</li>
</div>
<a class="headerlink" href="#maybe_parse"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="maybe_parse-4636"><a href="#maybe_parse-4636"><span class="linenos">4636</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
-</span><span id="maybe_parse-4637"><a href="#maybe_parse-4637"><span class="linenos">4637</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="maybe_parse-4638"><a href="#maybe_parse-4638"><span class="linenos">4638</span></a> <span class="o">*</span><span class="p">,</span>
-</span><span id="maybe_parse-4639"><a href="#maybe_parse-4639"><span class="linenos">4639</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="maybe_parse-4640"><a href="#maybe_parse-4640"><span class="linenos">4640</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="maybe_parse-4641"><a href="#maybe_parse-4641"><span class="linenos">4641</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="maybe_parse-4642"><a href="#maybe_parse-4642"><span class="linenos">4642</span></a> <span class="n">copy</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="maybe_parse-4643"><a href="#maybe_parse-4643"><span class="linenos">4643</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="maybe_parse-4644"><a href="#maybe_parse-4644"><span class="linenos">4644</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="maybe_parse-4645"><a href="#maybe_parse-4645"><span class="linenos">4645</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Gracefully handle a possible string or expression.</span>
-</span><span id="maybe_parse-4646"><a href="#maybe_parse-4646"><span class="linenos">4646</span></a>
-</span><span id="maybe_parse-4647"><a href="#maybe_parse-4647"><span class="linenos">4647</span></a><span class="sd"> Example:</span>
-</span><span id="maybe_parse-4648"><a href="#maybe_parse-4648"><span class="linenos">4648</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(&quot;1&quot;)</span>
-</span><span id="maybe_parse-4649"><a href="#maybe_parse-4649"><span class="linenos">4649</span></a><span class="sd"> (LITERAL this: 1, is_string: False)</span>
-</span><span id="maybe_parse-4650"><a href="#maybe_parse-4650"><span class="linenos">4650</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(to_identifier(&quot;x&quot;))</span>
-</span><span id="maybe_parse-4651"><a href="#maybe_parse-4651"><span class="linenos">4651</span></a><span class="sd"> (IDENTIFIER this: x, quoted: False)</span>
-</span><span id="maybe_parse-4652"><a href="#maybe_parse-4652"><span class="linenos">4652</span></a>
-</span><span id="maybe_parse-4653"><a href="#maybe_parse-4653"><span class="linenos">4653</span></a><span class="sd"> Args:</span>
-</span><span id="maybe_parse-4654"><a href="#maybe_parse-4654"><span class="linenos">4654</span></a><span class="sd"> sql_or_expression: the SQL code string or an expression</span>
-</span><span id="maybe_parse-4655"><a href="#maybe_parse-4655"><span class="linenos">4655</span></a><span class="sd"> into: the SQLGlot Expression to parse into</span>
-</span><span id="maybe_parse-4656"><a href="#maybe_parse-4656"><span class="linenos">4656</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
-</span><span id="maybe_parse-4657"><a href="#maybe_parse-4657"><span class="linenos">4657</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="maybe_parse-4658"><a href="#maybe_parse-4658"><span class="linenos">4658</span></a><span class="sd"> prefix: a string to prefix the sql with before it gets parsed</span>
-</span><span id="maybe_parse-4659"><a href="#maybe_parse-4659"><span class="linenos">4659</span></a><span class="sd"> (automatically includes a space)</span>
-</span><span id="maybe_parse-4660"><a href="#maybe_parse-4660"><span class="linenos">4660</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
-</span><span id="maybe_parse-4661"><a href="#maybe_parse-4661"><span class="linenos">4661</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="maybe_parse-4662"><a href="#maybe_parse-4662"><span class="linenos">4662</span></a><span class="sd"> that an input expression is a SQL string).</span>
-</span><span id="maybe_parse-4663"><a href="#maybe_parse-4663"><span class="linenos">4663</span></a>
-</span><span id="maybe_parse-4664"><a href="#maybe_parse-4664"><span class="linenos">4664</span></a><span class="sd"> Returns:</span>
-</span><span id="maybe_parse-4665"><a href="#maybe_parse-4665"><span class="linenos">4665</span></a><span class="sd"> Expression: the parsed or given expression.</span>
-</span><span id="maybe_parse-4666"><a href="#maybe_parse-4666"><span class="linenos">4666</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="maybe_parse-4667"><a href="#maybe_parse-4667"><span class="linenos">4667</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="maybe_parse-4668"><a href="#maybe_parse-4668"><span class="linenos">4668</span></a> <span class="k">if</span> <span class="n">copy</span><span class="p">:</span>
-</span><span id="maybe_parse-4669"><a href="#maybe_parse-4669"><span class="linenos">4669</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-</span><span id="maybe_parse-4670"><a href="#maybe_parse-4670"><span class="linenos">4670</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span>
-</span><span id="maybe_parse-4671"><a href="#maybe_parse-4671"><span class="linenos">4671</span></a>
-</span><span id="maybe_parse-4672"><a href="#maybe_parse-4672"><span class="linenos">4672</span></a> <span class="k">if</span> <span class="n">sql_or_expression</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="maybe_parse-4673"><a href="#maybe_parse-4673"><span class="linenos">4673</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;SQL cannot be None&quot;</span><span class="p">)</span>
-</span><span id="maybe_parse-4674"><a href="#maybe_parse-4674"><span class="linenos">4674</span></a>
-</span><span id="maybe_parse-4675"><a href="#maybe_parse-4675"><span class="linenos">4675</span></a> <span class="kn">import</span> <span class="nn">sqlglot</span>
-</span><span id="maybe_parse-4676"><a href="#maybe_parse-4676"><span class="linenos">4676</span></a>
-</span><span id="maybe_parse-4677"><a href="#maybe_parse-4677"><span class="linenos">4677</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">)</span>
-</span><span id="maybe_parse-4678"><a href="#maybe_parse-4678"><span class="linenos">4678</span></a> <span class="k">if</span> <span class="n">prefix</span><span class="p">:</span>
-</span><span id="maybe_parse-4679"><a href="#maybe_parse-4679"><span class="linenos">4679</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span id="maybe_parse-4680"><a href="#maybe_parse-4680"><span class="linenos">4680</span></a>
-</span><span id="maybe_parse-4681"><a href="#maybe_parse-4681"><span class="linenos">4681</span></a> <span class="k">return</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">parse_one</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="maybe_parse-4656"><a href="#maybe_parse-4656"><span class="linenos">4656</span></a><span class="k">def</span> <span class="nf">maybe_parse</span><span class="p">(</span>
+</span><span id="maybe_parse-4657"><a href="#maybe_parse-4657"><span class="linenos">4657</span></a> <span class="n">sql_or_expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="maybe_parse-4658"><a href="#maybe_parse-4658"><span class="linenos">4658</span></a> <span class="o">*</span><span class="p">,</span>
+</span><span id="maybe_parse-4659"><a href="#maybe_parse-4659"><span class="linenos">4659</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="maybe_parse-4660"><a href="#maybe_parse-4660"><span class="linenos">4660</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="maybe_parse-4661"><a href="#maybe_parse-4661"><span class="linenos">4661</span></a> <span class="n">prefix</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="maybe_parse-4662"><a href="#maybe_parse-4662"><span class="linenos">4662</span></a> <span class="n">copy</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="maybe_parse-4663"><a href="#maybe_parse-4663"><span class="linenos">4663</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="maybe_parse-4664"><a href="#maybe_parse-4664"><span class="linenos">4664</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="maybe_parse-4665"><a href="#maybe_parse-4665"><span class="linenos">4665</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Gracefully handle a possible string or expression.</span>
+</span><span id="maybe_parse-4666"><a href="#maybe_parse-4666"><span class="linenos">4666</span></a>
+</span><span id="maybe_parse-4667"><a href="#maybe_parse-4667"><span class="linenos">4667</span></a><span class="sd"> Example:</span>
+</span><span id="maybe_parse-4668"><a href="#maybe_parse-4668"><span class="linenos">4668</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(&quot;1&quot;)</span>
+</span><span id="maybe_parse-4669"><a href="#maybe_parse-4669"><span class="linenos">4669</span></a><span class="sd"> (LITERAL this: 1, is_string: False)</span>
+</span><span id="maybe_parse-4670"><a href="#maybe_parse-4670"><span class="linenos">4670</span></a><span class="sd"> &gt;&gt;&gt; maybe_parse(to_identifier(&quot;x&quot;))</span>
+</span><span id="maybe_parse-4671"><a href="#maybe_parse-4671"><span class="linenos">4671</span></a><span class="sd"> (IDENTIFIER this: x, quoted: False)</span>
+</span><span id="maybe_parse-4672"><a href="#maybe_parse-4672"><span class="linenos">4672</span></a>
+</span><span id="maybe_parse-4673"><a href="#maybe_parse-4673"><span class="linenos">4673</span></a><span class="sd"> Args:</span>
+</span><span id="maybe_parse-4674"><a href="#maybe_parse-4674"><span class="linenos">4674</span></a><span class="sd"> sql_or_expression: the SQL code string or an expression</span>
+</span><span id="maybe_parse-4675"><a href="#maybe_parse-4675"><span class="linenos">4675</span></a><span class="sd"> into: the SQLGlot Expression to parse into</span>
+</span><span id="maybe_parse-4676"><a href="#maybe_parse-4676"><span class="linenos">4676</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
+</span><span id="maybe_parse-4677"><a href="#maybe_parse-4677"><span class="linenos">4677</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="maybe_parse-4678"><a href="#maybe_parse-4678"><span class="linenos">4678</span></a><span class="sd"> prefix: a string to prefix the sql with before it gets parsed</span>
+</span><span id="maybe_parse-4679"><a href="#maybe_parse-4679"><span class="linenos">4679</span></a><span class="sd"> (automatically includes a space)</span>
+</span><span id="maybe_parse-4680"><a href="#maybe_parse-4680"><span class="linenos">4680</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="maybe_parse-4681"><a href="#maybe_parse-4681"><span class="linenos">4681</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="maybe_parse-4682"><a href="#maybe_parse-4682"><span class="linenos">4682</span></a><span class="sd"> that an input expression is a SQL string).</span>
+</span><span id="maybe_parse-4683"><a href="#maybe_parse-4683"><span class="linenos">4683</span></a>
+</span><span id="maybe_parse-4684"><a href="#maybe_parse-4684"><span class="linenos">4684</span></a><span class="sd"> Returns:</span>
+</span><span id="maybe_parse-4685"><a href="#maybe_parse-4685"><span class="linenos">4685</span></a><span class="sd"> Expression: the parsed or given expression.</span>
+</span><span id="maybe_parse-4686"><a href="#maybe_parse-4686"><span class="linenos">4686</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="maybe_parse-4687"><a href="#maybe_parse-4687"><span class="linenos">4687</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="maybe_parse-4688"><a href="#maybe_parse-4688"><span class="linenos">4688</span></a> <span class="k">if</span> <span class="n">copy</span><span class="p">:</span>
+</span><span id="maybe_parse-4689"><a href="#maybe_parse-4689"><span class="linenos">4689</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+</span><span id="maybe_parse-4690"><a href="#maybe_parse-4690"><span class="linenos">4690</span></a> <span class="k">return</span> <span class="n">sql_or_expression</span>
+</span><span id="maybe_parse-4691"><a href="#maybe_parse-4691"><span class="linenos">4691</span></a>
+</span><span id="maybe_parse-4692"><a href="#maybe_parse-4692"><span class="linenos">4692</span></a> <span class="k">if</span> <span class="n">sql_or_expression</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="maybe_parse-4693"><a href="#maybe_parse-4693"><span class="linenos">4693</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;SQL cannot be None&quot;</span><span class="p">)</span>
+</span><span id="maybe_parse-4694"><a href="#maybe_parse-4694"><span class="linenos">4694</span></a>
+</span><span id="maybe_parse-4695"><a href="#maybe_parse-4695"><span class="linenos">4695</span></a> <span class="kn">import</span> <span class="nn">sqlglot</span>
+</span><span id="maybe_parse-4696"><a href="#maybe_parse-4696"><span class="linenos">4696</span></a>
+</span><span id="maybe_parse-4697"><a href="#maybe_parse-4697"><span class="linenos">4697</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="p">)</span>
+</span><span id="maybe_parse-4698"><a href="#maybe_parse-4698"><span class="linenos">4698</span></a> <span class="k">if</span> <span class="n">prefix</span><span class="p">:</span>
+</span><span id="maybe_parse-4699"><a href="#maybe_parse-4699"><span class="linenos">4699</span></a> <span class="n">sql</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">prefix</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span id="maybe_parse-4700"><a href="#maybe_parse-4700"><span class="linenos">4700</span></a>
+</span><span id="maybe_parse-4701"><a href="#maybe_parse-4701"><span class="linenos">4701</span></a> <span class="k">return</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">parse_one</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">into</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
</span></pre></div>
@@ -50132,32 +66254,32 @@ that an input expression is a SQL string).</li>
</div>
<a class="headerlink" href="#union"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="union-4865"><a href="#union-4865"><span class="linenos">4865</span></a><span class="k">def</span> <span class="nf">union</span><span class="p">(</span>
-</span><span id="union-4866"><a href="#union-4866"><span class="linenos">4866</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
-</span><span id="union-4867"><a href="#union-4867"><span class="linenos">4867</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
-</span><span id="union-4868"><a href="#union-4868"><span class="linenos">4868</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="union-4869"><a href="#union-4869"><span class="linenos">4869</span></a><span class="sd"> Initializes a syntax tree from one UNION expression.</span>
-</span><span id="union-4870"><a href="#union-4870"><span class="linenos">4870</span></a>
-</span><span id="union-4871"><a href="#union-4871"><span class="linenos">4871</span></a><span class="sd"> Example:</span>
-</span><span id="union-4872"><a href="#union-4872"><span class="linenos">4872</span></a><span class="sd"> &gt;&gt;&gt; union(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
-</span><span id="union-4873"><a href="#union-4873"><span class="linenos">4873</span></a><span class="sd"> &#39;SELECT * FROM foo UNION SELECT * FROM bla&#39;</span>
-</span><span id="union-4874"><a href="#union-4874"><span class="linenos">4874</span></a>
-</span><span id="union-4875"><a href="#union-4875"><span class="linenos">4875</span></a><span class="sd"> Args:</span>
-</span><span id="union-4876"><a href="#union-4876"><span class="linenos">4876</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
-</span><span id="union-4877"><a href="#union-4877"><span class="linenos">4877</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="union-4878"><a href="#union-4878"><span class="linenos">4878</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
-</span><span id="union-4879"><a href="#union-4879"><span class="linenos">4879</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="union-4880"><a href="#union-4880"><span class="linenos">4880</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
-</span><span id="union-4881"><a href="#union-4881"><span class="linenos">4881</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="union-4882"><a href="#union-4882"><span class="linenos">4882</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="union-4883"><a href="#union-4883"><span class="linenos">4883</span></a>
-</span><span id="union-4884"><a href="#union-4884"><span class="linenos">4884</span></a><span class="sd"> Returns:</span>
-</span><span id="union-4885"><a href="#union-4885"><span class="linenos">4885</span></a><span class="sd"> The new Union instance.</span>
-</span><span id="union-4886"><a href="#union-4886"><span class="linenos">4886</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="union-4887"><a href="#union-4887"><span class="linenos">4887</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="union-4888"><a href="#union-4888"><span class="linenos">4888</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="union-4889"><a href="#union-4889"><span class="linenos">4889</span></a>
-</span><span id="union-4890"><a href="#union-4890"><span class="linenos">4890</span></a> <span class="k">return</span> <span class="n">Union</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="union-4885"><a href="#union-4885"><span class="linenos">4885</span></a><span class="k">def</span> <span class="nf">union</span><span class="p">(</span>
+</span><span id="union-4886"><a href="#union-4886"><span class="linenos">4886</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
+</span><span id="union-4887"><a href="#union-4887"><span class="linenos">4887</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">:</span>
+</span><span id="union-4888"><a href="#union-4888"><span class="linenos">4888</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="union-4889"><a href="#union-4889"><span class="linenos">4889</span></a><span class="sd"> Initializes a syntax tree from one UNION expression.</span>
+</span><span id="union-4890"><a href="#union-4890"><span class="linenos">4890</span></a>
+</span><span id="union-4891"><a href="#union-4891"><span class="linenos">4891</span></a><span class="sd"> Example:</span>
+</span><span id="union-4892"><a href="#union-4892"><span class="linenos">4892</span></a><span class="sd"> &gt;&gt;&gt; union(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
+</span><span id="union-4893"><a href="#union-4893"><span class="linenos">4893</span></a><span class="sd"> &#39;SELECT * FROM foo UNION SELECT * FROM bla&#39;</span>
+</span><span id="union-4894"><a href="#union-4894"><span class="linenos">4894</span></a>
+</span><span id="union-4895"><a href="#union-4895"><span class="linenos">4895</span></a><span class="sd"> Args:</span>
+</span><span id="union-4896"><a href="#union-4896"><span class="linenos">4896</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
+</span><span id="union-4897"><a href="#union-4897"><span class="linenos">4897</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="union-4898"><a href="#union-4898"><span class="linenos">4898</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
+</span><span id="union-4899"><a href="#union-4899"><span class="linenos">4899</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="union-4900"><a href="#union-4900"><span class="linenos">4900</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
+</span><span id="union-4901"><a href="#union-4901"><span class="linenos">4901</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="union-4902"><a href="#union-4902"><span class="linenos">4902</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="union-4903"><a href="#union-4903"><span class="linenos">4903</span></a>
+</span><span id="union-4904"><a href="#union-4904"><span class="linenos">4904</span></a><span class="sd"> Returns:</span>
+</span><span id="union-4905"><a href="#union-4905"><span class="linenos">4905</span></a><span class="sd"> The new Union instance.</span>
+</span><span id="union-4906"><a href="#union-4906"><span class="linenos">4906</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="union-4907"><a href="#union-4907"><span class="linenos">4907</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="union-4908"><a href="#union-4908"><span class="linenos">4908</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="union-4909"><a href="#union-4909"><span class="linenos">4909</span></a>
+</span><span id="union-4910"><a href="#union-4910"><span class="linenos">4910</span></a> <span class="k">return</span> <span class="n">Union</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
</span></pre></div>
@@ -50205,32 +66327,32 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#intersect"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="intersect-4893"><a href="#intersect-4893"><span class="linenos">4893</span></a><span class="k">def</span> <span class="nf">intersect</span><span class="p">(</span>
-</span><span id="intersect-4894"><a href="#intersect-4894"><span class="linenos">4894</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
-</span><span id="intersect-4895"><a href="#intersect-4895"><span class="linenos">4895</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Intersect</span><span class="p">:</span>
-</span><span id="intersect-4896"><a href="#intersect-4896"><span class="linenos">4896</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="intersect-4897"><a href="#intersect-4897"><span class="linenos">4897</span></a><span class="sd"> Initializes a syntax tree from one INTERSECT expression.</span>
-</span><span id="intersect-4898"><a href="#intersect-4898"><span class="linenos">4898</span></a>
-</span><span id="intersect-4899"><a href="#intersect-4899"><span class="linenos">4899</span></a><span class="sd"> Example:</span>
-</span><span id="intersect-4900"><a href="#intersect-4900"><span class="linenos">4900</span></a><span class="sd"> &gt;&gt;&gt; intersect(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
-</span><span id="intersect-4901"><a href="#intersect-4901"><span class="linenos">4901</span></a><span class="sd"> &#39;SELECT * FROM foo INTERSECT SELECT * FROM bla&#39;</span>
-</span><span id="intersect-4902"><a href="#intersect-4902"><span class="linenos">4902</span></a>
-</span><span id="intersect-4903"><a href="#intersect-4903"><span class="linenos">4903</span></a><span class="sd"> Args:</span>
-</span><span id="intersect-4904"><a href="#intersect-4904"><span class="linenos">4904</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
-</span><span id="intersect-4905"><a href="#intersect-4905"><span class="linenos">4905</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="intersect-4906"><a href="#intersect-4906"><span class="linenos">4906</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
-</span><span id="intersect-4907"><a href="#intersect-4907"><span class="linenos">4907</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="intersect-4908"><a href="#intersect-4908"><span class="linenos">4908</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
-</span><span id="intersect-4909"><a href="#intersect-4909"><span class="linenos">4909</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="intersect-4910"><a href="#intersect-4910"><span class="linenos">4910</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="intersect-4911"><a href="#intersect-4911"><span class="linenos">4911</span></a>
-</span><span id="intersect-4912"><a href="#intersect-4912"><span class="linenos">4912</span></a><span class="sd"> Returns:</span>
-</span><span id="intersect-4913"><a href="#intersect-4913"><span class="linenos">4913</span></a><span class="sd"> The new Intersect instance.</span>
-</span><span id="intersect-4914"><a href="#intersect-4914"><span class="linenos">4914</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="intersect-4915"><a href="#intersect-4915"><span class="linenos">4915</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="intersect-4916"><a href="#intersect-4916"><span class="linenos">4916</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="intersect-4917"><a href="#intersect-4917"><span class="linenos">4917</span></a>
-</span><span id="intersect-4918"><a href="#intersect-4918"><span class="linenos">4918</span></a> <span class="k">return</span> <span class="n">Intersect</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="intersect-4913"><a href="#intersect-4913"><span class="linenos">4913</span></a><span class="k">def</span> <span class="nf">intersect</span><span class="p">(</span>
+</span><span id="intersect-4914"><a href="#intersect-4914"><span class="linenos">4914</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
+</span><span id="intersect-4915"><a href="#intersect-4915"><span class="linenos">4915</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Intersect</span><span class="p">:</span>
+</span><span id="intersect-4916"><a href="#intersect-4916"><span class="linenos">4916</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="intersect-4917"><a href="#intersect-4917"><span class="linenos">4917</span></a><span class="sd"> Initializes a syntax tree from one INTERSECT expression.</span>
+</span><span id="intersect-4918"><a href="#intersect-4918"><span class="linenos">4918</span></a>
+</span><span id="intersect-4919"><a href="#intersect-4919"><span class="linenos">4919</span></a><span class="sd"> Example:</span>
+</span><span id="intersect-4920"><a href="#intersect-4920"><span class="linenos">4920</span></a><span class="sd"> &gt;&gt;&gt; intersect(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
+</span><span id="intersect-4921"><a href="#intersect-4921"><span class="linenos">4921</span></a><span class="sd"> &#39;SELECT * FROM foo INTERSECT SELECT * FROM bla&#39;</span>
+</span><span id="intersect-4922"><a href="#intersect-4922"><span class="linenos">4922</span></a>
+</span><span id="intersect-4923"><a href="#intersect-4923"><span class="linenos">4923</span></a><span class="sd"> Args:</span>
+</span><span id="intersect-4924"><a href="#intersect-4924"><span class="linenos">4924</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
+</span><span id="intersect-4925"><a href="#intersect-4925"><span class="linenos">4925</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="intersect-4926"><a href="#intersect-4926"><span class="linenos">4926</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
+</span><span id="intersect-4927"><a href="#intersect-4927"><span class="linenos">4927</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="intersect-4928"><a href="#intersect-4928"><span class="linenos">4928</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
+</span><span id="intersect-4929"><a href="#intersect-4929"><span class="linenos">4929</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="intersect-4930"><a href="#intersect-4930"><span class="linenos">4930</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="intersect-4931"><a href="#intersect-4931"><span class="linenos">4931</span></a>
+</span><span id="intersect-4932"><a href="#intersect-4932"><span class="linenos">4932</span></a><span class="sd"> Returns:</span>
+</span><span id="intersect-4933"><a href="#intersect-4933"><span class="linenos">4933</span></a><span class="sd"> The new Intersect instance.</span>
+</span><span id="intersect-4934"><a href="#intersect-4934"><span class="linenos">4934</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="intersect-4935"><a href="#intersect-4935"><span class="linenos">4935</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="intersect-4936"><a href="#intersect-4936"><span class="linenos">4936</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="intersect-4937"><a href="#intersect-4937"><span class="linenos">4937</span></a>
+</span><span id="intersect-4938"><a href="#intersect-4938"><span class="linenos">4938</span></a> <span class="k">return</span> <span class="n">Intersect</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
</span></pre></div>
@@ -50278,32 +66400,32 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#except_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="except_-4921"><a href="#except_-4921"><span class="linenos">4921</span></a><span class="k">def</span> <span class="nf">except_</span><span class="p">(</span>
-</span><span id="except_-4922"><a href="#except_-4922"><span class="linenos">4922</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
-</span><span id="except_-4923"><a href="#except_-4923"><span class="linenos">4923</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Except</span><span class="p">:</span>
-</span><span id="except_-4924"><a href="#except_-4924"><span class="linenos">4924</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="except_-4925"><a href="#except_-4925"><span class="linenos">4925</span></a><span class="sd"> Initializes a syntax tree from one EXCEPT expression.</span>
-</span><span id="except_-4926"><a href="#except_-4926"><span class="linenos">4926</span></a>
-</span><span id="except_-4927"><a href="#except_-4927"><span class="linenos">4927</span></a><span class="sd"> Example:</span>
-</span><span id="except_-4928"><a href="#except_-4928"><span class="linenos">4928</span></a><span class="sd"> &gt;&gt;&gt; except_(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
-</span><span id="except_-4929"><a href="#except_-4929"><span class="linenos">4929</span></a><span class="sd"> &#39;SELECT * FROM foo EXCEPT SELECT * FROM bla&#39;</span>
-</span><span id="except_-4930"><a href="#except_-4930"><span class="linenos">4930</span></a>
-</span><span id="except_-4931"><a href="#except_-4931"><span class="linenos">4931</span></a><span class="sd"> Args:</span>
-</span><span id="except_-4932"><a href="#except_-4932"><span class="linenos">4932</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
-</span><span id="except_-4933"><a href="#except_-4933"><span class="linenos">4933</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="except_-4934"><a href="#except_-4934"><span class="linenos">4934</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
-</span><span id="except_-4935"><a href="#except_-4935"><span class="linenos">4935</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
-</span><span id="except_-4936"><a href="#except_-4936"><span class="linenos">4936</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
-</span><span id="except_-4937"><a href="#except_-4937"><span class="linenos">4937</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="except_-4938"><a href="#except_-4938"><span class="linenos">4938</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
-</span><span id="except_-4939"><a href="#except_-4939"><span class="linenos">4939</span></a>
-</span><span id="except_-4940"><a href="#except_-4940"><span class="linenos">4940</span></a><span class="sd"> Returns:</span>
-</span><span id="except_-4941"><a href="#except_-4941"><span class="linenos">4941</span></a><span class="sd"> The new Except instance.</span>
-</span><span id="except_-4942"><a href="#except_-4942"><span class="linenos">4942</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="except_-4943"><a href="#except_-4943"><span class="linenos">4943</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="except_-4944"><a href="#except_-4944"><span class="linenos">4944</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="except_-4945"><a href="#except_-4945"><span class="linenos">4945</span></a>
-</span><span id="except_-4946"><a href="#except_-4946"><span class="linenos">4946</span></a> <span class="k">return</span> <span class="n">Except</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="except_-4941"><a href="#except_-4941"><span class="linenos">4941</span></a><span class="k">def</span> <span class="nf">except_</span><span class="p">(</span>
+</span><span id="except_-4942"><a href="#except_-4942"><span class="linenos">4942</span></a> <span class="n">left</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">right</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">distinct</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">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 class="o">**</span><span class="n">opts</span>
+</span><span id="except_-4943"><a href="#except_-4943"><span class="linenos">4943</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Except</span><span class="p">:</span>
+</span><span id="except_-4944"><a href="#except_-4944"><span class="linenos">4944</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="except_-4945"><a href="#except_-4945"><span class="linenos">4945</span></a><span class="sd"> Initializes a syntax tree from one EXCEPT expression.</span>
+</span><span id="except_-4946"><a href="#except_-4946"><span class="linenos">4946</span></a>
+</span><span id="except_-4947"><a href="#except_-4947"><span class="linenos">4947</span></a><span class="sd"> Example:</span>
+</span><span id="except_-4948"><a href="#except_-4948"><span class="linenos">4948</span></a><span class="sd"> &gt;&gt;&gt; except_(&quot;SELECT * FROM foo&quot;, &quot;SELECT * FROM bla&quot;).sql()</span>
+</span><span id="except_-4949"><a href="#except_-4949"><span class="linenos">4949</span></a><span class="sd"> &#39;SELECT * FROM foo EXCEPT SELECT * FROM bla&#39;</span>
+</span><span id="except_-4950"><a href="#except_-4950"><span class="linenos">4950</span></a>
+</span><span id="except_-4951"><a href="#except_-4951"><span class="linenos">4951</span></a><span class="sd"> Args:</span>
+</span><span id="except_-4952"><a href="#except_-4952"><span class="linenos">4952</span></a><span class="sd"> left: the SQL code string corresponding to the left-hand side.</span>
+</span><span id="except_-4953"><a href="#except_-4953"><span class="linenos">4953</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="except_-4954"><a href="#except_-4954"><span class="linenos">4954</span></a><span class="sd"> right: the SQL code string corresponding to the right-hand side.</span>
+</span><span id="except_-4955"><a href="#except_-4955"><span class="linenos">4955</span></a><span class="sd"> If an `Expression` instance is passed, it will be used as-is.</span>
+</span><span id="except_-4956"><a href="#except_-4956"><span class="linenos">4956</span></a><span class="sd"> distinct: set the DISTINCT flag if and only if this is true.</span>
+</span><span id="except_-4957"><a href="#except_-4957"><span class="linenos">4957</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="except_-4958"><a href="#except_-4958"><span class="linenos">4958</span></a><span class="sd"> opts: other options to use to parse the input expressions.</span>
+</span><span id="except_-4959"><a href="#except_-4959"><span class="linenos">4959</span></a>
+</span><span id="except_-4960"><a href="#except_-4960"><span class="linenos">4960</span></a><span class="sd"> Returns:</span>
+</span><span id="except_-4961"><a href="#except_-4961"><span class="linenos">4961</span></a><span class="sd"> The new Except instance.</span>
+</span><span id="except_-4962"><a href="#except_-4962"><span class="linenos">4962</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="except_-4963"><a href="#except_-4963"><span class="linenos">4963</span></a> <span class="n">left</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">left</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="except_-4964"><a href="#except_-4964"><span class="linenos">4964</span></a> <span class="n">right</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_or_expression</span><span class="o">=</span><span class="n">right</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="except_-4965"><a href="#except_-4965"><span class="linenos">4965</span></a>
+</span><span id="except_-4966"><a href="#except_-4966"><span class="linenos">4966</span></a> <span class="k">return</span> <span class="n">Except</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">left</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">right</span><span class="p">,</span> <span class="n">distinct</span><span class="o">=</span><span class="n">distinct</span><span class="p">)</span>
</span></pre></div>
@@ -50351,26 +66473,26 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
</div>
<a class="headerlink" href="#select"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="select-4949"><a href="#select-4949"><span class="linenos">4949</span></a><span class="k">def</span> <span class="nf">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="select-4950"><a href="#select-4950"><span class="linenos">4950</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="select-4951"><a href="#select-4951"><span class="linenos">4951</span></a><span class="sd"> Initializes a syntax tree from one or multiple SELECT expressions.</span>
-</span><span id="select-4952"><a href="#select-4952"><span class="linenos">4952</span></a>
-</span><span id="select-4953"><a href="#select-4953"><span class="linenos">4953</span></a><span class="sd"> Example:</span>
-</span><span id="select-4954"><a href="#select-4954"><span class="linenos">4954</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;col1&quot;, &quot;col2&quot;).from_(&quot;tbl&quot;).sql()</span>
-</span><span id="select-4955"><a href="#select-4955"><span class="linenos">4955</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
-</span><span id="select-4956"><a href="#select-4956"><span class="linenos">4956</span></a>
-</span><span id="select-4957"><a href="#select-4957"><span class="linenos">4957</span></a><span class="sd"> Args:</span>
-</span><span id="select-4958"><a href="#select-4958"><span class="linenos">4958</span></a><span class="sd"> *expressions: the SQL code string to parse as the expressions of a</span>
-</span><span id="select-4959"><a href="#select-4959"><span class="linenos">4959</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
-</span><span id="select-4960"><a href="#select-4960"><span class="linenos">4960</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
-</span><span id="select-4961"><a href="#select-4961"><span class="linenos">4961</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="select-4962"><a href="#select-4962"><span class="linenos">4962</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="select-4963"><a href="#select-4963"><span class="linenos">4963</span></a><span class="sd"> that an input expression is a SQL string).</span>
-</span><span id="select-4964"><a href="#select-4964"><span class="linenos">4964</span></a>
-</span><span id="select-4965"><a href="#select-4965"><span class="linenos">4965</span></a><span class="sd"> Returns:</span>
-</span><span id="select-4966"><a href="#select-4966"><span class="linenos">4966</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
-</span><span id="select-4967"><a href="#select-4967"><span class="linenos">4967</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="select-4968"><a href="#select-4968"><span class="linenos">4968</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="select-4969"><a href="#select-4969"><span class="linenos">4969</span></a><span class="k">def</span> <span class="nf">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="select-4970"><a href="#select-4970"><span class="linenos">4970</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="select-4971"><a href="#select-4971"><span class="linenos">4971</span></a><span class="sd"> Initializes a syntax tree from one or multiple SELECT expressions.</span>
+</span><span id="select-4972"><a href="#select-4972"><span class="linenos">4972</span></a>
+</span><span id="select-4973"><a href="#select-4973"><span class="linenos">4973</span></a><span class="sd"> Example:</span>
+</span><span id="select-4974"><a href="#select-4974"><span class="linenos">4974</span></a><span class="sd"> &gt;&gt;&gt; select(&quot;col1&quot;, &quot;col2&quot;).from_(&quot;tbl&quot;).sql()</span>
+</span><span id="select-4975"><a href="#select-4975"><span class="linenos">4975</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
+</span><span id="select-4976"><a href="#select-4976"><span class="linenos">4976</span></a>
+</span><span id="select-4977"><a href="#select-4977"><span class="linenos">4977</span></a><span class="sd"> Args:</span>
+</span><span id="select-4978"><a href="#select-4978"><span class="linenos">4978</span></a><span class="sd"> *expressions: the SQL code string to parse as the expressions of a</span>
+</span><span id="select-4979"><a href="#select-4979"><span class="linenos">4979</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
+</span><span id="select-4980"><a href="#select-4980"><span class="linenos">4980</span></a><span class="sd"> dialect: the dialect used to parse the input expressions (in the case that an</span>
+</span><span id="select-4981"><a href="#select-4981"><span class="linenos">4981</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="select-4982"><a href="#select-4982"><span class="linenos">4982</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="select-4983"><a href="#select-4983"><span class="linenos">4983</span></a><span class="sd"> that an input expression is a SQL string).</span>
+</span><span id="select-4984"><a href="#select-4984"><span class="linenos">4984</span></a>
+</span><span id="select-4985"><a href="#select-4985"><span class="linenos">4985</span></a><span class="sd"> Returns:</span>
+</span><span id="select-4986"><a href="#select-4986"><span class="linenos">4986</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
+</span><span id="select-4987"><a href="#select-4987"><span class="linenos">4987</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="select-4988"><a href="#select-4988"><span class="linenos">4988</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="o">*</span><span class="n">expressions</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="o">**</span><span class="n">opts</span><span class="p">)</span>
</span></pre></div>
@@ -50417,26 +66539,26 @@ that an input expression is a SQL string).</li>
</div>
<a class="headerlink" href="#from_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="from_-4971"><a href="#from_-4971"><span class="linenos">4971</span></a><span class="k">def</span> <span class="nf">from_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="from_-4972"><a href="#from_-4972"><span class="linenos">4972</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="from_-4973"><a href="#from_-4973"><span class="linenos">4973</span></a><span class="sd"> Initializes a syntax tree from a FROM expression.</span>
-</span><span id="from_-4974"><a href="#from_-4974"><span class="linenos">4974</span></a>
-</span><span id="from_-4975"><a href="#from_-4975"><span class="linenos">4975</span></a><span class="sd"> Example:</span>
-</span><span id="from_-4976"><a href="#from_-4976"><span class="linenos">4976</span></a><span class="sd"> &gt;&gt;&gt; from_(&quot;tbl&quot;).select(&quot;col1&quot;, &quot;col2&quot;).sql()</span>
-</span><span id="from_-4977"><a href="#from_-4977"><span class="linenos">4977</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
-</span><span id="from_-4978"><a href="#from_-4978"><span class="linenos">4978</span></a>
-</span><span id="from_-4979"><a href="#from_-4979"><span class="linenos">4979</span></a><span class="sd"> Args:</span>
-</span><span id="from_-4980"><a href="#from_-4980"><span class="linenos">4980</span></a><span class="sd"> *expression: the SQL code string to parse as the FROM expressions of a</span>
-</span><span id="from_-4981"><a href="#from_-4981"><span class="linenos">4981</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
-</span><span id="from_-4982"><a href="#from_-4982"><span class="linenos">4982</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
-</span><span id="from_-4983"><a href="#from_-4983"><span class="linenos">4983</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="from_-4984"><a href="#from_-4984"><span class="linenos">4984</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="from_-4985"><a href="#from_-4985"><span class="linenos">4985</span></a><span class="sd"> that the input expression is a SQL string).</span>
-</span><span id="from_-4986"><a href="#from_-4986"><span class="linenos">4986</span></a>
-</span><span id="from_-4987"><a href="#from_-4987"><span class="linenos">4987</span></a><span class="sd"> Returns:</span>
-</span><span id="from_-4988"><a href="#from_-4988"><span class="linenos">4988</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
-</span><span id="from_-4989"><a href="#from_-4989"><span class="linenos">4989</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="from_-4990"><a href="#from_-4990"><span class="linenos">4990</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="from_-4991"><a href="#from_-4991"><span class="linenos">4991</span></a><span class="k">def</span> <span class="nf">from_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="from_-4992"><a href="#from_-4992"><span class="linenos">4992</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="from_-4993"><a href="#from_-4993"><span class="linenos">4993</span></a><span class="sd"> Initializes a syntax tree from a FROM expression.</span>
+</span><span id="from_-4994"><a href="#from_-4994"><span class="linenos">4994</span></a>
+</span><span id="from_-4995"><a href="#from_-4995"><span class="linenos">4995</span></a><span class="sd"> Example:</span>
+</span><span id="from_-4996"><a href="#from_-4996"><span class="linenos">4996</span></a><span class="sd"> &gt;&gt;&gt; from_(&quot;tbl&quot;).select(&quot;col1&quot;, &quot;col2&quot;).sql()</span>
+</span><span id="from_-4997"><a href="#from_-4997"><span class="linenos">4997</span></a><span class="sd"> &#39;SELECT col1, col2 FROM tbl&#39;</span>
+</span><span id="from_-4998"><a href="#from_-4998"><span class="linenos">4998</span></a>
+</span><span id="from_-4999"><a href="#from_-4999"><span class="linenos">4999</span></a><span class="sd"> Args:</span>
+</span><span id="from_-5000"><a href="#from_-5000"><span class="linenos">5000</span></a><span class="sd"> *expression: the SQL code string to parse as the FROM expressions of a</span>
+</span><span id="from_-5001"><a href="#from_-5001"><span class="linenos">5001</span></a><span class="sd"> SELECT statement. If an Expression instance is passed, this is used as-is.</span>
+</span><span id="from_-5002"><a href="#from_-5002"><span class="linenos">5002</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
+</span><span id="from_-5003"><a href="#from_-5003"><span class="linenos">5003</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="from_-5004"><a href="#from_-5004"><span class="linenos">5004</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="from_-5005"><a href="#from_-5005"><span class="linenos">5005</span></a><span class="sd"> that the input expression is a SQL string).</span>
+</span><span id="from_-5006"><a href="#from_-5006"><span class="linenos">5006</span></a>
+</span><span id="from_-5007"><a href="#from_-5007"><span class="linenos">5007</span></a><span class="sd"> Returns:</span>
+</span><span id="from_-5008"><a href="#from_-5008"><span class="linenos">5008</span></a><span class="sd"> Select: the syntax tree for the SELECT statement.</span>
+</span><span id="from_-5009"><a href="#from_-5009"><span class="linenos">5009</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="from_-5010"><a href="#from_-5010"><span class="linenos">5010</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
</span></pre></div>
@@ -50483,53 +66605,53 @@ that the input expression is a SQL string).</li>
</div>
<a class="headerlink" href="#update"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="update-4993"><a href="#update-4993"><span class="linenos">4993</span></a><span class="k">def</span> <span class="nf">update</span><span class="p">(</span>
-</span><span id="update-4994"><a href="#update-4994"><span class="linenos">4994</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span>
-</span><span id="update-4995"><a href="#update-4995"><span class="linenos">4995</span></a> <span class="n">properties</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span>
-</span><span id="update-4996"><a href="#update-4996"><span class="linenos">4996</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="update-4997"><a href="#update-4997"><span class="linenos">4997</span></a> <span class="n">from_</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="update-4998"><a href="#update-4998"><span class="linenos">4998</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="update-4999"><a href="#update-4999"><span class="linenos">4999</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="update-5000"><a href="#update-5000"><span class="linenos">5000</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Update</span><span class="p">:</span>
-</span><span id="update-5001"><a href="#update-5001"><span class="linenos">5001</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="update-5002"><a href="#update-5002"><span class="linenos">5002</span></a><span class="sd"> Creates an update statement.</span>
-</span><span id="update-5003"><a href="#update-5003"><span class="linenos">5003</span></a>
-</span><span id="update-5004"><a href="#update-5004"><span class="linenos">5004</span></a><span class="sd"> Example:</span>
-</span><span id="update-5005"><a href="#update-5005"><span class="linenos">5005</span></a><span class="sd"> &gt;&gt;&gt; update(&quot;my_table&quot;, {&quot;x&quot;: 1, &quot;y&quot;: &quot;2&quot;, &quot;z&quot;: None}, from_=&quot;baz&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
-</span><span id="update-5006"><a href="#update-5006"><span class="linenos">5006</span></a><span class="sd"> &quot;UPDATE my_table SET x = 1, y = &#39;2&#39;, z = NULL FROM baz WHERE id &gt; 1&quot;</span>
-</span><span id="update-5007"><a href="#update-5007"><span class="linenos">5007</span></a>
-</span><span id="update-5008"><a href="#update-5008"><span class="linenos">5008</span></a><span class="sd"> Args:</span>
-</span><span id="update-5009"><a href="#update-5009"><span class="linenos">5009</span></a><span class="sd"> *properties: dictionary of properties to set which are</span>
-</span><span id="update-5010"><a href="#update-5010"><span class="linenos">5010</span></a><span class="sd"> auto converted to sql objects eg None -&gt; NULL</span>
-</span><span id="update-5011"><a href="#update-5011"><span class="linenos">5011</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
-</span><span id="update-5012"><a href="#update-5012"><span class="linenos">5012</span></a><span class="sd"> from_: sql statement parsed into a FROM statement</span>
-</span><span id="update-5013"><a href="#update-5013"><span class="linenos">5013</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="update-5014"><a href="#update-5014"><span class="linenos">5014</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="update-5015"><a href="#update-5015"><span class="linenos">5015</span></a>
-</span><span id="update-5016"><a href="#update-5016"><span class="linenos">5016</span></a><span class="sd"> Returns:</span>
-</span><span id="update-5017"><a href="#update-5017"><span class="linenos">5017</span></a><span class="sd"> Update: the syntax tree for the UPDATE statement.</span>
-</span><span id="update-5018"><a href="#update-5018"><span class="linenos">5018</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="update-5019"><a href="#update-5019"><span class="linenos">5019</span></a> <span class="n">update_expr</span> <span class="o">=</span> <span class="n">Update</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="update-5020"><a href="#update-5020"><span class="linenos">5020</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="update-5021"><a href="#update-5021"><span class="linenos">5021</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="update-5022"><a href="#update-5022"><span class="linenos">5022</span></a> <span class="p">[</span>
-</span><span id="update-5023"><a href="#update-5023"><span class="linenos">5023</span></a> <span class="n">EQ</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">k</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="o">**</span><span class="n">opts</span><span class="p">),</span> <span class="n">expression</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">))</span>
-</span><span id="update-5024"><a href="#update-5024"><span class="linenos">5024</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">properties</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
-</span><span id="update-5025"><a href="#update-5025"><span class="linenos">5025</span></a> <span class="p">],</span>
-</span><span id="update-5026"><a href="#update-5026"><span class="linenos">5026</span></a> <span class="p">)</span>
-</span><span id="update-5027"><a href="#update-5027"><span class="linenos">5027</span></a> <span class="k">if</span> <span class="n">from_</span><span class="p">:</span>
-</span><span id="update-5028"><a href="#update-5028"><span class="linenos">5028</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="update-5029"><a href="#update-5029"><span class="linenos">5029</span></a> <span class="s2">&quot;from&quot;</span><span class="p">,</span>
-</span><span id="update-5030"><a href="#update-5030"><span class="linenos">5030</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">from_</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">From</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">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="update-5031"><a href="#update-5031"><span class="linenos">5031</span></a> <span class="p">)</span>
-</span><span id="update-5032"><a href="#update-5032"><span class="linenos">5032</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">Condition</span><span class="p">):</span>
-</span><span id="update-5033"><a href="#update-5033"><span class="linenos">5033</span></a> <span class="n">where</span> <span class="o">=</span> <span class="n">Where</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">where</span><span class="p">)</span>
-</span><span id="update-5034"><a href="#update-5034"><span class="linenos">5034</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
-</span><span id="update-5035"><a href="#update-5035"><span class="linenos">5035</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-</span><span id="update-5036"><a href="#update-5036"><span class="linenos">5036</span></a> <span class="s2">&quot;where&quot;</span><span class="p">,</span>
-</span><span id="update-5037"><a href="#update-5037"><span class="linenos">5037</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Where</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">prefix</span><span class="o">=</span><span class="s2">&quot;WHERE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
-</span><span id="update-5038"><a href="#update-5038"><span class="linenos">5038</span></a> <span class="p">)</span>
-</span><span id="update-5039"><a href="#update-5039"><span class="linenos">5039</span></a> <span class="k">return</span> <span class="n">update_expr</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="update-5013"><a href="#update-5013"><span class="linenos">5013</span></a><span class="k">def</span> <span class="nf">update</span><span class="p">(</span>
+</span><span id="update-5014"><a href="#update-5014"><span class="linenos">5014</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span>
+</span><span id="update-5015"><a href="#update-5015"><span class="linenos">5015</span></a> <span class="n">properties</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span>
+</span><span id="update-5016"><a href="#update-5016"><span class="linenos">5016</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="update-5017"><a href="#update-5017"><span class="linenos">5017</span></a> <span class="n">from_</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="update-5018"><a href="#update-5018"><span class="linenos">5018</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="update-5019"><a href="#update-5019"><span class="linenos">5019</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="update-5020"><a href="#update-5020"><span class="linenos">5020</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Update</span><span class="p">:</span>
+</span><span id="update-5021"><a href="#update-5021"><span class="linenos">5021</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="update-5022"><a href="#update-5022"><span class="linenos">5022</span></a><span class="sd"> Creates an update statement.</span>
+</span><span id="update-5023"><a href="#update-5023"><span class="linenos">5023</span></a>
+</span><span id="update-5024"><a href="#update-5024"><span class="linenos">5024</span></a><span class="sd"> Example:</span>
+</span><span id="update-5025"><a href="#update-5025"><span class="linenos">5025</span></a><span class="sd"> &gt;&gt;&gt; update(&quot;my_table&quot;, {&quot;x&quot;: 1, &quot;y&quot;: &quot;2&quot;, &quot;z&quot;: None}, from_=&quot;baz&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
+</span><span id="update-5026"><a href="#update-5026"><span class="linenos">5026</span></a><span class="sd"> &quot;UPDATE my_table SET x = 1, y = &#39;2&#39;, z = NULL FROM baz WHERE id &gt; 1&quot;</span>
+</span><span id="update-5027"><a href="#update-5027"><span class="linenos">5027</span></a>
+</span><span id="update-5028"><a href="#update-5028"><span class="linenos">5028</span></a><span class="sd"> Args:</span>
+</span><span id="update-5029"><a href="#update-5029"><span class="linenos">5029</span></a><span class="sd"> *properties: dictionary of properties to set which are</span>
+</span><span id="update-5030"><a href="#update-5030"><span class="linenos">5030</span></a><span class="sd"> auto converted to sql objects eg None -&gt; NULL</span>
+</span><span id="update-5031"><a href="#update-5031"><span class="linenos">5031</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
+</span><span id="update-5032"><a href="#update-5032"><span class="linenos">5032</span></a><span class="sd"> from_: sql statement parsed into a FROM statement</span>
+</span><span id="update-5033"><a href="#update-5033"><span class="linenos">5033</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="update-5034"><a href="#update-5034"><span class="linenos">5034</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="update-5035"><a href="#update-5035"><span class="linenos">5035</span></a>
+</span><span id="update-5036"><a href="#update-5036"><span class="linenos">5036</span></a><span class="sd"> Returns:</span>
+</span><span id="update-5037"><a href="#update-5037"><span class="linenos">5037</span></a><span class="sd"> Update: the syntax tree for the UPDATE statement.</span>
+</span><span id="update-5038"><a href="#update-5038"><span class="linenos">5038</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="update-5039"><a href="#update-5039"><span class="linenos">5039</span></a> <span class="n">update_expr</span> <span class="o">=</span> <span class="n">Update</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="update-5040"><a href="#update-5040"><span class="linenos">5040</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="update-5041"><a href="#update-5041"><span class="linenos">5041</span></a> <span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="update-5042"><a href="#update-5042"><span class="linenos">5042</span></a> <span class="p">[</span>
+</span><span id="update-5043"><a href="#update-5043"><span class="linenos">5043</span></a> <span class="n">EQ</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">k</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="o">**</span><span class="n">opts</span><span class="p">),</span> <span class="n">expression</span><span class="o">=</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">))</span>
+</span><span id="update-5044"><a href="#update-5044"><span class="linenos">5044</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">properties</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
+</span><span id="update-5045"><a href="#update-5045"><span class="linenos">5045</span></a> <span class="p">],</span>
+</span><span id="update-5046"><a href="#update-5046"><span class="linenos">5046</span></a> <span class="p">)</span>
+</span><span id="update-5047"><a href="#update-5047"><span class="linenos">5047</span></a> <span class="k">if</span> <span class="n">from_</span><span class="p">:</span>
+</span><span id="update-5048"><a href="#update-5048"><span class="linenos">5048</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="update-5049"><a href="#update-5049"><span class="linenos">5049</span></a> <span class="s2">&quot;from&quot;</span><span class="p">,</span>
+</span><span id="update-5050"><a href="#update-5050"><span class="linenos">5050</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">from_</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">From</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">prefix</span><span class="o">=</span><span class="s2">&quot;FROM&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="update-5051"><a href="#update-5051"><span class="linenos">5051</span></a> <span class="p">)</span>
+</span><span id="update-5052"><a href="#update-5052"><span class="linenos">5052</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">Condition</span><span class="p">):</span>
+</span><span id="update-5053"><a href="#update-5053"><span class="linenos">5053</span></a> <span class="n">where</span> <span class="o">=</span> <span class="n">Where</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">where</span><span class="p">)</span>
+</span><span id="update-5054"><a href="#update-5054"><span class="linenos">5054</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
+</span><span id="update-5055"><a href="#update-5055"><span class="linenos">5055</span></a> <span class="n">update_expr</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+</span><span id="update-5056"><a href="#update-5056"><span class="linenos">5056</span></a> <span class="s2">&quot;where&quot;</span><span class="p">,</span>
+</span><span id="update-5057"><a href="#update-5057"><span class="linenos">5057</span></a> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">where</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Where</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">prefix</span><span class="o">=</span><span class="s2">&quot;WHERE&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">),</span>
+</span><span id="update-5058"><a href="#update-5058"><span class="linenos">5058</span></a> <span class="p">)</span>
+</span><span id="update-5059"><a href="#update-5059"><span class="linenos">5059</span></a> <span class="k">return</span> <span class="n">update_expr</span>
</span></pre></div>
@@ -50576,35 +66698,35 @@ auto converted to sql objects eg None -> NULL</li>
</div>
<a class="headerlink" href="#delete"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="delete-5042"><a href="#delete-5042"><span class="linenos">5042</span></a><span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
-</span><span id="delete-5043"><a href="#delete-5043"><span class="linenos">5043</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="delete-5044"><a href="#delete-5044"><span class="linenos">5044</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="delete-5045"><a href="#delete-5045"><span class="linenos">5045</span></a> <span class="n">returning</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="delete-5046"><a href="#delete-5046"><span class="linenos">5046</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="delete-5047"><a href="#delete-5047"><span class="linenos">5047</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="delete-5048"><a href="#delete-5048"><span class="linenos">5048</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
-</span><span id="delete-5049"><a href="#delete-5049"><span class="linenos">5049</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="delete-5050"><a href="#delete-5050"><span class="linenos">5050</span></a><span class="sd"> Builds a delete statement.</span>
-</span><span id="delete-5051"><a href="#delete-5051"><span class="linenos">5051</span></a>
-</span><span id="delete-5052"><a href="#delete-5052"><span class="linenos">5052</span></a><span class="sd"> Example:</span>
-</span><span id="delete-5053"><a href="#delete-5053"><span class="linenos">5053</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;my_table&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
-</span><span id="delete-5054"><a href="#delete-5054"><span class="linenos">5054</span></a><span class="sd"> &#39;DELETE FROM my_table WHERE id &gt; 1&#39;</span>
-</span><span id="delete-5055"><a href="#delete-5055"><span class="linenos">5055</span></a>
-</span><span id="delete-5056"><a href="#delete-5056"><span class="linenos">5056</span></a><span class="sd"> Args:</span>
-</span><span id="delete-5057"><a href="#delete-5057"><span class="linenos">5057</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
-</span><span id="delete-5058"><a href="#delete-5058"><span class="linenos">5058</span></a><span class="sd"> returning: sql conditional parsed into a RETURNING statement</span>
-</span><span id="delete-5059"><a href="#delete-5059"><span class="linenos">5059</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="delete-5060"><a href="#delete-5060"><span class="linenos">5060</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="delete-5061"><a href="#delete-5061"><span class="linenos">5061</span></a>
-</span><span id="delete-5062"><a href="#delete-5062"><span class="linenos">5062</span></a><span class="sd"> Returns:</span>
-</span><span id="delete-5063"><a href="#delete-5063"><span class="linenos">5063</span></a><span class="sd"> Delete: the syntax tree for the DELETE statement.</span>
-</span><span id="delete-5064"><a href="#delete-5064"><span class="linenos">5064</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="delete-5065"><a href="#delete-5065"><span class="linenos">5065</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">Delete</span><span class="p">()</span><span class="o">.</span><span class="n">delete</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="delete-5066"><a href="#delete-5066"><span class="linenos">5066</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
-</span><span id="delete-5067"><a href="#delete-5067"><span class="linenos">5067</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">where</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="delete-5068"><a href="#delete-5068"><span class="linenos">5068</span></a> <span class="k">if</span> <span class="n">returning</span><span class="p">:</span>
-</span><span id="delete-5069"><a href="#delete-5069"><span class="linenos">5069</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">returning</span><span class="p">(</span><span class="n">returning</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="delete-5070"><a href="#delete-5070"><span class="linenos">5070</span></a> <span class="k">return</span> <span class="n">delete_expr</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="delete-5062"><a href="#delete-5062"><span class="linenos">5062</span></a><span class="k">def</span> <span class="nf">delete</span><span class="p">(</span>
+</span><span id="delete-5063"><a href="#delete-5063"><span class="linenos">5063</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="delete-5064"><a href="#delete-5064"><span class="linenos">5064</span></a> <span class="n">where</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="delete-5065"><a href="#delete-5065"><span class="linenos">5065</span></a> <span class="n">returning</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">ExpOrStr</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="delete-5066"><a href="#delete-5066"><span class="linenos">5066</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="delete-5067"><a href="#delete-5067"><span class="linenos">5067</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="delete-5068"><a href="#delete-5068"><span class="linenos">5068</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Delete</span><span class="p">:</span>
+</span><span id="delete-5069"><a href="#delete-5069"><span class="linenos">5069</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="delete-5070"><a href="#delete-5070"><span class="linenos">5070</span></a><span class="sd"> Builds a delete statement.</span>
+</span><span id="delete-5071"><a href="#delete-5071"><span class="linenos">5071</span></a>
+</span><span id="delete-5072"><a href="#delete-5072"><span class="linenos">5072</span></a><span class="sd"> Example:</span>
+</span><span id="delete-5073"><a href="#delete-5073"><span class="linenos">5073</span></a><span class="sd"> &gt;&gt;&gt; delete(&quot;my_table&quot;, where=&quot;id &gt; 1&quot;).sql()</span>
+</span><span id="delete-5074"><a href="#delete-5074"><span class="linenos">5074</span></a><span class="sd"> &#39;DELETE FROM my_table WHERE id &gt; 1&#39;</span>
+</span><span id="delete-5075"><a href="#delete-5075"><span class="linenos">5075</span></a>
+</span><span id="delete-5076"><a href="#delete-5076"><span class="linenos">5076</span></a><span class="sd"> Args:</span>
+</span><span id="delete-5077"><a href="#delete-5077"><span class="linenos">5077</span></a><span class="sd"> where: sql conditional parsed into a WHERE statement</span>
+</span><span id="delete-5078"><a href="#delete-5078"><span class="linenos">5078</span></a><span class="sd"> returning: sql conditional parsed into a RETURNING statement</span>
+</span><span id="delete-5079"><a href="#delete-5079"><span class="linenos">5079</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="delete-5080"><a href="#delete-5080"><span class="linenos">5080</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="delete-5081"><a href="#delete-5081"><span class="linenos">5081</span></a>
+</span><span id="delete-5082"><a href="#delete-5082"><span class="linenos">5082</span></a><span class="sd"> Returns:</span>
+</span><span id="delete-5083"><a href="#delete-5083"><span class="linenos">5083</span></a><span class="sd"> Delete: the syntax tree for the DELETE statement.</span>
+</span><span id="delete-5084"><a href="#delete-5084"><span class="linenos">5084</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="delete-5085"><a href="#delete-5085"><span class="linenos">5085</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">Delete</span><span class="p">()</span><span class="o">.</span><span class="n">delete</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="delete-5086"><a href="#delete-5086"><span class="linenos">5086</span></a> <span class="k">if</span> <span class="n">where</span><span class="p">:</span>
+</span><span id="delete-5087"><a href="#delete-5087"><span class="linenos">5087</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">where</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="delete-5088"><a href="#delete-5088"><span class="linenos">5088</span></a> <span class="k">if</span> <span class="n">returning</span><span class="p">:</span>
+</span><span id="delete-5089"><a href="#delete-5089"><span class="linenos">5089</span></a> <span class="n">delete_expr</span> <span class="o">=</span> <span class="n">delete_expr</span><span class="o">.</span><span class="n">returning</span><span class="p">(</span><span class="n">returning</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">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="delete-5090"><a href="#delete-5090"><span class="linenos">5090</span></a> <span class="k">return</span> <span class="n">delete_expr</span>
</span></pre></div>
@@ -50649,49 +66771,49 @@ auto converted to sql objects eg None -> NULL</li>
</div>
<a class="headerlink" href="#insert"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="insert-5073"><a href="#insert-5073"><span class="linenos">5073</span></a><span class="k">def</span> <span class="nf">insert</span><span class="p">(</span>
-</span><span id="insert-5074"><a href="#insert-5074"><span class="linenos">5074</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="insert-5075"><a href="#insert-5075"><span class="linenos">5075</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="insert-5076"><a href="#insert-5076"><span class="linenos">5076</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="insert-5077"><a href="#insert-5077"><span class="linenos">5077</span></a> <span class="n">overwrite</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="insert-5078"><a href="#insert-5078"><span class="linenos">5078</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="insert-5079"><a href="#insert-5079"><span class="linenos">5079</span></a> <span class="n">copy</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="insert-5080"><a href="#insert-5080"><span class="linenos">5080</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="insert-5081"><a href="#insert-5081"><span class="linenos">5081</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
-</span><span id="insert-5082"><a href="#insert-5082"><span class="linenos">5082</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="insert-5083"><a href="#insert-5083"><span class="linenos">5083</span></a><span class="sd"> Builds an INSERT statement.</span>
-</span><span id="insert-5084"><a href="#insert-5084"><span class="linenos">5084</span></a>
-</span><span id="insert-5085"><a href="#insert-5085"><span class="linenos">5085</span></a><span class="sd"> Example:</span>
-</span><span id="insert-5086"><a href="#insert-5086"><span class="linenos">5086</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;VALUES (1, 2, 3)&quot;, &quot;tbl&quot;).sql()</span>
-</span><span id="insert-5087"><a href="#insert-5087"><span class="linenos">5087</span></a><span class="sd"> &#39;INSERT INTO tbl VALUES (1, 2, 3)&#39;</span>
-</span><span id="insert-5088"><a href="#insert-5088"><span class="linenos">5088</span></a>
-</span><span id="insert-5089"><a href="#insert-5089"><span class="linenos">5089</span></a><span class="sd"> Args:</span>
-</span><span id="insert-5090"><a href="#insert-5090"><span class="linenos">5090</span></a><span class="sd"> expression: the sql string or expression of the INSERT statement</span>
-</span><span id="insert-5091"><a href="#insert-5091"><span class="linenos">5091</span></a><span class="sd"> into: the tbl to insert data to.</span>
-</span><span id="insert-5092"><a href="#insert-5092"><span class="linenos">5092</span></a><span class="sd"> columns: optionally the table&#39;s column names.</span>
-</span><span id="insert-5093"><a href="#insert-5093"><span class="linenos">5093</span></a><span class="sd"> overwrite: whether to INSERT OVERWRITE or not.</span>
-</span><span id="insert-5094"><a href="#insert-5094"><span class="linenos">5094</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
-</span><span id="insert-5095"><a href="#insert-5095"><span class="linenos">5095</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
-</span><span id="insert-5096"><a href="#insert-5096"><span class="linenos">5096</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="insert-5097"><a href="#insert-5097"><span class="linenos">5097</span></a>
-</span><span id="insert-5098"><a href="#insert-5098"><span class="linenos">5098</span></a><span class="sd"> Returns:</span>
-</span><span id="insert-5099"><a href="#insert-5099"><span class="linenos">5099</span></a><span class="sd"> Insert: the syntax tree for the INSERT statement.</span>
-</span><span id="insert-5100"><a href="#insert-5100"><span class="linenos">5100</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="insert-5101"><a href="#insert-5101"><span class="linenos">5101</span></a> <span class="n">expr</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="insert-5102"><a href="#insert-5102"><span class="linenos">5102</span></a> <span class="n">this</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="n">Schema</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="insert-5103"><a href="#insert-5103"><span class="linenos">5103</span></a>
-</span><span id="insert-5104"><a href="#insert-5104"><span class="linenos">5104</span></a> <span class="k">if</span> <span class="n">columns</span><span class="p">:</span>
-</span><span id="insert-5105"><a href="#insert-5105"><span class="linenos">5105</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
-</span><span id="insert-5106"><a href="#insert-5106"><span class="linenos">5106</span></a> <span class="o">*</span><span class="n">columns</span><span class="p">,</span>
-</span><span id="insert-5107"><a href="#insert-5107"><span class="linenos">5107</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">Schema</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">),</span>
-</span><span id="insert-5108"><a href="#insert-5108"><span class="linenos">5108</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
-</span><span id="insert-5109"><a href="#insert-5109"><span class="linenos">5109</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Identifier</span><span class="p">,</span>
-</span><span id="insert-5110"><a href="#insert-5110"><span class="linenos">5110</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-</span><span id="insert-5111"><a href="#insert-5111"><span class="linenos">5111</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="insert-5112"><a href="#insert-5112"><span class="linenos">5112</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="insert-5113"><a href="#insert-5113"><span class="linenos">5113</span></a> <span class="p">)</span>
-</span><span id="insert-5114"><a href="#insert-5114"><span class="linenos">5114</span></a>
-</span><span id="insert-5115"><a href="#insert-5115"><span class="linenos">5115</span></a> <span class="k">return</span> <span class="n">Insert</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expr</span><span class="p">,</span> <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="insert-5093"><a href="#insert-5093"><span class="linenos">5093</span></a><span class="k">def</span> <span class="nf">insert</span><span class="p">(</span>
+</span><span id="insert-5094"><a href="#insert-5094"><span class="linenos">5094</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="insert-5095"><a href="#insert-5095"><span class="linenos">5095</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="insert-5096"><a href="#insert-5096"><span class="linenos">5096</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="n">ExpOrStr</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="insert-5097"><a href="#insert-5097"><span class="linenos">5097</span></a> <span class="n">overwrite</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="insert-5098"><a href="#insert-5098"><span class="linenos">5098</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="insert-5099"><a href="#insert-5099"><span class="linenos">5099</span></a> <span class="n">copy</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="insert-5100"><a href="#insert-5100"><span class="linenos">5100</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="insert-5101"><a href="#insert-5101"><span class="linenos">5101</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Insert</span><span class="p">:</span>
+</span><span id="insert-5102"><a href="#insert-5102"><span class="linenos">5102</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="insert-5103"><a href="#insert-5103"><span class="linenos">5103</span></a><span class="sd"> Builds an INSERT statement.</span>
+</span><span id="insert-5104"><a href="#insert-5104"><span class="linenos">5104</span></a>
+</span><span id="insert-5105"><a href="#insert-5105"><span class="linenos">5105</span></a><span class="sd"> Example:</span>
+</span><span id="insert-5106"><a href="#insert-5106"><span class="linenos">5106</span></a><span class="sd"> &gt;&gt;&gt; insert(&quot;VALUES (1, 2, 3)&quot;, &quot;tbl&quot;).sql()</span>
+</span><span id="insert-5107"><a href="#insert-5107"><span class="linenos">5107</span></a><span class="sd"> &#39;INSERT INTO tbl VALUES (1, 2, 3)&#39;</span>
+</span><span id="insert-5108"><a href="#insert-5108"><span class="linenos">5108</span></a>
+</span><span id="insert-5109"><a href="#insert-5109"><span class="linenos">5109</span></a><span class="sd"> Args:</span>
+</span><span id="insert-5110"><a href="#insert-5110"><span class="linenos">5110</span></a><span class="sd"> expression: the sql string or expression of the INSERT statement</span>
+</span><span id="insert-5111"><a href="#insert-5111"><span class="linenos">5111</span></a><span class="sd"> into: the tbl to insert data to.</span>
+</span><span id="insert-5112"><a href="#insert-5112"><span class="linenos">5112</span></a><span class="sd"> columns: optionally the table&#39;s column names.</span>
+</span><span id="insert-5113"><a href="#insert-5113"><span class="linenos">5113</span></a><span class="sd"> overwrite: whether to INSERT OVERWRITE or not.</span>
+</span><span id="insert-5114"><a href="#insert-5114"><span class="linenos">5114</span></a><span class="sd"> dialect: the dialect used to parse the input expressions.</span>
+</span><span id="insert-5115"><a href="#insert-5115"><span class="linenos">5115</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="insert-5116"><a href="#insert-5116"><span class="linenos">5116</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="insert-5117"><a href="#insert-5117"><span class="linenos">5117</span></a>
+</span><span id="insert-5118"><a href="#insert-5118"><span class="linenos">5118</span></a><span class="sd"> Returns:</span>
+</span><span id="insert-5119"><a href="#insert-5119"><span class="linenos">5119</span></a><span class="sd"> Insert: the syntax tree for the INSERT statement.</span>
+</span><span id="insert-5120"><a href="#insert-5120"><span class="linenos">5120</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="insert-5121"><a href="#insert-5121"><span class="linenos">5121</span></a> <span class="n">expr</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="insert-5122"><a href="#insert-5122"><span class="linenos">5122</span></a> <span class="n">this</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="n">Schema</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="insert-5123"><a href="#insert-5123"><span class="linenos">5123</span></a>
+</span><span id="insert-5124"><a href="#insert-5124"><span class="linenos">5124</span></a> <span class="k">if</span> <span class="n">columns</span><span class="p">:</span>
+</span><span id="insert-5125"><a href="#insert-5125"><span class="linenos">5125</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">_apply_list_builder</span><span class="p">(</span>
+</span><span id="insert-5126"><a href="#insert-5126"><span class="linenos">5126</span></a> <span class="o">*</span><span class="n">columns</span><span class="p">,</span>
+</span><span id="insert-5127"><a href="#insert-5127"><span class="linenos">5127</span></a> <span class="n">instance</span><span class="o">=</span><span class="n">Schema</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">),</span>
+</span><span id="insert-5128"><a href="#insert-5128"><span class="linenos">5128</span></a> <span class="n">arg</span><span class="o">=</span><span class="s2">&quot;expressions&quot;</span><span class="p">,</span>
+</span><span id="insert-5129"><a href="#insert-5129"><span class="linenos">5129</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Identifier</span><span class="p">,</span>
+</span><span id="insert-5130"><a href="#insert-5130"><span class="linenos">5130</span></a> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+</span><span id="insert-5131"><a href="#insert-5131"><span class="linenos">5131</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="insert-5132"><a href="#insert-5132"><span class="linenos">5132</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="insert-5133"><a href="#insert-5133"><span class="linenos">5133</span></a> <span class="p">)</span>
+</span><span id="insert-5134"><a href="#insert-5134"><span class="linenos">5134</span></a>
+</span><span id="insert-5135"><a href="#insert-5135"><span class="linenos">5135</span></a> <span class="k">return</span> <span class="n">Insert</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">this</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">expr</span><span class="p">,</span> <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">)</span>
</span></pre></div>
@@ -50739,41 +66861,41 @@ auto converted to sql objects eg None -> NULL</li>
</div>
<a class="headerlink" href="#condition"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="condition-5118"><a href="#condition-5118"><span class="linenos">5118</span></a><span class="k">def</span> <span class="nf">condition</span><span class="p">(</span>
-</span><span id="condition-5119"><a href="#condition-5119"><span class="linenos">5119</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="condition-5120"><a href="#condition-5120"><span class="linenos">5120</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
-</span><span id="condition-5121"><a href="#condition-5121"><span class="linenos">5121</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="condition-5122"><a href="#condition-5122"><span class="linenos">5122</span></a><span class="sd"> Initialize a logical condition expression.</span>
-</span><span id="condition-5123"><a href="#condition-5123"><span class="linenos">5123</span></a>
-</span><span id="condition-5124"><a href="#condition-5124"><span class="linenos">5124</span></a><span class="sd"> Example:</span>
-</span><span id="condition-5125"><a href="#condition-5125"><span class="linenos">5125</span></a><span class="sd"> &gt;&gt;&gt; condition(&quot;x=1&quot;).sql()</span>
-</span><span id="condition-5126"><a href="#condition-5126"><span class="linenos">5126</span></a><span class="sd"> &#39;x = 1&#39;</span>
-</span><span id="condition-5127"><a href="#condition-5127"><span class="linenos">5127</span></a>
-</span><span id="condition-5128"><a href="#condition-5128"><span class="linenos">5128</span></a><span class="sd"> This is helpful for composing larger logical syntax trees:</span>
-</span><span id="condition-5129"><a href="#condition-5129"><span class="linenos">5129</span></a><span class="sd"> &gt;&gt;&gt; where = condition(&quot;x=1&quot;)</span>
-</span><span id="condition-5130"><a href="#condition-5130"><span class="linenos">5130</span></a><span class="sd"> &gt;&gt;&gt; where = where.and_(&quot;y=1&quot;)</span>
-</span><span id="condition-5131"><a href="#condition-5131"><span class="linenos">5131</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;*&quot;).where(where).sql()</span>
-</span><span id="condition-5132"><a href="#condition-5132"><span class="linenos">5132</span></a><span class="sd"> &#39;SELECT * FROM tbl WHERE x = 1 AND y = 1&#39;</span>
-</span><span id="condition-5133"><a href="#condition-5133"><span class="linenos">5133</span></a>
-</span><span id="condition-5134"><a href="#condition-5134"><span class="linenos">5134</span></a><span class="sd"> Args:</span>
-</span><span id="condition-5135"><a href="#condition-5135"><span class="linenos">5135</span></a><span class="sd"> *expression: the SQL code string to parse.</span>
-</span><span id="condition-5136"><a href="#condition-5136"><span class="linenos">5136</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="condition-5137"><a href="#condition-5137"><span class="linenos">5137</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
-</span><span id="condition-5138"><a href="#condition-5138"><span class="linenos">5138</span></a><span class="sd"> input expression is a SQL string).</span>
-</span><span id="condition-5139"><a href="#condition-5139"><span class="linenos">5139</span></a><span class="sd"> copy: Whether or not to copy `expression` (only applies to expressions).</span>
-</span><span id="condition-5140"><a href="#condition-5140"><span class="linenos">5140</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
-</span><span id="condition-5141"><a href="#condition-5141"><span class="linenos">5141</span></a><span class="sd"> that the input expression is a SQL string).</span>
-</span><span id="condition-5142"><a href="#condition-5142"><span class="linenos">5142</span></a>
-</span><span id="condition-5143"><a href="#condition-5143"><span class="linenos">5143</span></a><span class="sd"> Returns:</span>
-</span><span id="condition-5144"><a href="#condition-5144"><span class="linenos">5144</span></a><span class="sd"> The new Condition instance</span>
-</span><span id="condition-5145"><a href="#condition-5145"><span class="linenos">5145</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="condition-5146"><a href="#condition-5146"><span class="linenos">5146</span></a> <span class="k">return</span> <span class="n">maybe_parse</span><span class="p">(</span>
-</span><span id="condition-5147"><a href="#condition-5147"><span class="linenos">5147</span></a> <span class="n">expression</span><span class="p">,</span>
-</span><span id="condition-5148"><a href="#condition-5148"><span class="linenos">5148</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Condition</span><span class="p">,</span>
-</span><span id="condition-5149"><a href="#condition-5149"><span class="linenos">5149</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="condition-5150"><a href="#condition-5150"><span class="linenos">5150</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="condition-5151"><a href="#condition-5151"><span class="linenos">5151</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="condition-5152"><a href="#condition-5152"><span class="linenos">5152</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="condition-5138"><a href="#condition-5138"><span class="linenos">5138</span></a><span class="k">def</span> <span class="nf">condition</span><span class="p">(</span>
+</span><span id="condition-5139"><a href="#condition-5139"><span class="linenos">5139</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="condition-5140"><a href="#condition-5140"><span class="linenos">5140</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
+</span><span id="condition-5141"><a href="#condition-5141"><span class="linenos">5141</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="condition-5142"><a href="#condition-5142"><span class="linenos">5142</span></a><span class="sd"> Initialize a logical condition expression.</span>
+</span><span id="condition-5143"><a href="#condition-5143"><span class="linenos">5143</span></a>
+</span><span id="condition-5144"><a href="#condition-5144"><span class="linenos">5144</span></a><span class="sd"> Example:</span>
+</span><span id="condition-5145"><a href="#condition-5145"><span class="linenos">5145</span></a><span class="sd"> &gt;&gt;&gt; condition(&quot;x=1&quot;).sql()</span>
+</span><span id="condition-5146"><a href="#condition-5146"><span class="linenos">5146</span></a><span class="sd"> &#39;x = 1&#39;</span>
+</span><span id="condition-5147"><a href="#condition-5147"><span class="linenos">5147</span></a>
+</span><span id="condition-5148"><a href="#condition-5148"><span class="linenos">5148</span></a><span class="sd"> This is helpful for composing larger logical syntax trees:</span>
+</span><span id="condition-5149"><a href="#condition-5149"><span class="linenos">5149</span></a><span class="sd"> &gt;&gt;&gt; where = condition(&quot;x=1&quot;)</span>
+</span><span id="condition-5150"><a href="#condition-5150"><span class="linenos">5150</span></a><span class="sd"> &gt;&gt;&gt; where = where.and_(&quot;y=1&quot;)</span>
+</span><span id="condition-5151"><a href="#condition-5151"><span class="linenos">5151</span></a><span class="sd"> &gt;&gt;&gt; Select().from_(&quot;tbl&quot;).select(&quot;*&quot;).where(where).sql()</span>
+</span><span id="condition-5152"><a href="#condition-5152"><span class="linenos">5152</span></a><span class="sd"> &#39;SELECT * FROM tbl WHERE x = 1 AND y = 1&#39;</span>
+</span><span id="condition-5153"><a href="#condition-5153"><span class="linenos">5153</span></a>
+</span><span id="condition-5154"><a href="#condition-5154"><span class="linenos">5154</span></a><span class="sd"> Args:</span>
+</span><span id="condition-5155"><a href="#condition-5155"><span class="linenos">5155</span></a><span class="sd"> *expression: the SQL code string to parse.</span>
+</span><span id="condition-5156"><a href="#condition-5156"><span class="linenos">5156</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="condition-5157"><a href="#condition-5157"><span class="linenos">5157</span></a><span class="sd"> dialect: the dialect used to parse the input expression (in the case that the</span>
+</span><span id="condition-5158"><a href="#condition-5158"><span class="linenos">5158</span></a><span class="sd"> input expression is a SQL string).</span>
+</span><span id="condition-5159"><a href="#condition-5159"><span class="linenos">5159</span></a><span class="sd"> copy: Whether or not to copy `expression` (only applies to expressions).</span>
+</span><span id="condition-5160"><a href="#condition-5160"><span class="linenos">5160</span></a><span class="sd"> **opts: other options to use to parse the input expressions (again, in the case</span>
+</span><span id="condition-5161"><a href="#condition-5161"><span class="linenos">5161</span></a><span class="sd"> that the input expression is a SQL string).</span>
+</span><span id="condition-5162"><a href="#condition-5162"><span class="linenos">5162</span></a>
+</span><span id="condition-5163"><a href="#condition-5163"><span class="linenos">5163</span></a><span class="sd"> Returns:</span>
+</span><span id="condition-5164"><a href="#condition-5164"><span class="linenos">5164</span></a><span class="sd"> The new Condition instance</span>
+</span><span id="condition-5165"><a href="#condition-5165"><span class="linenos">5165</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="condition-5166"><a href="#condition-5166"><span class="linenos">5166</span></a> <span class="k">return</span> <span class="n">maybe_parse</span><span class="p">(</span>
+</span><span id="condition-5167"><a href="#condition-5167"><span class="linenos">5167</span></a> <span class="n">expression</span><span class="p">,</span>
+</span><span id="condition-5168"><a href="#condition-5168"><span class="linenos">5168</span></a> <span class="n">into</span><span class="o">=</span><span class="n">Condition</span><span class="p">,</span>
+</span><span id="condition-5169"><a href="#condition-5169"><span class="linenos">5169</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="condition-5170"><a href="#condition-5170"><span class="linenos">5170</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="condition-5171"><a href="#condition-5171"><span class="linenos">5171</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="condition-5172"><a href="#condition-5172"><span class="linenos">5172</span></a> <span class="p">)</span>
</span></pre></div>
@@ -50831,27 +66953,27 @@ that the input expression is a SQL string).</li>
</div>
<a class="headerlink" href="#and_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="and_-5155"><a href="#and_-5155"><span class="linenos">5155</span></a><span class="k">def</span> <span class="nf">and_</span><span class="p">(</span>
-</span><span id="and_-5156"><a href="#and_-5156"><span class="linenos">5156</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="and_-5157"><a href="#and_-5157"><span class="linenos">5157</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
-</span><span id="and_-5158"><a href="#and_-5158"><span class="linenos">5158</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="and_-5159"><a href="#and_-5159"><span class="linenos">5159</span></a><span class="sd"> Combine multiple conditions with an AND logical operator.</span>
-</span><span id="and_-5160"><a href="#and_-5160"><span class="linenos">5160</span></a>
-</span><span id="and_-5161"><a href="#and_-5161"><span class="linenos">5161</span></a><span class="sd"> Example:</span>
-</span><span id="and_-5162"><a href="#and_-5162"><span class="linenos">5162</span></a><span class="sd"> &gt;&gt;&gt; and_(&quot;x=1&quot;, and_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
-</span><span id="and_-5163"><a href="#and_-5163"><span class="linenos">5163</span></a><span class="sd"> &#39;x = 1 AND (y = 1 AND z = 1)&#39;</span>
-</span><span id="and_-5164"><a href="#and_-5164"><span class="linenos">5164</span></a>
-</span><span id="and_-5165"><a href="#and_-5165"><span class="linenos">5165</span></a><span class="sd"> Args:</span>
-</span><span id="and_-5166"><a href="#and_-5166"><span class="linenos">5166</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="and_-5167"><a href="#and_-5167"><span class="linenos">5167</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="and_-5168"><a href="#and_-5168"><span class="linenos">5168</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="and_-5169"><a href="#and_-5169"><span class="linenos">5169</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
-</span><span id="and_-5170"><a href="#and_-5170"><span class="linenos">5170</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="and_-5171"><a href="#and_-5171"><span class="linenos">5171</span></a>
-</span><span id="and_-5172"><a href="#and_-5172"><span class="linenos">5172</span></a><span class="sd"> Returns:</span>
-</span><span id="and_-5173"><a href="#and_-5173"><span class="linenos">5173</span></a><span class="sd"> And: the new condition</span>
-</span><span id="and_-5174"><a href="#and_-5174"><span class="linenos">5174</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="and_-5175"><a href="#and_-5175"><span class="linenos">5175</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">And</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="and_-5175"><a href="#and_-5175"><span class="linenos">5175</span></a><span class="k">def</span> <span class="nf">and_</span><span class="p">(</span>
+</span><span id="and_-5176"><a href="#and_-5176"><span class="linenos">5176</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="and_-5177"><a href="#and_-5177"><span class="linenos">5177</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
+</span><span id="and_-5178"><a href="#and_-5178"><span class="linenos">5178</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="and_-5179"><a href="#and_-5179"><span class="linenos">5179</span></a><span class="sd"> Combine multiple conditions with an AND logical operator.</span>
+</span><span id="and_-5180"><a href="#and_-5180"><span class="linenos">5180</span></a>
+</span><span id="and_-5181"><a href="#and_-5181"><span class="linenos">5181</span></a><span class="sd"> Example:</span>
+</span><span id="and_-5182"><a href="#and_-5182"><span class="linenos">5182</span></a><span class="sd"> &gt;&gt;&gt; and_(&quot;x=1&quot;, and_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
+</span><span id="and_-5183"><a href="#and_-5183"><span class="linenos">5183</span></a><span class="sd"> &#39;x = 1 AND (y = 1 AND z = 1)&#39;</span>
+</span><span id="and_-5184"><a href="#and_-5184"><span class="linenos">5184</span></a>
+</span><span id="and_-5185"><a href="#and_-5185"><span class="linenos">5185</span></a><span class="sd"> Args:</span>
+</span><span id="and_-5186"><a href="#and_-5186"><span class="linenos">5186</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="and_-5187"><a href="#and_-5187"><span class="linenos">5187</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="and_-5188"><a href="#and_-5188"><span class="linenos">5188</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="and_-5189"><a href="#and_-5189"><span class="linenos">5189</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
+</span><span id="and_-5190"><a href="#and_-5190"><span class="linenos">5190</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="and_-5191"><a href="#and_-5191"><span class="linenos">5191</span></a>
+</span><span id="and_-5192"><a href="#and_-5192"><span class="linenos">5192</span></a><span class="sd"> Returns:</span>
+</span><span id="and_-5193"><a href="#and_-5193"><span class="linenos">5193</span></a><span class="sd"> And: the new condition</span>
+</span><span id="and_-5194"><a href="#and_-5194"><span class="linenos">5194</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="and_-5195"><a href="#and_-5195"><span class="linenos">5195</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">And</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
</span></pre></div>
@@ -50897,27 +67019,27 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#or_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="or_-5178"><a href="#or_-5178"><span class="linenos">5178</span></a><span class="k">def</span> <span class="nf">or_</span><span class="p">(</span>
-</span><span id="or_-5179"><a href="#or_-5179"><span class="linenos">5179</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
-</span><span id="or_-5180"><a href="#or_-5180"><span class="linenos">5180</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
-</span><span id="or_-5181"><a href="#or_-5181"><span class="linenos">5181</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="or_-5182"><a href="#or_-5182"><span class="linenos">5182</span></a><span class="sd"> Combine multiple conditions with an OR logical operator.</span>
-</span><span id="or_-5183"><a href="#or_-5183"><span class="linenos">5183</span></a>
-</span><span id="or_-5184"><a href="#or_-5184"><span class="linenos">5184</span></a><span class="sd"> Example:</span>
-</span><span id="or_-5185"><a href="#or_-5185"><span class="linenos">5185</span></a><span class="sd"> &gt;&gt;&gt; or_(&quot;x=1&quot;, or_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
-</span><span id="or_-5186"><a href="#or_-5186"><span class="linenos">5186</span></a><span class="sd"> &#39;x = 1 OR (y = 1 OR z = 1)&#39;</span>
-</span><span id="or_-5187"><a href="#or_-5187"><span class="linenos">5187</span></a>
-</span><span id="or_-5188"><a href="#or_-5188"><span class="linenos">5188</span></a><span class="sd"> Args:</span>
-</span><span id="or_-5189"><a href="#or_-5189"><span class="linenos">5189</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
-</span><span id="or_-5190"><a href="#or_-5190"><span class="linenos">5190</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="or_-5191"><a href="#or_-5191"><span class="linenos">5191</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="or_-5192"><a href="#or_-5192"><span class="linenos">5192</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
-</span><span id="or_-5193"><a href="#or_-5193"><span class="linenos">5193</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="or_-5194"><a href="#or_-5194"><span class="linenos">5194</span></a>
-</span><span id="or_-5195"><a href="#or_-5195"><span class="linenos">5195</span></a><span class="sd"> Returns:</span>
-</span><span id="or_-5196"><a href="#or_-5196"><span class="linenos">5196</span></a><span class="sd"> Or: the new condition</span>
-</span><span id="or_-5197"><a href="#or_-5197"><span class="linenos">5197</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="or_-5198"><a href="#or_-5198"><span class="linenos">5198</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">Or</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="or_-5198"><a href="#or_-5198"><span class="linenos">5198</span></a><span class="k">def</span> <span class="nf">or_</span><span class="p">(</span>
+</span><span id="or_-5199"><a href="#or_-5199"><span class="linenos">5199</span></a> <span class="o">*</span><span class="n">expressions</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">ExpOrStr</span><span class="p">],</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
+</span><span id="or_-5200"><a href="#or_-5200"><span class="linenos">5200</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Condition</span><span class="p">:</span>
+</span><span id="or_-5201"><a href="#or_-5201"><span class="linenos">5201</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="or_-5202"><a href="#or_-5202"><span class="linenos">5202</span></a><span class="sd"> Combine multiple conditions with an OR logical operator.</span>
+</span><span id="or_-5203"><a href="#or_-5203"><span class="linenos">5203</span></a>
+</span><span id="or_-5204"><a href="#or_-5204"><span class="linenos">5204</span></a><span class="sd"> Example:</span>
+</span><span id="or_-5205"><a href="#or_-5205"><span class="linenos">5205</span></a><span class="sd"> &gt;&gt;&gt; or_(&quot;x=1&quot;, or_(&quot;y=1&quot;, &quot;z=1&quot;)).sql()</span>
+</span><span id="or_-5206"><a href="#or_-5206"><span class="linenos">5206</span></a><span class="sd"> &#39;x = 1 OR (y = 1 OR z = 1)&#39;</span>
+</span><span id="or_-5207"><a href="#or_-5207"><span class="linenos">5207</span></a>
+</span><span id="or_-5208"><a href="#or_-5208"><span class="linenos">5208</span></a><span class="sd"> Args:</span>
+</span><span id="or_-5209"><a href="#or_-5209"><span class="linenos">5209</span></a><span class="sd"> *expressions: the SQL code strings to parse.</span>
+</span><span id="or_-5210"><a href="#or_-5210"><span class="linenos">5210</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="or_-5211"><a href="#or_-5211"><span class="linenos">5211</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="or_-5212"><a href="#or_-5212"><span class="linenos">5212</span></a><span class="sd"> copy: whether or not to copy `expressions` (only applies to Expressions).</span>
+</span><span id="or_-5213"><a href="#or_-5213"><span class="linenos">5213</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="or_-5214"><a href="#or_-5214"><span class="linenos">5214</span></a>
+</span><span id="or_-5215"><a href="#or_-5215"><span class="linenos">5215</span></a><span class="sd"> Returns:</span>
+</span><span id="or_-5216"><a href="#or_-5216"><span class="linenos">5216</span></a><span class="sd"> Or: the new condition</span>
+</span><span id="or_-5217"><a href="#or_-5217"><span class="linenos">5217</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="or_-5218"><a href="#or_-5218"><span class="linenos">5218</span></a> <span class="k">return</span> <span class="n">t</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">Condition</span><span class="p">,</span> <span class="n">_combine</span><span class="p">(</span><span class="n">expressions</span><span class="p">,</span> <span class="n">Or</span><span class="p">,</span> <span class="n">dialect</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
</span></pre></div>
@@ -50963,31 +67085,31 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#not_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="not_-5201"><a href="#not_-5201"><span class="linenos">5201</span></a><span class="k">def</span> <span class="nf">not_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Not</span><span class="p">:</span>
-</span><span id="not_-5202"><a href="#not_-5202"><span class="linenos">5202</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="not_-5203"><a href="#not_-5203"><span class="linenos">5203</span></a><span class="sd"> Wrap a condition with a NOT operator.</span>
-</span><span id="not_-5204"><a href="#not_-5204"><span class="linenos">5204</span></a>
-</span><span id="not_-5205"><a href="#not_-5205"><span class="linenos">5205</span></a><span class="sd"> Example:</span>
-</span><span id="not_-5206"><a href="#not_-5206"><span class="linenos">5206</span></a><span class="sd"> &gt;&gt;&gt; not_(&quot;this_suit=&#39;black&#39;&quot;).sql()</span>
-</span><span id="not_-5207"><a href="#not_-5207"><span class="linenos">5207</span></a><span class="sd"> &quot;NOT this_suit = &#39;black&#39;&quot;</span>
-</span><span id="not_-5208"><a href="#not_-5208"><span class="linenos">5208</span></a>
-</span><span id="not_-5209"><a href="#not_-5209"><span class="linenos">5209</span></a><span class="sd"> Args:</span>
-</span><span id="not_-5210"><a href="#not_-5210"><span class="linenos">5210</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="not_-5211"><a href="#not_-5211"><span class="linenos">5211</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="not_-5212"><a href="#not_-5212"><span class="linenos">5212</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="not_-5213"><a href="#not_-5213"><span class="linenos">5213</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
-</span><span id="not_-5214"><a href="#not_-5214"><span class="linenos">5214</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="not_-5215"><a href="#not_-5215"><span class="linenos">5215</span></a>
-</span><span id="not_-5216"><a href="#not_-5216"><span class="linenos">5216</span></a><span class="sd"> Returns:</span>
-</span><span id="not_-5217"><a href="#not_-5217"><span class="linenos">5217</span></a><span class="sd"> The new condition.</span>
-</span><span id="not_-5218"><a href="#not_-5218"><span class="linenos">5218</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="not_-5219"><a href="#not_-5219"><span class="linenos">5219</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">condition</span><span class="p">(</span>
-</span><span id="not_-5220"><a href="#not_-5220"><span class="linenos">5220</span></a> <span class="n">expression</span><span class="p">,</span>
-</span><span id="not_-5221"><a href="#not_-5221"><span class="linenos">5221</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
-</span><span id="not_-5222"><a href="#not_-5222"><span class="linenos">5222</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
-</span><span id="not_-5223"><a href="#not_-5223"><span class="linenos">5223</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="not_-5224"><a href="#not_-5224"><span class="linenos">5224</span></a> <span class="p">)</span>
-</span><span id="not_-5225"><a href="#not_-5225"><span class="linenos">5225</span></a> <span class="k">return</span> <span class="n">Not</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">_wrap</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connector</span><span class="p">))</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="not_-5221"><a href="#not_-5221"><span class="linenos">5221</span></a><span class="k">def</span> <span class="nf">not_</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <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 class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Not</span><span class="p">:</span>
+</span><span id="not_-5222"><a href="#not_-5222"><span class="linenos">5222</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="not_-5223"><a href="#not_-5223"><span class="linenos">5223</span></a><span class="sd"> Wrap a condition with a NOT operator.</span>
+</span><span id="not_-5224"><a href="#not_-5224"><span class="linenos">5224</span></a>
+</span><span id="not_-5225"><a href="#not_-5225"><span class="linenos">5225</span></a><span class="sd"> Example:</span>
+</span><span id="not_-5226"><a href="#not_-5226"><span class="linenos">5226</span></a><span class="sd"> &gt;&gt;&gt; not_(&quot;this_suit=&#39;black&#39;&quot;).sql()</span>
+</span><span id="not_-5227"><a href="#not_-5227"><span class="linenos">5227</span></a><span class="sd"> &quot;NOT this_suit = &#39;black&#39;&quot;</span>
+</span><span id="not_-5228"><a href="#not_-5228"><span class="linenos">5228</span></a>
+</span><span id="not_-5229"><a href="#not_-5229"><span class="linenos">5229</span></a><span class="sd"> Args:</span>
+</span><span id="not_-5230"><a href="#not_-5230"><span class="linenos">5230</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="not_-5231"><a href="#not_-5231"><span class="linenos">5231</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="not_-5232"><a href="#not_-5232"><span class="linenos">5232</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="not_-5233"><a href="#not_-5233"><span class="linenos">5233</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
+</span><span id="not_-5234"><a href="#not_-5234"><span class="linenos">5234</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="not_-5235"><a href="#not_-5235"><span class="linenos">5235</span></a>
+</span><span id="not_-5236"><a href="#not_-5236"><span class="linenos">5236</span></a><span class="sd"> Returns:</span>
+</span><span id="not_-5237"><a href="#not_-5237"><span class="linenos">5237</span></a><span class="sd"> The new condition.</span>
+</span><span id="not_-5238"><a href="#not_-5238"><span class="linenos">5238</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="not_-5239"><a href="#not_-5239"><span class="linenos">5239</span></a> <span class="n">this</span> <span class="o">=</span> <span class="n">condition</span><span class="p">(</span>
+</span><span id="not_-5240"><a href="#not_-5240"><span class="linenos">5240</span></a> <span class="n">expression</span><span class="p">,</span>
+</span><span id="not_-5241"><a href="#not_-5241"><span class="linenos">5241</span></a> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+</span><span id="not_-5242"><a href="#not_-5242"><span class="linenos">5242</span></a> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span>
+</span><span id="not_-5243"><a href="#not_-5243"><span class="linenos">5243</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="not_-5244"><a href="#not_-5244"><span class="linenos">5244</span></a> <span class="p">)</span>
+</span><span id="not_-5245"><a href="#not_-5245"><span class="linenos">5245</span></a> <span class="k">return</span> <span class="n">Not</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">_wrap</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">Connector</span><span class="p">))</span>
</span></pre></div>
@@ -51033,23 +67155,23 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#paren"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="paren-5228"><a href="#paren-5228"><span class="linenos">5228</span></a><span class="k">def</span> <span class="nf">paren</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Paren</span><span class="p">:</span>
-</span><span id="paren-5229"><a href="#paren-5229"><span class="linenos">5229</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="paren-5230"><a href="#paren-5230"><span class="linenos">5230</span></a><span class="sd"> Wrap an expression in parentheses.</span>
-</span><span id="paren-5231"><a href="#paren-5231"><span class="linenos">5231</span></a>
-</span><span id="paren-5232"><a href="#paren-5232"><span class="linenos">5232</span></a><span class="sd"> Example:</span>
-</span><span id="paren-5233"><a href="#paren-5233"><span class="linenos">5233</span></a><span class="sd"> &gt;&gt;&gt; paren(&quot;5 + 3&quot;).sql()</span>
-</span><span id="paren-5234"><a href="#paren-5234"><span class="linenos">5234</span></a><span class="sd"> &#39;(5 + 3)&#39;</span>
-</span><span id="paren-5235"><a href="#paren-5235"><span class="linenos">5235</span></a>
-</span><span id="paren-5236"><a href="#paren-5236"><span class="linenos">5236</span></a><span class="sd"> Args:</span>
-</span><span id="paren-5237"><a href="#paren-5237"><span class="linenos">5237</span></a><span class="sd"> expression: the SQL code string to parse.</span>
-</span><span id="paren-5238"><a href="#paren-5238"><span class="linenos">5238</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="paren-5239"><a href="#paren-5239"><span class="linenos">5239</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
-</span><span id="paren-5240"><a href="#paren-5240"><span class="linenos">5240</span></a>
-</span><span id="paren-5241"><a href="#paren-5241"><span class="linenos">5241</span></a><span class="sd"> Returns:</span>
-</span><span id="paren-5242"><a href="#paren-5242"><span class="linenos">5242</span></a><span class="sd"> The wrapped expression.</span>
-</span><span id="paren-5243"><a href="#paren-5243"><span class="linenos">5243</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="paren-5244"><a href="#paren-5244"><span class="linenos">5244</span></a> <span class="k">return</span> <span class="n">Paren</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="paren-5248"><a href="#paren-5248"><span class="linenos">5248</span></a><span class="k">def</span> <span class="nf">paren</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Paren</span><span class="p">:</span>
+</span><span id="paren-5249"><a href="#paren-5249"><span class="linenos">5249</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="paren-5250"><a href="#paren-5250"><span class="linenos">5250</span></a><span class="sd"> Wrap an expression in parentheses.</span>
+</span><span id="paren-5251"><a href="#paren-5251"><span class="linenos">5251</span></a>
+</span><span id="paren-5252"><a href="#paren-5252"><span class="linenos">5252</span></a><span class="sd"> Example:</span>
+</span><span id="paren-5253"><a href="#paren-5253"><span class="linenos">5253</span></a><span class="sd"> &gt;&gt;&gt; paren(&quot;5 + 3&quot;).sql()</span>
+</span><span id="paren-5254"><a href="#paren-5254"><span class="linenos">5254</span></a><span class="sd"> &#39;(5 + 3)&#39;</span>
+</span><span id="paren-5255"><a href="#paren-5255"><span class="linenos">5255</span></a>
+</span><span id="paren-5256"><a href="#paren-5256"><span class="linenos">5256</span></a><span class="sd"> Args:</span>
+</span><span id="paren-5257"><a href="#paren-5257"><span class="linenos">5257</span></a><span class="sd"> expression: the SQL code string to parse.</span>
+</span><span id="paren-5258"><a href="#paren-5258"><span class="linenos">5258</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="paren-5259"><a href="#paren-5259"><span class="linenos">5259</span></a><span class="sd"> copy: whether to copy the expression or not.</span>
+</span><span id="paren-5260"><a href="#paren-5260"><span class="linenos">5260</span></a>
+</span><span id="paren-5261"><a href="#paren-5261"><span class="linenos">5261</span></a><span class="sd"> Returns:</span>
+</span><span id="paren-5262"><a href="#paren-5262"><span class="linenos">5262</span></a><span class="sd"> The wrapped expression.</span>
+</span><span id="paren-5263"><a href="#paren-5263"><span class="linenos">5263</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="paren-5264"><a href="#paren-5264"><span class="linenos">5264</span></a> <span class="k">return</span> <span class="n">Paren</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">))</span>
</span></pre></div>
@@ -51082,6 +67204,18 @@ If an Expression instance is passed, this is used as-is.</li>
</section>
+ <section id="SAFE_IDENTIFIER_RE">
+ <div class="attr variable">
+ <span class="name">SAFE_IDENTIFIER_RE</span> =
+<span class="default_value">re.compile(&#39;^[_a-zA-Z][\\w]*$&#39;)</span>
+
+
+ </div>
+ <a class="headerlink" href="#SAFE_IDENTIFIER_RE"></a>
+
+
+
+ </section>
<section id="to_identifier">
<input id="to_identifier-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -51093,31 +67227,31 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#to_identifier"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="to_identifier-5262"><a href="#to_identifier-5262"><span class="linenos">5262</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
-</span><span id="to_identifier-5263"><a href="#to_identifier-5263"><span class="linenos">5263</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an identifier.</span>
-</span><span id="to_identifier-5264"><a href="#to_identifier-5264"><span class="linenos">5264</span></a>
-</span><span id="to_identifier-5265"><a href="#to_identifier-5265"><span class="linenos">5265</span></a><span class="sd"> Args:</span>
-</span><span id="to_identifier-5266"><a href="#to_identifier-5266"><span class="linenos">5266</span></a><span class="sd"> name: The name to turn into an identifier.</span>
-</span><span id="to_identifier-5267"><a href="#to_identifier-5267"><span class="linenos">5267</span></a><span class="sd"> quoted: Whether or not force quote the identifier.</span>
-</span><span id="to_identifier-5268"><a href="#to_identifier-5268"><span class="linenos">5268</span></a><span class="sd"> copy: Whether or not to copy a passed in Identefier node.</span>
-</span><span id="to_identifier-5269"><a href="#to_identifier-5269"><span class="linenos">5269</span></a>
-</span><span id="to_identifier-5270"><a href="#to_identifier-5270"><span class="linenos">5270</span></a><span class="sd"> Returns:</span>
-</span><span id="to_identifier-5271"><a href="#to_identifier-5271"><span class="linenos">5271</span></a><span class="sd"> The identifier ast node.</span>
-</span><span id="to_identifier-5272"><a href="#to_identifier-5272"><span class="linenos">5272</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="to_identifier-5273"><a href="#to_identifier-5273"><span class="linenos">5273</span></a>
-</span><span id="to_identifier-5274"><a href="#to_identifier-5274"><span class="linenos">5274</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="to_identifier-5275"><a href="#to_identifier-5275"><span class="linenos">5275</span></a> <span class="k">return</span> <span class="kc">None</span>
-</span><span id="to_identifier-5276"><a href="#to_identifier-5276"><span class="linenos">5276</span></a>
-</span><span id="to_identifier-5277"><a href="#to_identifier-5277"><span class="linenos">5277</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Identifier</span><span class="p">):</span>
-</span><span id="to_identifier-5278"><a href="#to_identifier-5278"><span class="linenos">5278</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="to_identifier-5279"><a href="#to_identifier-5279"><span class="linenos">5279</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="to_identifier-5280"><a href="#to_identifier-5280"><span class="linenos">5280</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">Identifier</span><span class="p">(</span>
-</span><span id="to_identifier-5281"><a href="#to_identifier-5281"><span class="linenos">5281</span></a> <span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
-</span><span id="to_identifier-5282"><a href="#to_identifier-5282"><span class="linenos">5282</span></a> <span class="n">quoted</span><span class="o">=</span><span class="ow">not</span> <span class="n">SAFE_IDENTIFIER_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">quoted</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">quoted</span><span class="p">,</span>
-</span><span id="to_identifier-5283"><a href="#to_identifier-5283"><span class="linenos">5283</span></a> <span class="p">)</span>
-</span><span id="to_identifier-5284"><a href="#to_identifier-5284"><span class="linenos">5284</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="to_identifier-5285"><a href="#to_identifier-5285"><span class="linenos">5285</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Name needs to be a string or an Identifier, got: </span><span class="si">{</span><span class="n">name</span><span class="o">.</span><span class="vm">__class__</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="to_identifier-5286"><a href="#to_identifier-5286"><span class="linenos">5286</span></a> <span class="k">return</span> <span class="n">identifier</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="to_identifier-5282"><a href="#to_identifier-5282"><span class="linenos">5282</span></a><span class="k">def</span> <span class="nf">to_identifier</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+</span><span id="to_identifier-5283"><a href="#to_identifier-5283"><span class="linenos">5283</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an identifier.</span>
+</span><span id="to_identifier-5284"><a href="#to_identifier-5284"><span class="linenos">5284</span></a>
+</span><span id="to_identifier-5285"><a href="#to_identifier-5285"><span class="linenos">5285</span></a><span class="sd"> Args:</span>
+</span><span id="to_identifier-5286"><a href="#to_identifier-5286"><span class="linenos">5286</span></a><span class="sd"> name: The name to turn into an identifier.</span>
+</span><span id="to_identifier-5287"><a href="#to_identifier-5287"><span class="linenos">5287</span></a><span class="sd"> quoted: Whether or not force quote the identifier.</span>
+</span><span id="to_identifier-5288"><a href="#to_identifier-5288"><span class="linenos">5288</span></a><span class="sd"> copy: Whether or not to copy a passed in Identefier node.</span>
+</span><span id="to_identifier-5289"><a href="#to_identifier-5289"><span class="linenos">5289</span></a>
+</span><span id="to_identifier-5290"><a href="#to_identifier-5290"><span class="linenos">5290</span></a><span class="sd"> Returns:</span>
+</span><span id="to_identifier-5291"><a href="#to_identifier-5291"><span class="linenos">5291</span></a><span class="sd"> The identifier ast node.</span>
+</span><span id="to_identifier-5292"><a href="#to_identifier-5292"><span class="linenos">5292</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="to_identifier-5293"><a href="#to_identifier-5293"><span class="linenos">5293</span></a>
+</span><span id="to_identifier-5294"><a href="#to_identifier-5294"><span class="linenos">5294</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="to_identifier-5295"><a href="#to_identifier-5295"><span class="linenos">5295</span></a> <span class="k">return</span> <span class="kc">None</span>
+</span><span id="to_identifier-5296"><a href="#to_identifier-5296"><span class="linenos">5296</span></a>
+</span><span id="to_identifier-5297"><a href="#to_identifier-5297"><span class="linenos">5297</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Identifier</span><span class="p">):</span>
+</span><span id="to_identifier-5298"><a href="#to_identifier-5298"><span class="linenos">5298</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="to_identifier-5299"><a href="#to_identifier-5299"><span class="linenos">5299</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="to_identifier-5300"><a href="#to_identifier-5300"><span class="linenos">5300</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">Identifier</span><span class="p">(</span>
+</span><span id="to_identifier-5301"><a href="#to_identifier-5301"><span class="linenos">5301</span></a> <span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
+</span><span id="to_identifier-5302"><a href="#to_identifier-5302"><span class="linenos">5302</span></a> <span class="n">quoted</span><span class="o">=</span><span class="ow">not</span> <span class="n">SAFE_IDENTIFIER_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">quoted</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">quoted</span><span class="p">,</span>
+</span><span id="to_identifier-5303"><a href="#to_identifier-5303"><span class="linenos">5303</span></a> <span class="p">)</span>
+</span><span id="to_identifier-5304"><a href="#to_identifier-5304"><span class="linenos">5304</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="to_identifier-5305"><a href="#to_identifier-5305"><span class="linenos">5305</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Name needs to be a string or an Identifier, got: </span><span class="si">{</span><span class="n">name</span><span class="o">.</span><span class="vm">__class__</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="to_identifier-5306"><a href="#to_identifier-5306"><span class="linenos">5306</span></a> <span class="k">return</span> <span class="n">identifier</span>
</span></pre></div>
@@ -51140,6 +67274,18 @@ If an Expression instance is passed, this is used as-is.</li>
</section>
+ <section id="INTERVAL_STRING_RE">
+ <div class="attr variable">
+ <span class="name">INTERVAL_STRING_RE</span> =
+<span class="default_value">re.compile(&#39;\\s*([0-9]+)\\s*([a-zA-Z]+)\\s*&#39;)</span>
+
+
+ </div>
+ <a class="headerlink" href="#INTERVAL_STRING_RE"></a>
+
+
+
+ </section>
<section id="to_interval">
<input id="to_interval-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
@@ -51151,23 +67297,23 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#to_interval"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="to_interval-5292"><a href="#to_interval-5292"><span class="linenos">5292</span></a><span class="k">def</span> <span class="nf">to_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Literal</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Interval</span><span class="p">:</span>
-</span><span id="to_interval-5293"><a href="#to_interval-5293"><span class="linenos">5293</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an interval expression from a string like &#39;1 day&#39; or &#39;5 months&#39;.&quot;&quot;&quot;</span>
-</span><span id="to_interval-5294"><a href="#to_interval-5294"><span class="linenos">5294</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">interval</span><span class="p">,</span> <span class="n">Literal</span><span class="p">):</span>
-</span><span id="to_interval-5295"><a href="#to_interval-5295"><span class="linenos">5295</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval</span><span class="o">.</span><span class="n">is_string</span><span class="p">:</span>
-</span><span id="to_interval-5296"><a href="#to_interval-5296"><span class="linenos">5296</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
-</span><span id="to_interval-5297"><a href="#to_interval-5297"><span class="linenos">5297</span></a>
-</span><span id="to_interval-5298"><a href="#to_interval-5298"><span class="linenos">5298</span></a> <span class="n">interval</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">this</span>
-</span><span id="to_interval-5299"><a href="#to_interval-5299"><span class="linenos">5299</span></a>
-</span><span id="to_interval-5300"><a href="#to_interval-5300"><span class="linenos">5300</span></a> <span class="n">interval_parts</span> <span class="o">=</span> <span class="n">INTERVAL_STRING_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">interval</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="to_interval-5301"><a href="#to_interval-5301"><span class="linenos">5301</span></a>
-</span><span id="to_interval-5302"><a href="#to_interval-5302"><span class="linenos">5302</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval_parts</span><span class="p">:</span>
-</span><span id="to_interval-5303"><a href="#to_interval-5303"><span class="linenos">5303</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
-</span><span id="to_interval-5304"><a href="#to_interval-5304"><span class="linenos">5304</span></a>
-</span><span id="to_interval-5305"><a href="#to_interval-5305"><span class="linenos">5305</span></a> <span class="k">return</span> <span class="n">Interval</span><span class="p">(</span>
-</span><span id="to_interval-5306"><a href="#to_interval-5306"><span class="linenos">5306</span></a> <span class="n">this</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">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span>
-</span><span id="to_interval-5307"><a href="#to_interval-5307"><span class="linenos">5307</span></a> <span class="n">unit</span><span class="o">=</span><span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)),</span>
-</span><span id="to_interval-5308"><a href="#to_interval-5308"><span class="linenos">5308</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="to_interval-5312"><a href="#to_interval-5312"><span class="linenos">5312</span></a><span class="k">def</span> <span class="nf">to_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Literal</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Interval</span><span class="p">:</span>
+</span><span id="to_interval-5313"><a href="#to_interval-5313"><span class="linenos">5313</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Builds an interval expression from a string like &#39;1 day&#39; or &#39;5 months&#39;.&quot;&quot;&quot;</span>
+</span><span id="to_interval-5314"><a href="#to_interval-5314"><span class="linenos">5314</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">interval</span><span class="p">,</span> <span class="n">Literal</span><span class="p">):</span>
+</span><span id="to_interval-5315"><a href="#to_interval-5315"><span class="linenos">5315</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval</span><span class="o">.</span><span class="n">is_string</span><span class="p">:</span>
+</span><span id="to_interval-5316"><a href="#to_interval-5316"><span class="linenos">5316</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
+</span><span id="to_interval-5317"><a href="#to_interval-5317"><span class="linenos">5317</span></a>
+</span><span id="to_interval-5318"><a href="#to_interval-5318"><span class="linenos">5318</span></a> <span class="n">interval</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">this</span>
+</span><span id="to_interval-5319"><a href="#to_interval-5319"><span class="linenos">5319</span></a>
+</span><span id="to_interval-5320"><a href="#to_interval-5320"><span class="linenos">5320</span></a> <span class="n">interval_parts</span> <span class="o">=</span> <span class="n">INTERVAL_STRING_RE</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">interval</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="to_interval-5321"><a href="#to_interval-5321"><span class="linenos">5321</span></a>
+</span><span id="to_interval-5322"><a href="#to_interval-5322"><span class="linenos">5322</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">interval_parts</span><span class="p">:</span>
+</span><span id="to_interval-5323"><a href="#to_interval-5323"><span class="linenos">5323</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Invalid interval string.&quot;</span><span class="p">)</span>
+</span><span id="to_interval-5324"><a href="#to_interval-5324"><span class="linenos">5324</span></a>
+</span><span id="to_interval-5325"><a href="#to_interval-5325"><span class="linenos">5325</span></a> <span class="k">return</span> <span class="n">Interval</span><span class="p">(</span>
+</span><span id="to_interval-5326"><a href="#to_interval-5326"><span class="linenos">5326</span></a> <span class="n">this</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">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span>
+</span><span id="to_interval-5327"><a href="#to_interval-5327"><span class="linenos">5327</span></a> <span class="n">unit</span><span class="o">=</span><span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">interval_parts</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">)),</span>
+</span><span id="to_interval-5328"><a href="#to_interval-5328"><span class="linenos">5328</span></a> <span class="p">)</span>
</span></pre></div>
@@ -51187,32 +67333,32 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#to_table"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="to_table-5321"><a href="#to_table-5321"><span class="linenos">5321</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span>
-</span><span id="to_table-5322"><a href="#to_table-5322"><span class="linenos">5322</span></a> <span class="n">sql_path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">],</span> <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 class="o">**</span><span class="n">kwargs</span>
-</span><span id="to_table-5323"><a href="#to_table-5323"><span class="linenos">5323</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Table</span><span class="p">]:</span>
-</span><span id="to_table-5324"><a href="#to_table-5324"><span class="linenos">5324</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="to_table-5325"><a href="#to_table-5325"><span class="linenos">5325</span></a><span class="sd"> Create a table expression from a `[catalog].[schema].[table]` sql path. Catalog and schema are optional.</span>
-</span><span id="to_table-5326"><a href="#to_table-5326"><span class="linenos">5326</span></a><span class="sd"> If a table is passed in then that table is returned.</span>
-</span><span id="to_table-5327"><a href="#to_table-5327"><span class="linenos">5327</span></a>
-</span><span id="to_table-5328"><a href="#to_table-5328"><span class="linenos">5328</span></a><span class="sd"> Args:</span>
-</span><span id="to_table-5329"><a href="#to_table-5329"><span class="linenos">5329</span></a><span class="sd"> sql_path: a `[catalog].[schema].[table]` string.</span>
-</span><span id="to_table-5330"><a href="#to_table-5330"><span class="linenos">5330</span></a><span class="sd"> dialect: the source dialect according to which the table name will be parsed.</span>
-</span><span id="to_table-5331"><a href="#to_table-5331"><span class="linenos">5331</span></a><span class="sd"> kwargs: the kwargs to instantiate the resulting `Table` expression with.</span>
-</span><span id="to_table-5332"><a href="#to_table-5332"><span class="linenos">5332</span></a>
-</span><span id="to_table-5333"><a href="#to_table-5333"><span class="linenos">5333</span></a><span class="sd"> Returns:</span>
-</span><span id="to_table-5334"><a href="#to_table-5334"><span class="linenos">5334</span></a><span class="sd"> A table expression.</span>
-</span><span id="to_table-5335"><a href="#to_table-5335"><span class="linenos">5335</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="to_table-5336"><a href="#to_table-5336"><span class="linenos">5336</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
-</span><span id="to_table-5337"><a href="#to_table-5337"><span class="linenos">5337</span></a> <span class="k">return</span> <span class="n">sql_path</span>
-</span><span id="to_table-5338"><a href="#to_table-5338"><span class="linenos">5338</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="to_table-5339"><a href="#to_table-5339"><span class="linenos">5339</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for a table: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="to_table-5340"><a href="#to_table-5340"><span class="linenos">5340</span></a>
-</span><span id="to_table-5341"><a href="#to_table-5341"><span class="linenos">5341</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="to_table-5342"><a href="#to_table-5342"><span class="linenos">5342</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="to_table-5343"><a href="#to_table-5343"><span class="linenos">5343</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="to_table-5344"><a href="#to_table-5344"><span class="linenos">5344</span></a> <span class="n">table</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
-</span><span id="to_table-5345"><a href="#to_table-5345"><span class="linenos">5345</span></a>
-</span><span id="to_table-5346"><a href="#to_table-5346"><span class="linenos">5346</span></a> <span class="k">return</span> <span class="n">table</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="to_table-5341"><a href="#to_table-5341"><span class="linenos">5341</span></a><span class="k">def</span> <span class="nf">to_table</span><span class="p">(</span>
+</span><span id="to_table-5342"><a href="#to_table-5342"><span class="linenos">5342</span></a> <span class="n">sql_path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">],</span> <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 class="o">**</span><span class="n">kwargs</span>
+</span><span id="to_table-5343"><a href="#to_table-5343"><span class="linenos">5343</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">Table</span><span class="p">]:</span>
+</span><span id="to_table-5344"><a href="#to_table-5344"><span class="linenos">5344</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="to_table-5345"><a href="#to_table-5345"><span class="linenos">5345</span></a><span class="sd"> Create a table expression from a `[catalog].[schema].[table]` sql path. Catalog and schema are optional.</span>
+</span><span id="to_table-5346"><a href="#to_table-5346"><span class="linenos">5346</span></a><span class="sd"> If a table is passed in then that table is returned.</span>
+</span><span id="to_table-5347"><a href="#to_table-5347"><span class="linenos">5347</span></a>
+</span><span id="to_table-5348"><a href="#to_table-5348"><span class="linenos">5348</span></a><span class="sd"> Args:</span>
+</span><span id="to_table-5349"><a href="#to_table-5349"><span class="linenos">5349</span></a><span class="sd"> sql_path: a `[catalog].[schema].[table]` string.</span>
+</span><span id="to_table-5350"><a href="#to_table-5350"><span class="linenos">5350</span></a><span class="sd"> dialect: the source dialect according to which the table name will be parsed.</span>
+</span><span id="to_table-5351"><a href="#to_table-5351"><span class="linenos">5351</span></a><span class="sd"> kwargs: the kwargs to instantiate the resulting `Table` expression with.</span>
+</span><span id="to_table-5352"><a href="#to_table-5352"><span class="linenos">5352</span></a>
+</span><span id="to_table-5353"><a href="#to_table-5353"><span class="linenos">5353</span></a><span class="sd"> Returns:</span>
+</span><span id="to_table-5354"><a href="#to_table-5354"><span class="linenos">5354</span></a><span class="sd"> A table expression.</span>
+</span><span id="to_table-5355"><a href="#to_table-5355"><span class="linenos">5355</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="to_table-5356"><a href="#to_table-5356"><span class="linenos">5356</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
+</span><span id="to_table-5357"><a href="#to_table-5357"><span class="linenos">5357</span></a> <span class="k">return</span> <span class="n">sql_path</span>
+</span><span id="to_table-5358"><a href="#to_table-5358"><span class="linenos">5358</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="to_table-5359"><a href="#to_table-5359"><span class="linenos">5359</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for a table: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="to_table-5360"><a href="#to_table-5360"><span class="linenos">5360</span></a>
+</span><span id="to_table-5361"><a href="#to_table-5361"><span class="linenos">5361</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">into</span><span class="o">=</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><span id="to_table-5362"><a href="#to_table-5362"><span class="linenos">5362</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="to_table-5363"><a href="#to_table-5363"><span class="linenos">5363</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="to_table-5364"><a href="#to_table-5364"><span class="linenos">5364</span></a> <span class="n">table</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
+</span><span id="to_table-5365"><a href="#to_table-5365"><span class="linenos">5365</span></a>
+</span><span id="to_table-5366"><a href="#to_table-5366"><span class="linenos">5366</span></a> <span class="k">return</span> <span class="n">table</span>
</span></pre></div>
@@ -51247,22 +67393,22 @@ If a table is passed in then that table is returned.</p>
</div>
<a class="headerlink" href="#to_column"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="to_column-5349"><a href="#to_column-5349"><span class="linenos">5349</span></a><span class="k">def</span> <span class="nf">to_column</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Column</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
-</span><span id="to_column-5350"><a href="#to_column-5350"><span class="linenos">5350</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="to_column-5351"><a href="#to_column-5351"><span class="linenos">5351</span></a><span class="sd"> Create a column from a `[table].[column]` sql path. Schema is optional.</span>
-</span><span id="to_column-5352"><a href="#to_column-5352"><span class="linenos">5352</span></a>
-</span><span id="to_column-5353"><a href="#to_column-5353"><span class="linenos">5353</span></a><span class="sd"> If a column is passed in then that column is returned.</span>
-</span><span id="to_column-5354"><a href="#to_column-5354"><span class="linenos">5354</span></a>
-</span><span id="to_column-5355"><a href="#to_column-5355"><span class="linenos">5355</span></a><span class="sd"> Args:</span>
-</span><span id="to_column-5356"><a href="#to_column-5356"><span class="linenos">5356</span></a><span class="sd"> sql_path: `[table].[column]` string</span>
-</span><span id="to_column-5357"><a href="#to_column-5357"><span class="linenos">5357</span></a><span class="sd"> Returns:</span>
-</span><span id="to_column-5358"><a href="#to_column-5358"><span class="linenos">5358</span></a><span class="sd"> Table: A column expression</span>
-</span><span id="to_column-5359"><a href="#to_column-5359"><span class="linenos">5359</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="to_column-5360"><a href="#to_column-5360"><span class="linenos">5360</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Column</span><span class="p">):</span>
-</span><span id="to_column-5361"><a href="#to_column-5361"><span class="linenos">5361</span></a> <span class="k">return</span> <span class="n">sql_path</span>
-</span><span id="to_column-5362"><a href="#to_column-5362"><span class="linenos">5362</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="to_column-5363"><a href="#to_column-5363"><span class="linenos">5363</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for column: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="to_column-5364"><a href="#to_column-5364"><span class="linenos">5364</span></a> <span class="k">return</span> <span class="n">column</span><span class="p">(</span><span class="o">*</span><span class="nb">reversed</span><span class="p">(</span><span class="n">sql_path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="to_column-5369"><a href="#to_column-5369"><span class="linenos">5369</span></a><span class="k">def</span> <span class="nf">to_column</span><span class="p">(</span><span class="n">sql_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Column</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
+</span><span id="to_column-5370"><a href="#to_column-5370"><span class="linenos">5370</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="to_column-5371"><a href="#to_column-5371"><span class="linenos">5371</span></a><span class="sd"> Create a column from a `[table].[column]` sql path. Schema is optional.</span>
+</span><span id="to_column-5372"><a href="#to_column-5372"><span class="linenos">5372</span></a>
+</span><span id="to_column-5373"><a href="#to_column-5373"><span class="linenos">5373</span></a><span class="sd"> If a column is passed in then that column is returned.</span>
+</span><span id="to_column-5374"><a href="#to_column-5374"><span class="linenos">5374</span></a>
+</span><span id="to_column-5375"><a href="#to_column-5375"><span class="linenos">5375</span></a><span class="sd"> Args:</span>
+</span><span id="to_column-5376"><a href="#to_column-5376"><span class="linenos">5376</span></a><span class="sd"> sql_path: `[table].[column]` string</span>
+</span><span id="to_column-5377"><a href="#to_column-5377"><span class="linenos">5377</span></a><span class="sd"> Returns:</span>
+</span><span id="to_column-5378"><a href="#to_column-5378"><span class="linenos">5378</span></a><span class="sd"> Table: A column expression</span>
+</span><span id="to_column-5379"><a href="#to_column-5379"><span class="linenos">5379</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="to_column-5380"><a href="#to_column-5380"><span class="linenos">5380</span></a> <span class="k">if</span> <span class="n">sql_path</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="n">Column</span><span class="p">):</span>
+</span><span id="to_column-5381"><a href="#to_column-5381"><span class="linenos">5381</span></a> <span class="k">return</span> <span class="n">sql_path</span>
+</span><span id="to_column-5382"><a href="#to_column-5382"><span class="linenos">5382</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql_path</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="to_column-5383"><a href="#to_column-5383"><span class="linenos">5383</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Invalid type provided for column: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">sql_path</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="to_column-5384"><a href="#to_column-5384"><span class="linenos">5384</span></a> <span class="k">return</span> <span class="n">column</span><span class="p">(</span><span class="o">*</span><span class="nb">reversed</span><span class="p">(</span><span class="n">sql_path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
</span></pre></div>
@@ -51296,61 +67442,61 @@ If a table is passed in then that table is returned.</p>
</div>
<a class="headerlink" href="#alias_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="alias_-5367"><a href="#alias_-5367"><span class="linenos">5367</span></a><span class="k">def</span> <span class="nf">alias_</span><span class="p">(</span>
-</span><span id="alias_-5368"><a href="#alias_-5368"><span class="linenos">5368</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="alias_-5369"><a href="#alias_-5369"><span class="linenos">5369</span></a> <span class="n">alias</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
-</span><span id="alias_-5370"><a href="#alias_-5370"><span class="linenos">5370</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-</span><span id="alias_-5371"><a href="#alias_-5371"><span class="linenos">5371</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="alias_-5372"><a href="#alias_-5372"><span class="linenos">5372</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="alias_-5373"><a href="#alias_-5373"><span class="linenos">5373</span></a> <span class="n">copy</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="alias_-5374"><a href="#alias_-5374"><span class="linenos">5374</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="alias_-5375"><a href="#alias_-5375"><span class="linenos">5375</span></a><span class="p">):</span>
-</span><span id="alias_-5376"><a href="#alias_-5376"><span class="linenos">5376</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Alias expression.</span>
-</span><span id="alias_-5377"><a href="#alias_-5377"><span class="linenos">5377</span></a>
-</span><span id="alias_-5378"><a href="#alias_-5378"><span class="linenos">5378</span></a><span class="sd"> Example:</span>
-</span><span id="alias_-5379"><a href="#alias_-5379"><span class="linenos">5379</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;foo&#39;, &#39;bar&#39;).sql()</span>
-</span><span id="alias_-5380"><a href="#alias_-5380"><span class="linenos">5380</span></a><span class="sd"> &#39;foo AS bar&#39;</span>
-</span><span id="alias_-5381"><a href="#alias_-5381"><span class="linenos">5381</span></a>
-</span><span id="alias_-5382"><a href="#alias_-5382"><span class="linenos">5382</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;(select 1, 2)&#39;, &#39;bar&#39;, table=[&#39;a&#39;, &#39;b&#39;]).sql()</span>
-</span><span id="alias_-5383"><a href="#alias_-5383"><span class="linenos">5383</span></a><span class="sd"> &#39;(SELECT 1, 2) AS bar(a, b)&#39;</span>
-</span><span id="alias_-5384"><a href="#alias_-5384"><span class="linenos">5384</span></a>
-</span><span id="alias_-5385"><a href="#alias_-5385"><span class="linenos">5385</span></a><span class="sd"> Args:</span>
-</span><span id="alias_-5386"><a href="#alias_-5386"><span class="linenos">5386</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="alias_-5387"><a href="#alias_-5387"><span class="linenos">5387</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="alias_-5388"><a href="#alias_-5388"><span class="linenos">5388</span></a><span class="sd"> alias: the alias name to use. If the name has</span>
-</span><span id="alias_-5389"><a href="#alias_-5389"><span class="linenos">5389</span></a><span class="sd"> special characters it is quoted.</span>
-</span><span id="alias_-5390"><a href="#alias_-5390"><span class="linenos">5390</span></a><span class="sd"> table: Whether or not to create a table alias, can also be a list of columns.</span>
-</span><span id="alias_-5391"><a href="#alias_-5391"><span class="linenos">5391</span></a><span class="sd"> quoted: whether or not to quote the alias</span>
-</span><span id="alias_-5392"><a href="#alias_-5392"><span class="linenos">5392</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="alias_-5393"><a href="#alias_-5393"><span class="linenos">5393</span></a><span class="sd"> copy: Whether or not to copy the expression.</span>
-</span><span id="alias_-5394"><a href="#alias_-5394"><span class="linenos">5394</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="alias_-5395"><a href="#alias_-5395"><span class="linenos">5395</span></a>
-</span><span id="alias_-5396"><a href="#alias_-5396"><span class="linenos">5396</span></a><span class="sd"> Returns:</span>
-</span><span id="alias_-5397"><a href="#alias_-5397"><span class="linenos">5397</span></a><span class="sd"> Alias: the aliased expression</span>
-</span><span id="alias_-5398"><a href="#alias_-5398"><span class="linenos">5398</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="alias_-5399"><a href="#alias_-5399"><span class="linenos">5399</span></a> <span class="n">exp</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
-</span><span id="alias_-5400"><a href="#alias_-5400"><span class="linenos">5400</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="alias_-5387"><a href="#alias_-5387"><span class="linenos">5387</span></a><span class="k">def</span> <span class="nf">alias_</span><span class="p">(</span>
+</span><span id="alias_-5388"><a href="#alias_-5388"><span class="linenos">5388</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="alias_-5389"><a href="#alias_-5389"><span class="linenos">5389</span></a> <span class="n">alias</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
+</span><span id="alias_-5390"><a href="#alias_-5390"><span class="linenos">5390</span></a> <span class="n">table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+</span><span id="alias_-5391"><a href="#alias_-5391"><span class="linenos">5391</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="alias_-5392"><a href="#alias_-5392"><span class="linenos">5392</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="alias_-5393"><a href="#alias_-5393"><span class="linenos">5393</span></a> <span class="n">copy</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="alias_-5394"><a href="#alias_-5394"><span class="linenos">5394</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="alias_-5395"><a href="#alias_-5395"><span class="linenos">5395</span></a><span class="p">):</span>
+</span><span id="alias_-5396"><a href="#alias_-5396"><span class="linenos">5396</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Alias expression.</span>
+</span><span id="alias_-5397"><a href="#alias_-5397"><span class="linenos">5397</span></a>
+</span><span id="alias_-5398"><a href="#alias_-5398"><span class="linenos">5398</span></a><span class="sd"> Example:</span>
+</span><span id="alias_-5399"><a href="#alias_-5399"><span class="linenos">5399</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;foo&#39;, &#39;bar&#39;).sql()</span>
+</span><span id="alias_-5400"><a href="#alias_-5400"><span class="linenos">5400</span></a><span class="sd"> &#39;foo AS bar&#39;</span>
</span><span id="alias_-5401"><a href="#alias_-5401"><span class="linenos">5401</span></a>
-</span><span id="alias_-5402"><a href="#alias_-5402"><span class="linenos">5402</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="alias_-5403"><a href="#alias_-5403"><span class="linenos">5403</span></a> <span class="n">table_alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="alias_-5404"><a href="#alias_-5404"><span class="linenos">5404</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">table_alias</span><span class="p">)</span>
-</span><span id="alias_-5405"><a href="#alias_-5405"><span class="linenos">5405</span></a>
-</span><span id="alias_-5406"><a href="#alias_-5406"><span class="linenos">5406</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
-</span><span id="alias_-5407"><a href="#alias_-5407"><span class="linenos">5407</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="alias_-5408"><a href="#alias_-5408"><span class="linenos">5408</span></a> <span class="n">table_alias</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;columns&quot;</span><span class="p">,</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">))</span>
-</span><span id="alias_-5409"><a href="#alias_-5409"><span class="linenos">5409</span></a>
-</span><span id="alias_-5410"><a href="#alias_-5410"><span class="linenos">5410</span></a> <span class="k">return</span> <span class="n">exp</span>
-</span><span id="alias_-5411"><a href="#alias_-5411"><span class="linenos">5411</span></a>
-</span><span id="alias_-5412"><a href="#alias_-5412"><span class="linenos">5412</span></a> <span class="c1"># We don&#39;t set the &quot;alias&quot; arg for Window expressions, because that would add an IDENTIFIER node in</span>
-</span><span id="alias_-5413"><a href="#alias_-5413"><span class="linenos">5413</span></a> <span class="c1"># the AST, representing a &quot;named_window&quot; [1] construct (eg. bigquery). What we want is an ALIAS node</span>
-</span><span id="alias_-5414"><a href="#alias_-5414"><span class="linenos">5414</span></a> <span class="c1"># for the complete Window expression.</span>
-</span><span id="alias_-5415"><a href="#alias_-5415"><span class="linenos">5415</span></a> <span class="c1">#</span>
-</span><span id="alias_-5416"><a href="#alias_-5416"><span class="linenos">5416</span></a> <span class="c1"># [1]: https://cloud.google.com/bigquery/docs/reference/standard-sql/window-function-calls</span>
-</span><span id="alias_-5417"><a href="#alias_-5417"><span class="linenos">5417</span></a>
-</span><span id="alias_-5418"><a href="#alias_-5418"><span class="linenos">5418</span></a> <span class="k">if</span> <span class="s2">&quot;alias&quot;</span> <span class="ow">in</span> <span class="n">exp</span><span class="o">.</span><span class="n">arg_types</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exp</span><span class="p">,</span> <span class="n">Window</span><span class="p">):</span>
-</span><span id="alias_-5419"><a href="#alias_-5419"><span class="linenos">5419</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">alias</span><span class="p">)</span>
-</span><span id="alias_-5420"><a href="#alias_-5420"><span class="linenos">5420</span></a> <span class="k">return</span> <span class="n">exp</span>
-</span><span id="alias_-5421"><a href="#alias_-5421"><span class="linenos">5421</span></a> <span class="k">return</span> <span class="n">Alias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">exp</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="alias_-5402"><a href="#alias_-5402"><span class="linenos">5402</span></a><span class="sd"> &gt;&gt;&gt; alias_(&#39;(select 1, 2)&#39;, &#39;bar&#39;, table=[&#39;a&#39;, &#39;b&#39;]).sql()</span>
+</span><span id="alias_-5403"><a href="#alias_-5403"><span class="linenos">5403</span></a><span class="sd"> &#39;(SELECT 1, 2) AS bar(a, b)&#39;</span>
+</span><span id="alias_-5404"><a href="#alias_-5404"><span class="linenos">5404</span></a>
+</span><span id="alias_-5405"><a href="#alias_-5405"><span class="linenos">5405</span></a><span class="sd"> Args:</span>
+</span><span id="alias_-5406"><a href="#alias_-5406"><span class="linenos">5406</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="alias_-5407"><a href="#alias_-5407"><span class="linenos">5407</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="alias_-5408"><a href="#alias_-5408"><span class="linenos">5408</span></a><span class="sd"> alias: the alias name to use. If the name has</span>
+</span><span id="alias_-5409"><a href="#alias_-5409"><span class="linenos">5409</span></a><span class="sd"> special characters it is quoted.</span>
+</span><span id="alias_-5410"><a href="#alias_-5410"><span class="linenos">5410</span></a><span class="sd"> table: Whether or not to create a table alias, can also be a list of columns.</span>
+</span><span id="alias_-5411"><a href="#alias_-5411"><span class="linenos">5411</span></a><span class="sd"> quoted: whether or not to quote the alias</span>
+</span><span id="alias_-5412"><a href="#alias_-5412"><span class="linenos">5412</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="alias_-5413"><a href="#alias_-5413"><span class="linenos">5413</span></a><span class="sd"> copy: Whether or not to copy the expression.</span>
+</span><span id="alias_-5414"><a href="#alias_-5414"><span class="linenos">5414</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="alias_-5415"><a href="#alias_-5415"><span class="linenos">5415</span></a>
+</span><span id="alias_-5416"><a href="#alias_-5416"><span class="linenos">5416</span></a><span class="sd"> Returns:</span>
+</span><span id="alias_-5417"><a href="#alias_-5417"><span class="linenos">5417</span></a><span class="sd"> Alias: the aliased expression</span>
+</span><span id="alias_-5418"><a href="#alias_-5418"><span class="linenos">5418</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="alias_-5419"><a href="#alias_-5419"><span class="linenos">5419</span></a> <span class="n">exp</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
+</span><span id="alias_-5420"><a href="#alias_-5420"><span class="linenos">5420</span></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">)</span>
+</span><span id="alias_-5421"><a href="#alias_-5421"><span class="linenos">5421</span></a>
+</span><span id="alias_-5422"><a href="#alias_-5422"><span class="linenos">5422</span></a> <span class="k">if</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="alias_-5423"><a href="#alias_-5423"><span class="linenos">5423</span></a> <span class="n">table_alias</span> <span class="o">=</span> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="alias_-5424"><a href="#alias_-5424"><span class="linenos">5424</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">table_alias</span><span class="p">)</span>
+</span><span id="alias_-5425"><a href="#alias_-5425"><span class="linenos">5425</span></a>
+</span><span id="alias_-5426"><a href="#alias_-5426"><span class="linenos">5426</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
+</span><span id="alias_-5427"><a href="#alias_-5427"><span class="linenos">5427</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="alias_-5428"><a href="#alias_-5428"><span class="linenos">5428</span></a> <span class="n">table_alias</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;columns&quot;</span><span class="p">,</span> <span class="n">to_identifier</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">))</span>
+</span><span id="alias_-5429"><a href="#alias_-5429"><span class="linenos">5429</span></a>
+</span><span id="alias_-5430"><a href="#alias_-5430"><span class="linenos">5430</span></a> <span class="k">return</span> <span class="n">exp</span>
+</span><span id="alias_-5431"><a href="#alias_-5431"><span class="linenos">5431</span></a>
+</span><span id="alias_-5432"><a href="#alias_-5432"><span class="linenos">5432</span></a> <span class="c1"># We don&#39;t set the &quot;alias&quot; arg for Window expressions, because that would add an IDENTIFIER node in</span>
+</span><span id="alias_-5433"><a href="#alias_-5433"><span class="linenos">5433</span></a> <span class="c1"># the AST, representing a &quot;named_window&quot; [1] construct (eg. bigquery). What we want is an ALIAS node</span>
+</span><span id="alias_-5434"><a href="#alias_-5434"><span class="linenos">5434</span></a> <span class="c1"># for the complete Window expression.</span>
+</span><span id="alias_-5435"><a href="#alias_-5435"><span class="linenos">5435</span></a> <span class="c1">#</span>
+</span><span id="alias_-5436"><a href="#alias_-5436"><span class="linenos">5436</span></a> <span class="c1"># [1]: https://cloud.google.com/bigquery/docs/reference/standard-sql/window-function-calls</span>
+</span><span id="alias_-5437"><a href="#alias_-5437"><span class="linenos">5437</span></a>
+</span><span id="alias_-5438"><a href="#alias_-5438"><span class="linenos">5438</span></a> <span class="k">if</span> <span class="s2">&quot;alias&quot;</span> <span class="ow">in</span> <span class="n">exp</span><span class="o">.</span><span class="n">arg_types</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exp</span><span class="p">,</span> <span class="n">Window</span><span class="p">):</span>
+</span><span id="alias_-5439"><a href="#alias_-5439"><span class="linenos">5439</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&quot;alias&quot;</span><span class="p">,</span> <span class="n">alias</span><span class="p">)</span>
+</span><span id="alias_-5440"><a href="#alias_-5440"><span class="linenos">5440</span></a> <span class="k">return</span> <span class="n">exp</span>
+</span><span id="alias_-5441"><a href="#alias_-5441"><span class="linenos">5441</span></a> <span class="k">return</span> <span class="n">Alias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">exp</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
</span></pre></div>
@@ -51406,32 +67552,32 @@ special characters it is quoted.</li>
</div>
<a class="headerlink" href="#subquery"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="subquery-5424"><a href="#subquery-5424"><span class="linenos">5424</span></a><span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span>
-</span><span id="subquery-5425"><a href="#subquery-5425"><span class="linenos">5425</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
-</span><span id="subquery-5426"><a href="#subquery-5426"><span class="linenos">5426</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="subquery-5427"><a href="#subquery-5427"><span class="linenos">5427</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="subquery-5428"><a href="#subquery-5428"><span class="linenos">5428</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
-</span><span id="subquery-5429"><a href="#subquery-5429"><span class="linenos">5429</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
-</span><span id="subquery-5430"><a href="#subquery-5430"><span class="linenos">5430</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="subquery-5431"><a href="#subquery-5431"><span class="linenos">5431</span></a><span class="sd"> Build a subquery expression.</span>
-</span><span id="subquery-5432"><a href="#subquery-5432"><span class="linenos">5432</span></a>
-</span><span id="subquery-5433"><a href="#subquery-5433"><span class="linenos">5433</span></a><span class="sd"> Example:</span>
-</span><span id="subquery-5434"><a href="#subquery-5434"><span class="linenos">5434</span></a><span class="sd"> &gt;&gt;&gt; subquery(&#39;select x from tbl&#39;, &#39;bar&#39;).select(&#39;x&#39;).sql()</span>
-</span><span id="subquery-5435"><a href="#subquery-5435"><span class="linenos">5435</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl) AS bar&#39;</span>
-</span><span id="subquery-5436"><a href="#subquery-5436"><span class="linenos">5436</span></a>
-</span><span id="subquery-5437"><a href="#subquery-5437"><span class="linenos">5437</span></a><span class="sd"> Args:</span>
-</span><span id="subquery-5438"><a href="#subquery-5438"><span class="linenos">5438</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
-</span><span id="subquery-5439"><a href="#subquery-5439"><span class="linenos">5439</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
-</span><span id="subquery-5440"><a href="#subquery-5440"><span class="linenos">5440</span></a><span class="sd"> alias: the alias name to use.</span>
-</span><span id="subquery-5441"><a href="#subquery-5441"><span class="linenos">5441</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
-</span><span id="subquery-5442"><a href="#subquery-5442"><span class="linenos">5442</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
-</span><span id="subquery-5443"><a href="#subquery-5443"><span class="linenos">5443</span></a>
-</span><span id="subquery-5444"><a href="#subquery-5444"><span class="linenos">5444</span></a><span class="sd"> Returns:</span>
-</span><span id="subquery-5445"><a href="#subquery-5445"><span class="linenos">5445</span></a><span class="sd"> A new Select instance with the subquery expression included.</span>
-</span><span id="subquery-5446"><a href="#subquery-5446"><span class="linenos">5446</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="subquery-5447"><a href="#subquery-5447"><span class="linenos">5447</span></a>
-</span><span id="subquery-5448"><a href="#subquery-5448"><span class="linenos">5448</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="p">)</span>
-</span><span id="subquery-5449"><a href="#subquery-5449"><span class="linenos">5449</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="subquery-5444"><a href="#subquery-5444"><span class="linenos">5444</span></a><span class="k">def</span> <span class="nf">subquery</span><span class="p">(</span>
+</span><span id="subquery-5445"><a href="#subquery-5445"><span class="linenos">5445</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span>
+</span><span id="subquery-5446"><a href="#subquery-5446"><span class="linenos">5446</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="subquery-5447"><a href="#subquery-5447"><span class="linenos">5447</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="subquery-5448"><a href="#subquery-5448"><span class="linenos">5448</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
+</span><span id="subquery-5449"><a href="#subquery-5449"><span class="linenos">5449</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Select</span><span class="p">:</span>
+</span><span id="subquery-5450"><a href="#subquery-5450"><span class="linenos">5450</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="subquery-5451"><a href="#subquery-5451"><span class="linenos">5451</span></a><span class="sd"> Build a subquery expression.</span>
+</span><span id="subquery-5452"><a href="#subquery-5452"><span class="linenos">5452</span></a>
+</span><span id="subquery-5453"><a href="#subquery-5453"><span class="linenos">5453</span></a><span class="sd"> Example:</span>
+</span><span id="subquery-5454"><a href="#subquery-5454"><span class="linenos">5454</span></a><span class="sd"> &gt;&gt;&gt; subquery(&#39;select x from tbl&#39;, &#39;bar&#39;).select(&#39;x&#39;).sql()</span>
+</span><span id="subquery-5455"><a href="#subquery-5455"><span class="linenos">5455</span></a><span class="sd"> &#39;SELECT x FROM (SELECT x FROM tbl) AS bar&#39;</span>
+</span><span id="subquery-5456"><a href="#subquery-5456"><span class="linenos">5456</span></a>
+</span><span id="subquery-5457"><a href="#subquery-5457"><span class="linenos">5457</span></a><span class="sd"> Args:</span>
+</span><span id="subquery-5458"><a href="#subquery-5458"><span class="linenos">5458</span></a><span class="sd"> expression: the SQL code strings to parse.</span>
+</span><span id="subquery-5459"><a href="#subquery-5459"><span class="linenos">5459</span></a><span class="sd"> If an Expression instance is passed, this is used as-is.</span>
+</span><span id="subquery-5460"><a href="#subquery-5460"><span class="linenos">5460</span></a><span class="sd"> alias: the alias name to use.</span>
+</span><span id="subquery-5461"><a href="#subquery-5461"><span class="linenos">5461</span></a><span class="sd"> dialect: the dialect used to parse the input expression.</span>
+</span><span id="subquery-5462"><a href="#subquery-5462"><span class="linenos">5462</span></a><span class="sd"> **opts: other options to use to parse the input expressions.</span>
+</span><span id="subquery-5463"><a href="#subquery-5463"><span class="linenos">5463</span></a>
+</span><span id="subquery-5464"><a href="#subquery-5464"><span class="linenos">5464</span></a><span class="sd"> Returns:</span>
+</span><span id="subquery-5465"><a href="#subquery-5465"><span class="linenos">5465</span></a><span class="sd"> A new Select instance with the subquery expression included.</span>
+</span><span id="subquery-5466"><a href="#subquery-5466"><span class="linenos">5466</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="subquery-5467"><a href="#subquery-5467"><span class="linenos">5467</span></a>
+</span><span id="subquery-5468"><a href="#subquery-5468"><span class="linenos">5468</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">alias</span><span class="p">)</span>
+</span><span id="subquery-5469"><a href="#subquery-5469"><span class="linenos">5469</span></a> <span class="k">return</span> <span class="n">Select</span><span class="p">()</span><span class="o">.</span><span class="n">from_</span><span class="p">(</span><span class="n">expression</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="o">**</span><span class="n">opts</span><span class="p">)</span>
</span></pre></div>
@@ -51477,32 +67623,32 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#column"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="column-5452"><a href="#column-5452"><span class="linenos">5452</span></a><span class="k">def</span> <span class="nf">column</span><span class="p">(</span>
-</span><span id="column-5453"><a href="#column-5453"><span class="linenos">5453</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
-</span><span id="column-5454"><a href="#column-5454"><span class="linenos">5454</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="column-5455"><a href="#column-5455"><span class="linenos">5455</span></a> <span class="n">db</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="column-5456"><a href="#column-5456"><span class="linenos">5456</span></a> <span class="n">catalog</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="column-5457"><a href="#column-5457"><span class="linenos">5457</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="column-5458"><a href="#column-5458"><span class="linenos">5458</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
-</span><span id="column-5459"><a href="#column-5459"><span class="linenos">5459</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="column-5460"><a href="#column-5460"><span class="linenos">5460</span></a><span class="sd"> Build a Column.</span>
-</span><span id="column-5461"><a href="#column-5461"><span class="linenos">5461</span></a>
-</span><span id="column-5462"><a href="#column-5462"><span class="linenos">5462</span></a><span class="sd"> Args:</span>
-</span><span id="column-5463"><a href="#column-5463"><span class="linenos">5463</span></a><span class="sd"> col: Column name.</span>
-</span><span id="column-5464"><a href="#column-5464"><span class="linenos">5464</span></a><span class="sd"> table: Table name.</span>
-</span><span id="column-5465"><a href="#column-5465"><span class="linenos">5465</span></a><span class="sd"> db: Database name.</span>
-</span><span id="column-5466"><a href="#column-5466"><span class="linenos">5466</span></a><span class="sd"> catalog: Catalog name.</span>
-</span><span id="column-5467"><a href="#column-5467"><span class="linenos">5467</span></a><span class="sd"> quoted: Whether to force quotes on the column&#39;s identifiers.</span>
-</span><span id="column-5468"><a href="#column-5468"><span class="linenos">5468</span></a>
-</span><span id="column-5469"><a href="#column-5469"><span class="linenos">5469</span></a><span class="sd"> Returns:</span>
-</span><span id="column-5470"><a href="#column-5470"><span class="linenos">5470</span></a><span class="sd"> The new Column instance.</span>
-</span><span id="column-5471"><a href="#column-5471"><span class="linenos">5471</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="column-5472"><a href="#column-5472"><span class="linenos">5472</span></a> <span class="k">return</span> <span class="n">Column</span><span class="p">(</span>
-</span><span id="column-5473"><a href="#column-5473"><span class="linenos">5473</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">col</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="column-5474"><a href="#column-5474"><span class="linenos">5474</span></a> <span class="n">table</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="column-5475"><a href="#column-5475"><span class="linenos">5475</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="column-5476"><a href="#column-5476"><span class="linenos">5476</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="column-5477"><a href="#column-5477"><span class="linenos">5477</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="column-5472"><a href="#column-5472"><span class="linenos">5472</span></a><span class="k">def</span> <span class="nf">column</span><span class="p">(</span>
+</span><span id="column-5473"><a href="#column-5473"><span class="linenos">5473</span></a> <span class="n">col</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">,</span>
+</span><span id="column-5474"><a href="#column-5474"><span class="linenos">5474</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="column-5475"><a href="#column-5475"><span class="linenos">5475</span></a> <span class="n">db</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="column-5476"><a href="#column-5476"><span class="linenos">5476</span></a> <span class="n">catalog</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span> <span class="o">|</span> <span class="n">Identifier</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="column-5477"><a href="#column-5477"><span class="linenos">5477</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="column-5478"><a href="#column-5478"><span class="linenos">5478</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Column</span><span class="p">:</span>
+</span><span id="column-5479"><a href="#column-5479"><span class="linenos">5479</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="column-5480"><a href="#column-5480"><span class="linenos">5480</span></a><span class="sd"> Build a Column.</span>
+</span><span id="column-5481"><a href="#column-5481"><span class="linenos">5481</span></a>
+</span><span id="column-5482"><a href="#column-5482"><span class="linenos">5482</span></a><span class="sd"> Args:</span>
+</span><span id="column-5483"><a href="#column-5483"><span class="linenos">5483</span></a><span class="sd"> col: Column name.</span>
+</span><span id="column-5484"><a href="#column-5484"><span class="linenos">5484</span></a><span class="sd"> table: Table name.</span>
+</span><span id="column-5485"><a href="#column-5485"><span class="linenos">5485</span></a><span class="sd"> db: Database name.</span>
+</span><span id="column-5486"><a href="#column-5486"><span class="linenos">5486</span></a><span class="sd"> catalog: Catalog name.</span>
+</span><span id="column-5487"><a href="#column-5487"><span class="linenos">5487</span></a><span class="sd"> quoted: Whether to force quotes on the column&#39;s identifiers.</span>
+</span><span id="column-5488"><a href="#column-5488"><span class="linenos">5488</span></a>
+</span><span id="column-5489"><a href="#column-5489"><span class="linenos">5489</span></a><span class="sd"> Returns:</span>
+</span><span id="column-5490"><a href="#column-5490"><span class="linenos">5490</span></a><span class="sd"> The new Column instance.</span>
+</span><span id="column-5491"><a href="#column-5491"><span class="linenos">5491</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="column-5492"><a href="#column-5492"><span class="linenos">5492</span></a> <span class="k">return</span> <span class="n">Column</span><span class="p">(</span>
+</span><span id="column-5493"><a href="#column-5493"><span class="linenos">5493</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">col</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="column-5494"><a href="#column-5494"><span class="linenos">5494</span></a> <span class="n">table</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="column-5495"><a href="#column-5495"><span class="linenos">5495</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="column-5496"><a href="#column-5496"><span class="linenos">5496</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="column-5497"><a href="#column-5497"><span class="linenos">5497</span></a> <span class="p">)</span>
</span></pre></div>
@@ -51538,22 +67684,22 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#cast"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="cast-5480"><a href="#cast-5480"><span class="linenos">5480</span></a><span class="k">def</span> <span class="nf">cast</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Cast</span><span class="p">:</span>
-</span><span id="cast-5481"><a href="#cast-5481"><span class="linenos">5481</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Cast an expression to a data type.</span>
-</span><span id="cast-5482"><a href="#cast-5482"><span class="linenos">5482</span></a>
-</span><span id="cast-5483"><a href="#cast-5483"><span class="linenos">5483</span></a><span class="sd"> Example:</span>
-</span><span id="cast-5484"><a href="#cast-5484"><span class="linenos">5484</span></a><span class="sd"> &gt;&gt;&gt; cast(&#39;x + 1&#39;, &#39;int&#39;).sql()</span>
-</span><span id="cast-5485"><a href="#cast-5485"><span class="linenos">5485</span></a><span class="sd"> &#39;CAST(x + 1 AS INT)&#39;</span>
-</span><span id="cast-5486"><a href="#cast-5486"><span class="linenos">5486</span></a>
-</span><span id="cast-5487"><a href="#cast-5487"><span class="linenos">5487</span></a><span class="sd"> Args:</span>
-</span><span id="cast-5488"><a href="#cast-5488"><span class="linenos">5488</span></a><span class="sd"> expression: The expression to cast.</span>
-</span><span id="cast-5489"><a href="#cast-5489"><span class="linenos">5489</span></a><span class="sd"> to: The datatype to cast to.</span>
-</span><span id="cast-5490"><a href="#cast-5490"><span class="linenos">5490</span></a>
-</span><span id="cast-5491"><a href="#cast-5491"><span class="linenos">5491</span></a><span class="sd"> Returns:</span>
-</span><span id="cast-5492"><a href="#cast-5492"><span class="linenos">5492</span></a><span class="sd"> The new Cast instance.</span>
-</span><span id="cast-5493"><a href="#cast-5493"><span class="linenos">5493</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="cast-5494"><a href="#cast-5494"><span class="linenos">5494</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</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="cast-5495"><a href="#cast-5495"><span class="linenos">5495</span></a> <span class="k">return</span> <span class="n">Cast</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">to</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="cast-5500"><a href="#cast-5500"><span class="linenos">5500</span></a><span class="k">def</span> <span class="nf">cast</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">ExpOrStr</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">DataType</span> <span class="o">|</span> <span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Cast</span><span class="p">:</span>
+</span><span id="cast-5501"><a href="#cast-5501"><span class="linenos">5501</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Cast an expression to a data type.</span>
+</span><span id="cast-5502"><a href="#cast-5502"><span class="linenos">5502</span></a>
+</span><span id="cast-5503"><a href="#cast-5503"><span class="linenos">5503</span></a><span class="sd"> Example:</span>
+</span><span id="cast-5504"><a href="#cast-5504"><span class="linenos">5504</span></a><span class="sd"> &gt;&gt;&gt; cast(&#39;x + 1&#39;, &#39;int&#39;).sql()</span>
+</span><span id="cast-5505"><a href="#cast-5505"><span class="linenos">5505</span></a><span class="sd"> &#39;CAST(x + 1 AS INT)&#39;</span>
+</span><span id="cast-5506"><a href="#cast-5506"><span class="linenos">5506</span></a>
+</span><span id="cast-5507"><a href="#cast-5507"><span class="linenos">5507</span></a><span class="sd"> Args:</span>
+</span><span id="cast-5508"><a href="#cast-5508"><span class="linenos">5508</span></a><span class="sd"> expression: The expression to cast.</span>
+</span><span id="cast-5509"><a href="#cast-5509"><span class="linenos">5509</span></a><span class="sd"> to: The datatype to cast to.</span>
+</span><span id="cast-5510"><a href="#cast-5510"><span class="linenos">5510</span></a>
+</span><span id="cast-5511"><a href="#cast-5511"><span class="linenos">5511</span></a><span class="sd"> Returns:</span>
+</span><span id="cast-5512"><a href="#cast-5512"><span class="linenos">5512</span></a><span class="sd"> The new Cast instance.</span>
+</span><span id="cast-5513"><a href="#cast-5513"><span class="linenos">5513</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="cast-5514"><a href="#cast-5514"><span class="linenos">5514</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">maybe_parse</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="cast-5515"><a href="#cast-5515"><span class="linenos">5515</span></a> <span class="k">return</span> <span class="n">Cast</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">to</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">))</span>
</span></pre></div>
@@ -51596,31 +67742,31 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#table_"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="table_-5498"><a href="#table_-5498"><span class="linenos">5498</span></a><span class="k">def</span> <span class="nf">table_</span><span class="p">(</span>
-</span><span id="table_-5499"><a href="#table_-5499"><span class="linenos">5499</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
-</span><span id="table_-5500"><a href="#table_-5500"><span class="linenos">5500</span></a> <span class="n">db</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="table_-5501"><a href="#table_-5501"><span class="linenos">5501</span></a> <span class="n">catalog</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="table_-5502"><a href="#table_-5502"><span class="linenos">5502</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="table_-5503"><a href="#table_-5503"><span class="linenos">5503</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="table_-5504"><a href="#table_-5504"><span class="linenos">5504</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Table</span><span class="p">:</span>
-</span><span id="table_-5505"><a href="#table_-5505"><span class="linenos">5505</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Table.</span>
-</span><span id="table_-5506"><a href="#table_-5506"><span class="linenos">5506</span></a>
-</span><span id="table_-5507"><a href="#table_-5507"><span class="linenos">5507</span></a><span class="sd"> Args:</span>
-</span><span id="table_-5508"><a href="#table_-5508"><span class="linenos">5508</span></a><span class="sd"> table: Table name.</span>
-</span><span id="table_-5509"><a href="#table_-5509"><span class="linenos">5509</span></a><span class="sd"> db: Database name.</span>
-</span><span id="table_-5510"><a href="#table_-5510"><span class="linenos">5510</span></a><span class="sd"> catalog: Catalog name.</span>
-</span><span id="table_-5511"><a href="#table_-5511"><span class="linenos">5511</span></a><span class="sd"> quote: Whether to force quotes on the table&#39;s identifiers.</span>
-</span><span id="table_-5512"><a href="#table_-5512"><span class="linenos">5512</span></a><span class="sd"> alias: Table&#39;s alias.</span>
-</span><span id="table_-5513"><a href="#table_-5513"><span class="linenos">5513</span></a>
-</span><span id="table_-5514"><a href="#table_-5514"><span class="linenos">5514</span></a><span class="sd"> Returns:</span>
-</span><span id="table_-5515"><a href="#table_-5515"><span class="linenos">5515</span></a><span class="sd"> The new Table instance.</span>
-</span><span id="table_-5516"><a href="#table_-5516"><span class="linenos">5516</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="table_-5517"><a href="#table_-5517"><span class="linenos">5517</span></a> <span class="k">return</span> <span class="n">Table</span><span class="p">(</span>
-</span><span id="table_-5518"><a href="#table_-5518"><span class="linenos">5518</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="table_-5519"><a href="#table_-5519"><span class="linenos">5519</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="table_-5520"><a href="#table_-5520"><span class="linenos">5520</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
-</span><span id="table_-5521"><a href="#table_-5521"><span class="linenos">5521</span></a> <span class="n">alias</span><span class="o">=</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="table_-5522"><a href="#table_-5522"><span class="linenos">5522</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="table_-5518"><a href="#table_-5518"><span class="linenos">5518</span></a><span class="k">def</span> <span class="nf">table_</span><span class="p">(</span>
+</span><span id="table_-5519"><a href="#table_-5519"><span class="linenos">5519</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
+</span><span id="table_-5520"><a href="#table_-5520"><span class="linenos">5520</span></a> <span class="n">db</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="table_-5521"><a href="#table_-5521"><span class="linenos">5521</span></a> <span class="n">catalog</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="table_-5522"><a href="#table_-5522"><span class="linenos">5522</span></a> <span class="n">quoted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="table_-5523"><a href="#table_-5523"><span class="linenos">5523</span></a> <span class="n">alias</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">Identifier</span> <span class="o">|</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="table_-5524"><a href="#table_-5524"><span class="linenos">5524</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Table</span><span class="p">:</span>
+</span><span id="table_-5525"><a href="#table_-5525"><span class="linenos">5525</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a Table.</span>
+</span><span id="table_-5526"><a href="#table_-5526"><span class="linenos">5526</span></a>
+</span><span id="table_-5527"><a href="#table_-5527"><span class="linenos">5527</span></a><span class="sd"> Args:</span>
+</span><span id="table_-5528"><a href="#table_-5528"><span class="linenos">5528</span></a><span class="sd"> table: Table name.</span>
+</span><span id="table_-5529"><a href="#table_-5529"><span class="linenos">5529</span></a><span class="sd"> db: Database name.</span>
+</span><span id="table_-5530"><a href="#table_-5530"><span class="linenos">5530</span></a><span class="sd"> catalog: Catalog name.</span>
+</span><span id="table_-5531"><a href="#table_-5531"><span class="linenos">5531</span></a><span class="sd"> quote: Whether to force quotes on the table&#39;s identifiers.</span>
+</span><span id="table_-5532"><a href="#table_-5532"><span class="linenos">5532</span></a><span class="sd"> alias: Table&#39;s alias.</span>
+</span><span id="table_-5533"><a href="#table_-5533"><span class="linenos">5533</span></a>
+</span><span id="table_-5534"><a href="#table_-5534"><span class="linenos">5534</span></a><span class="sd"> Returns:</span>
+</span><span id="table_-5535"><a href="#table_-5535"><span class="linenos">5535</span></a><span class="sd"> The new Table instance.</span>
+</span><span id="table_-5536"><a href="#table_-5536"><span class="linenos">5536</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="table_-5537"><a href="#table_-5537"><span class="linenos">5537</span></a> <span class="k">return</span> <span class="n">Table</span><span class="p">(</span>
+</span><span id="table_-5538"><a href="#table_-5538"><span class="linenos">5538</span></a> <span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="table_-5539"><a href="#table_-5539"><span class="linenos">5539</span></a> <span class="n">db</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">db</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="table_-5540"><a href="#table_-5540"><span class="linenos">5540</span></a> <span class="n">catalog</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">catalog</span><span class="p">,</span> <span class="n">quoted</span><span class="o">=</span><span class="n">quoted</span><span class="p">),</span>
+</span><span id="table_-5541"><a href="#table_-5541"><span class="linenos">5541</span></a> <span class="n">alias</span><span class="o">=</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="table_-5542"><a href="#table_-5542"><span class="linenos">5542</span></a> <span class="p">)</span>
</span></pre></div>
@@ -51656,37 +67802,37 @@ If an Expression instance is passed, this is used as-is.</li>
</div>
<a class="headerlink" href="#values"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="values-5525"><a href="#values-5525"><span class="linenos">5525</span></a><span class="k">def</span> <span class="nf">values</span><span class="p">(</span>
-</span><span id="values-5526"><a href="#values-5526"><span class="linenos">5526</span></a> <span class="n">values</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">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="o">...</span><span class="p">]],</span>
-</span><span id="values-5527"><a href="#values-5527"><span class="linenos">5527</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="values-5528"><a href="#values-5528"><span class="linenos">5528</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">DataType</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-</span><span id="values-5529"><a href="#values-5529"><span class="linenos">5529</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Values</span><span class="p">:</span>
-</span><span id="values-5530"><a href="#values-5530"><span class="linenos">5530</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build VALUES statement.</span>
-</span><span id="values-5531"><a href="#values-5531"><span class="linenos">5531</span></a>
-</span><span id="values-5532"><a href="#values-5532"><span class="linenos">5532</span></a><span class="sd"> Example:</span>
-</span><span id="values-5533"><a href="#values-5533"><span class="linenos">5533</span></a><span class="sd"> &gt;&gt;&gt; values([(1, &#39;2&#39;)]).sql()</span>
-</span><span id="values-5534"><a href="#values-5534"><span class="linenos">5534</span></a><span class="sd"> &quot;VALUES (1, &#39;2&#39;)&quot;</span>
-</span><span id="values-5535"><a href="#values-5535"><span class="linenos">5535</span></a>
-</span><span id="values-5536"><a href="#values-5536"><span class="linenos">5536</span></a><span class="sd"> Args:</span>
-</span><span id="values-5537"><a href="#values-5537"><span class="linenos">5537</span></a><span class="sd"> values: values statements that will be converted to SQL</span>
-</span><span id="values-5538"><a href="#values-5538"><span class="linenos">5538</span></a><span class="sd"> alias: optional alias</span>
-</span><span id="values-5539"><a href="#values-5539"><span class="linenos">5539</span></a><span class="sd"> columns: Optional list of ordered column names or ordered dictionary of column names to types.</span>
-</span><span id="values-5540"><a href="#values-5540"><span class="linenos">5540</span></a><span class="sd"> If either are provided then an alias is also required.</span>
-</span><span id="values-5541"><a href="#values-5541"><span class="linenos">5541</span></a>
-</span><span id="values-5542"><a href="#values-5542"><span class="linenos">5542</span></a><span class="sd"> Returns:</span>
-</span><span id="values-5543"><a href="#values-5543"><span class="linenos">5543</span></a><span class="sd"> Values: the Values expression object</span>
-</span><span id="values-5544"><a href="#values-5544"><span class="linenos">5544</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="values-5545"><a href="#values-5545"><span class="linenos">5545</span></a> <span class="k">if</span> <span class="n">columns</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">alias</span><span class="p">:</span>
-</span><span id="values-5546"><a href="#values-5546"><span class="linenos">5546</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Alias is required when providing columns&quot;</span><span class="p">)</span>
-</span><span id="values-5547"><a href="#values-5547"><span class="linenos">5547</span></a>
-</span><span id="values-5548"><a href="#values-5548"><span class="linenos">5548</span></a> <span class="k">return</span> <span class="n">Values</span><span class="p">(</span>
-</span><span id="values-5549"><a href="#values-5549"><span class="linenos">5549</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">tup</span><span class="p">)</span> <span class="k">for</span> <span class="n">tup</span> <span class="ow">in</span> <span class="n">values</span><span class="p">],</span>
-</span><span id="values-5550"><a href="#values-5550"><span class="linenos">5550</span></a> <span class="n">alias</span><span class="o">=</span><span class="p">(</span>
-</span><span id="values-5551"><a href="#values-5551"><span class="linenos">5551</span></a> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">),</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">columns</span><span class="p">])</span>
-</span><span id="values-5552"><a href="#values-5552"><span class="linenos">5552</span></a> <span class="k">if</span> <span class="n">columns</span>
-</span><span id="values-5553"><a href="#values-5553"><span class="linenos">5553</span></a> <span class="k">else</span> <span class="p">(</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
-</span><span id="values-5554"><a href="#values-5554"><span class="linenos">5554</span></a> <span class="p">),</span>
-</span><span id="values-5555"><a href="#values-5555"><span class="linenos">5555</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="values-5545"><a href="#values-5545"><span class="linenos">5545</span></a><span class="k">def</span> <span class="nf">values</span><span class="p">(</span>
+</span><span id="values-5546"><a href="#values-5546"><span class="linenos">5546</span></a> <span class="n">values</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">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="o">...</span><span class="p">]],</span>
+</span><span id="values-5547"><a href="#values-5547"><span class="linenos">5547</span></a> <span class="n">alias</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="values-5548"><a href="#values-5548"><span class="linenos">5548</span></a> <span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">DataType</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+</span><span id="values-5549"><a href="#values-5549"><span class="linenos">5549</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Values</span><span class="p">:</span>
+</span><span id="values-5550"><a href="#values-5550"><span class="linenos">5550</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build VALUES statement.</span>
+</span><span id="values-5551"><a href="#values-5551"><span class="linenos">5551</span></a>
+</span><span id="values-5552"><a href="#values-5552"><span class="linenos">5552</span></a><span class="sd"> Example:</span>
+</span><span id="values-5553"><a href="#values-5553"><span class="linenos">5553</span></a><span class="sd"> &gt;&gt;&gt; values([(1, &#39;2&#39;)]).sql()</span>
+</span><span id="values-5554"><a href="#values-5554"><span class="linenos">5554</span></a><span class="sd"> &quot;VALUES (1, &#39;2&#39;)&quot;</span>
+</span><span id="values-5555"><a href="#values-5555"><span class="linenos">5555</span></a>
+</span><span id="values-5556"><a href="#values-5556"><span class="linenos">5556</span></a><span class="sd"> Args:</span>
+</span><span id="values-5557"><a href="#values-5557"><span class="linenos">5557</span></a><span class="sd"> values: values statements that will be converted to SQL</span>
+</span><span id="values-5558"><a href="#values-5558"><span class="linenos">5558</span></a><span class="sd"> alias: optional alias</span>
+</span><span id="values-5559"><a href="#values-5559"><span class="linenos">5559</span></a><span class="sd"> columns: Optional list of ordered column names or ordered dictionary of column names to types.</span>
+</span><span id="values-5560"><a href="#values-5560"><span class="linenos">5560</span></a><span class="sd"> If either are provided then an alias is also required.</span>
+</span><span id="values-5561"><a href="#values-5561"><span class="linenos">5561</span></a>
+</span><span id="values-5562"><a href="#values-5562"><span class="linenos">5562</span></a><span class="sd"> Returns:</span>
+</span><span id="values-5563"><a href="#values-5563"><span class="linenos">5563</span></a><span class="sd"> Values: the Values expression object</span>
+</span><span id="values-5564"><a href="#values-5564"><span class="linenos">5564</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="values-5565"><a href="#values-5565"><span class="linenos">5565</span></a> <span class="k">if</span> <span class="n">columns</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">alias</span><span class="p">:</span>
+</span><span id="values-5566"><a href="#values-5566"><span class="linenos">5566</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Alias is required when providing columns&quot;</span><span class="p">)</span>
+</span><span id="values-5567"><a href="#values-5567"><span class="linenos">5567</span></a>
+</span><span id="values-5568"><a href="#values-5568"><span class="linenos">5568</span></a> <span class="k">return</span> <span class="n">Values</span><span class="p">(</span>
+</span><span id="values-5569"><a href="#values-5569"><span class="linenos">5569</span></a> <span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">tup</span><span class="p">)</span> <span class="k">for</span> <span class="n">tup</span> <span class="ow">in</span> <span class="n">values</span><span class="p">],</span>
+</span><span id="values-5570"><a href="#values-5570"><span class="linenos">5570</span></a> <span class="n">alias</span><span class="o">=</span><span class="p">(</span>
+</span><span id="values-5571"><a href="#values-5571"><span class="linenos">5571</span></a> <span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">),</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">columns</span><span class="p">])</span>
+</span><span id="values-5572"><a href="#values-5572"><span class="linenos">5572</span></a> <span class="k">if</span> <span class="n">columns</span>
+</span><span id="values-5573"><a href="#values-5573"><span class="linenos">5573</span></a> <span class="k">else</span> <span class="p">(</span><span class="n">TableAlias</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">to_identifier</span><span class="p">(</span><span class="n">alias</span><span class="p">))</span> <span class="k">if</span> <span class="n">alias</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
+</span><span id="values-5574"><a href="#values-5574"><span class="linenos">5574</span></a> <span class="p">),</span>
+</span><span id="values-5575"><a href="#values-5575"><span class="linenos">5575</span></a> <span class="p">)</span>
</span></pre></div>
@@ -51731,28 +67877,28 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#var"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="var-5558"><a href="#var-5558"><span class="linenos">5558</span></a><span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="n">name</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">ExpOrStr</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Var</span><span class="p">:</span>
-</span><span id="var-5559"><a href="#var-5559"><span class="linenos">5559</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a SQL variable.</span>
-</span><span id="var-5560"><a href="#var-5560"><span class="linenos">5560</span></a>
-</span><span id="var-5561"><a href="#var-5561"><span class="linenos">5561</span></a><span class="sd"> Example:</span>
-</span><span id="var-5562"><a href="#var-5562"><span class="linenos">5562</span></a><span class="sd"> &gt;&gt;&gt; repr(var(&#39;x&#39;))</span>
-</span><span id="var-5563"><a href="#var-5563"><span class="linenos">5563</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
-</span><span id="var-5564"><a href="#var-5564"><span class="linenos">5564</span></a>
-</span><span id="var-5565"><a href="#var-5565"><span class="linenos">5565</span></a><span class="sd"> &gt;&gt;&gt; repr(var(column(&#39;x&#39;, table=&#39;y&#39;)))</span>
-</span><span id="var-5566"><a href="#var-5566"><span class="linenos">5566</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
-</span><span id="var-5567"><a href="#var-5567"><span class="linenos">5567</span></a>
-</span><span id="var-5568"><a href="#var-5568"><span class="linenos">5568</span></a><span class="sd"> Args:</span>
-</span><span id="var-5569"><a href="#var-5569"><span class="linenos">5569</span></a><span class="sd"> name: The name of the var or an expression who&#39;s name will become the var.</span>
-</span><span id="var-5570"><a href="#var-5570"><span class="linenos">5570</span></a>
-</span><span id="var-5571"><a href="#var-5571"><span class="linenos">5571</span></a><span class="sd"> Returns:</span>
-</span><span id="var-5572"><a href="#var-5572"><span class="linenos">5572</span></a><span class="sd"> The new variable node.</span>
-</span><span id="var-5573"><a href="#var-5573"><span class="linenos">5573</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="var-5574"><a href="#var-5574"><span class="linenos">5574</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">name</span><span class="p">:</span>
-</span><span id="var-5575"><a href="#var-5575"><span class="linenos">5575</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Cannot convert empty name into var.&quot;</span><span class="p">)</span>
-</span><span id="var-5576"><a href="#var-5576"><span class="linenos">5576</span></a>
-</span><span id="var-5577"><a href="#var-5577"><span class="linenos">5577</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="var-5578"><a href="#var-5578"><span class="linenos">5578</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
-</span><span id="var-5579"><a href="#var-5579"><span class="linenos">5579</span></a> <span class="k">return</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="var-5578"><a href="#var-5578"><span class="linenos">5578</span></a><span class="k">def</span> <span class="nf">var</span><span class="p">(</span><span class="n">name</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">ExpOrStr</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Var</span><span class="p">:</span>
+</span><span id="var-5579"><a href="#var-5579"><span class="linenos">5579</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build a SQL variable.</span>
+</span><span id="var-5580"><a href="#var-5580"><span class="linenos">5580</span></a>
+</span><span id="var-5581"><a href="#var-5581"><span class="linenos">5581</span></a><span class="sd"> Example:</span>
+</span><span id="var-5582"><a href="#var-5582"><span class="linenos">5582</span></a><span class="sd"> &gt;&gt;&gt; repr(var(&#39;x&#39;))</span>
+</span><span id="var-5583"><a href="#var-5583"><span class="linenos">5583</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
+</span><span id="var-5584"><a href="#var-5584"><span class="linenos">5584</span></a>
+</span><span id="var-5585"><a href="#var-5585"><span class="linenos">5585</span></a><span class="sd"> &gt;&gt;&gt; repr(var(column(&#39;x&#39;, table=&#39;y&#39;)))</span>
+</span><span id="var-5586"><a href="#var-5586"><span class="linenos">5586</span></a><span class="sd"> &#39;(VAR this: x)&#39;</span>
+</span><span id="var-5587"><a href="#var-5587"><span class="linenos">5587</span></a>
+</span><span id="var-5588"><a href="#var-5588"><span class="linenos">5588</span></a><span class="sd"> Args:</span>
+</span><span id="var-5589"><a href="#var-5589"><span class="linenos">5589</span></a><span class="sd"> name: The name of the var or an expression who&#39;s name will become the var.</span>
+</span><span id="var-5590"><a href="#var-5590"><span class="linenos">5590</span></a>
+</span><span id="var-5591"><a href="#var-5591"><span class="linenos">5591</span></a><span class="sd"> Returns:</span>
+</span><span id="var-5592"><a href="#var-5592"><span class="linenos">5592</span></a><span class="sd"> The new variable node.</span>
+</span><span id="var-5593"><a href="#var-5593"><span class="linenos">5593</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="var-5594"><a href="#var-5594"><span class="linenos">5594</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">name</span><span class="p">:</span>
+</span><span id="var-5595"><a href="#var-5595"><span class="linenos">5595</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Cannot convert empty name into var.&quot;</span><span class="p">)</span>
+</span><span id="var-5596"><a href="#var-5596"><span class="linenos">5596</span></a>
+</span><span id="var-5597"><a href="#var-5597"><span class="linenos">5597</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="var-5598"><a href="#var-5598"><span class="linenos">5598</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
+</span><span id="var-5599"><a href="#var-5599"><span class="linenos">5599</span></a> <span class="k">return</span> <span class="n">Var</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
</span></pre></div>
@@ -51800,24 +67946,24 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#rename_table"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="rename_table-5582"><a href="#rename_table-5582"><span class="linenos">5582</span></a><span class="k">def</span> <span class="nf">rename_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span> <span class="n">new_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AlterTable</span><span class="p">:</span>
-</span><span id="rename_table-5583"><a href="#rename_table-5583"><span class="linenos">5583</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build ALTER TABLE... RENAME... expression</span>
-</span><span id="rename_table-5584"><a href="#rename_table-5584"><span class="linenos">5584</span></a>
-</span><span id="rename_table-5585"><a href="#rename_table-5585"><span class="linenos">5585</span></a><span class="sd"> Args:</span>
-</span><span id="rename_table-5586"><a href="#rename_table-5586"><span class="linenos">5586</span></a><span class="sd"> old_name: The old name of the table</span>
-</span><span id="rename_table-5587"><a href="#rename_table-5587"><span class="linenos">5587</span></a><span class="sd"> new_name: The new name of the table</span>
-</span><span id="rename_table-5588"><a href="#rename_table-5588"><span class="linenos">5588</span></a>
-</span><span id="rename_table-5589"><a href="#rename_table-5589"><span class="linenos">5589</span></a><span class="sd"> Returns:</span>
-</span><span id="rename_table-5590"><a href="#rename_table-5590"><span class="linenos">5590</span></a><span class="sd"> Alter table expression</span>
-</span><span id="rename_table-5591"><a href="#rename_table-5591"><span class="linenos">5591</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="rename_table-5592"><a href="#rename_table-5592"><span class="linenos">5592</span></a> <span class="n">old_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">)</span>
-</span><span id="rename_table-5593"><a href="#rename_table-5593"><span class="linenos">5593</span></a> <span class="n">new_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
-</span><span id="rename_table-5594"><a href="#rename_table-5594"><span class="linenos">5594</span></a> <span class="k">return</span> <span class="n">AlterTable</span><span class="p">(</span>
-</span><span id="rename_table-5595"><a href="#rename_table-5595"><span class="linenos">5595</span></a> <span class="n">this</span><span class="o">=</span><span class="n">old_table</span><span class="p">,</span>
-</span><span id="rename_table-5596"><a href="#rename_table-5596"><span class="linenos">5596</span></a> <span class="n">actions</span><span class="o">=</span><span class="p">[</span>
-</span><span id="rename_table-5597"><a href="#rename_table-5597"><span class="linenos">5597</span></a> <span class="n">RenameTable</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">new_table</span><span class="p">),</span>
-</span><span id="rename_table-5598"><a href="#rename_table-5598"><span class="linenos">5598</span></a> <span class="p">],</span>
-</span><span id="rename_table-5599"><a href="#rename_table-5599"><span class="linenos">5599</span></a> <span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="rename_table-5602"><a href="#rename_table-5602"><span class="linenos">5602</span></a><span class="k">def</span> <span class="nf">rename_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">,</span> <span class="n">new_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Table</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AlterTable</span><span class="p">:</span>
+</span><span id="rename_table-5603"><a href="#rename_table-5603"><span class="linenos">5603</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Build ALTER TABLE... RENAME... expression</span>
+</span><span id="rename_table-5604"><a href="#rename_table-5604"><span class="linenos">5604</span></a>
+</span><span id="rename_table-5605"><a href="#rename_table-5605"><span class="linenos">5605</span></a><span class="sd"> Args:</span>
+</span><span id="rename_table-5606"><a href="#rename_table-5606"><span class="linenos">5606</span></a><span class="sd"> old_name: The old name of the table</span>
+</span><span id="rename_table-5607"><a href="#rename_table-5607"><span class="linenos">5607</span></a><span class="sd"> new_name: The new name of the table</span>
+</span><span id="rename_table-5608"><a href="#rename_table-5608"><span class="linenos">5608</span></a>
+</span><span id="rename_table-5609"><a href="#rename_table-5609"><span class="linenos">5609</span></a><span class="sd"> Returns:</span>
+</span><span id="rename_table-5610"><a href="#rename_table-5610"><span class="linenos">5610</span></a><span class="sd"> Alter table expression</span>
+</span><span id="rename_table-5611"><a href="#rename_table-5611"><span class="linenos">5611</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="rename_table-5612"><a href="#rename_table-5612"><span class="linenos">5612</span></a> <span class="n">old_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">old_name</span><span class="p">)</span>
+</span><span id="rename_table-5613"><a href="#rename_table-5613"><span class="linenos">5613</span></a> <span class="n">new_table</span> <span class="o">=</span> <span class="n">to_table</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
+</span><span id="rename_table-5614"><a href="#rename_table-5614"><span class="linenos">5614</span></a> <span class="k">return</span> <span class="n">AlterTable</span><span class="p">(</span>
+</span><span id="rename_table-5615"><a href="#rename_table-5615"><span class="linenos">5615</span></a> <span class="n">this</span><span class="o">=</span><span class="n">old_table</span><span class="p">,</span>
+</span><span id="rename_table-5616"><a href="#rename_table-5616"><span class="linenos">5616</span></a> <span class="n">actions</span><span class="o">=</span><span class="p">[</span>
+</span><span id="rename_table-5617"><a href="#rename_table-5617"><span class="linenos">5617</span></a> <span class="n">RenameTable</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">new_table</span><span class="p">),</span>
+</span><span id="rename_table-5618"><a href="#rename_table-5618"><span class="linenos">5618</span></a> <span class="p">],</span>
+</span><span id="rename_table-5619"><a href="#rename_table-5619"><span class="linenos">5619</span></a> <span class="p">)</span>
</span></pre></div>
@@ -51850,46 +67996,46 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#convert"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="convert-5602"><a href="#convert-5602"><span class="linenos">5602</span></a><span class="k">def</span> <span class="nf">convert</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="convert-5603"><a href="#convert-5603"><span class="linenos">5603</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert a python value into an expression object.</span>
-</span><span id="convert-5604"><a href="#convert-5604"><span class="linenos">5604</span></a>
-</span><span id="convert-5605"><a href="#convert-5605"><span class="linenos">5605</span></a><span class="sd"> Raises an error if a conversion is not possible.</span>
-</span><span id="convert-5606"><a href="#convert-5606"><span class="linenos">5606</span></a>
-</span><span id="convert-5607"><a href="#convert-5607"><span class="linenos">5607</span></a><span class="sd"> Args:</span>
-</span><span id="convert-5608"><a href="#convert-5608"><span class="linenos">5608</span></a><span class="sd"> value: A python object.</span>
-</span><span id="convert-5609"><a href="#convert-5609"><span class="linenos">5609</span></a><span class="sd"> copy: Whether or not to copy `value` (only applies to Expressions and collections).</span>
-</span><span id="convert-5610"><a href="#convert-5610"><span class="linenos">5610</span></a>
-</span><span id="convert-5611"><a href="#convert-5611"><span class="linenos">5611</span></a><span class="sd"> Returns:</span>
-</span><span id="convert-5612"><a href="#convert-5612"><span class="linenos">5612</span></a><span class="sd"> Expression: the equivalent expression object.</span>
-</span><span id="convert-5613"><a href="#convert-5613"><span class="linenos">5613</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="convert-5614"><a href="#convert-5614"><span class="linenos">5614</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="convert-5615"><a href="#convert-5615"><span class="linenos">5615</span></a> <span class="k">return</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
-</span><span id="convert-5616"><a href="#convert-5616"><span class="linenos">5616</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
-</span><span id="convert-5617"><a href="#convert-5617"><span class="linenos">5617</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-</span><span id="convert-5618"><a href="#convert-5618"><span class="linenos">5618</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
-</span><span id="convert-5619"><a href="#convert-5619"><span class="linenos">5619</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
-</span><span id="convert-5620"><a href="#convert-5620"><span class="linenos">5620</span></a> <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">float</span><span class="p">)</span> <span class="ow">and</span> <span class="n">math</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">value</span><span class="p">)):</span>
-</span><span id="convert-5621"><a href="#convert-5621"><span class="linenos">5621</span></a> <span class="k">return</span> <span class="n">NULL</span>
-</span><span id="convert-5622"><a href="#convert-5622"><span class="linenos">5622</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numbers</span><span class="o">.</span><span class="n">Number</span><span class="p">):</span>
-</span><span id="convert-5623"><a href="#convert-5623"><span class="linenos">5623</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">number</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-</span><span id="convert-5624"><a href="#convert-5624"><span class="linenos">5624</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">):</span>
-</span><span id="convert-5625"><a href="#convert-5625"><span class="linenos">5625</span></a> <span class="n">datetime_literal</span> <span class="o">=</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span>
-</span><span id="convert-5626"><a href="#convert-5626"><span class="linenos">5626</span></a> <span class="p">(</span><span class="n">value</span> <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">tzinfo</span> <span class="k">else</span> <span class="n">value</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
-</span><span id="convert-5627"><a href="#convert-5627"><span class="linenos">5627</span></a> <span class="p">)</span>
-</span><span id="convert-5628"><a href="#convert-5628"><span class="linenos">5628</span></a> <span class="k">return</span> <span class="n">TimeStrToTime</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">datetime_literal</span><span class="p">)</span>
-</span><span id="convert-5629"><a href="#convert-5629"><span class="linenos">5629</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="p">):</span>
-</span><span id="convert-5630"><a href="#convert-5630"><span class="linenos">5630</span></a> <span class="n">date_literal</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">value</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
-</span><span id="convert-5631"><a href="#convert-5631"><span class="linenos">5631</span></a> <span class="k">return</span> <span class="n">DateStrToDate</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">date_literal</span><span class="p">)</span>
-</span><span id="convert-5632"><a href="#convert-5632"><span class="linenos">5632</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span>
-</span><span id="convert-5633"><a href="#convert-5633"><span class="linenos">5633</span></a> <span class="k">return</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
-</span><span id="convert-5634"><a href="#convert-5634"><span class="linenos">5634</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-</span><span id="convert-5635"><a href="#convert-5635"><span class="linenos">5635</span></a> <span class="k">return</span> <span class="n">Array</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
-</span><span id="convert-5636"><a href="#convert-5636"><span class="linenos">5636</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
-</span><span id="convert-5637"><a href="#convert-5637"><span class="linenos">5637</span></a> <span class="k">return</span> <span class="n">Map</span><span class="p">(</span>
-</span><span id="convert-5638"><a href="#convert-5638"><span class="linenos">5638</span></a> <span class="n">keys</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">value</span><span class="p">],</span>
-</span><span id="convert-5639"><a href="#convert-5639"><span class="linenos">5639</span></a> <span class="n">values</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="o">.</span><span class="n">values</span><span class="p">()],</span>
-</span><span id="convert-5640"><a href="#convert-5640"><span class="linenos">5640</span></a> <span class="p">)</span>
-</span><span id="convert-5641"><a href="#convert-5641"><span class="linenos">5641</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot convert </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="convert-5622"><a href="#convert-5622"><span class="linenos">5622</span></a><span class="k">def</span> <span class="nf">convert</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">,</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="convert-5623"><a href="#convert-5623"><span class="linenos">5623</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert a python value into an expression object.</span>
+</span><span id="convert-5624"><a href="#convert-5624"><span class="linenos">5624</span></a>
+</span><span id="convert-5625"><a href="#convert-5625"><span class="linenos">5625</span></a><span class="sd"> Raises an error if a conversion is not possible.</span>
+</span><span id="convert-5626"><a href="#convert-5626"><span class="linenos">5626</span></a>
+</span><span id="convert-5627"><a href="#convert-5627"><span class="linenos">5627</span></a><span class="sd"> Args:</span>
+</span><span id="convert-5628"><a href="#convert-5628"><span class="linenos">5628</span></a><span class="sd"> value: A python object.</span>
+</span><span id="convert-5629"><a href="#convert-5629"><span class="linenos">5629</span></a><span class="sd"> copy: Whether or not to copy `value` (only applies to Expressions and collections).</span>
+</span><span id="convert-5630"><a href="#convert-5630"><span class="linenos">5630</span></a>
+</span><span id="convert-5631"><a href="#convert-5631"><span class="linenos">5631</span></a><span class="sd"> Returns:</span>
+</span><span id="convert-5632"><a href="#convert-5632"><span class="linenos">5632</span></a><span class="sd"> Expression: the equivalent expression object.</span>
+</span><span id="convert-5633"><a href="#convert-5633"><span class="linenos">5633</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="convert-5634"><a href="#convert-5634"><span class="linenos">5634</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="convert-5635"><a href="#convert-5635"><span class="linenos">5635</span></a> <span class="k">return</span> <span class="n">_maybe_copy</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">copy</span><span class="p">)</span>
+</span><span id="convert-5636"><a href="#convert-5636"><span class="linenos">5636</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+</span><span id="convert-5637"><a href="#convert-5637"><span class="linenos">5637</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+</span><span id="convert-5638"><a href="#convert-5638"><span class="linenos">5638</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
+</span><span id="convert-5639"><a href="#convert-5639"><span class="linenos">5639</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
+</span><span id="convert-5640"><a href="#convert-5640"><span class="linenos">5640</span></a> <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">float</span><span class="p">)</span> <span class="ow">and</span> <span class="n">math</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">value</span><span class="p">)):</span>
+</span><span id="convert-5641"><a href="#convert-5641"><span class="linenos">5641</span></a> <span class="k">return</span> <span class="n">NULL</span>
+</span><span id="convert-5642"><a href="#convert-5642"><span class="linenos">5642</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numbers</span><span class="o">.</span><span class="n">Number</span><span class="p">):</span>
+</span><span id="convert-5643"><a href="#convert-5643"><span class="linenos">5643</span></a> <span class="k">return</span> <span class="n">Literal</span><span class="o">.</span><span class="n">number</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+</span><span id="convert-5644"><a href="#convert-5644"><span class="linenos">5644</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">):</span>
+</span><span id="convert-5645"><a href="#convert-5645"><span class="linenos">5645</span></a> <span class="n">datetime_literal</span> <span class="o">=</span> <span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span>
+</span><span id="convert-5646"><a href="#convert-5646"><span class="linenos">5646</span></a> <span class="p">(</span><span class="n">value</span> <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">tzinfo</span> <span class="k">else</span> <span class="n">value</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+</span><span id="convert-5647"><a href="#convert-5647"><span class="linenos">5647</span></a> <span class="p">)</span>
+</span><span id="convert-5648"><a href="#convert-5648"><span class="linenos">5648</span></a> <span class="k">return</span> <span class="n">TimeStrToTime</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">datetime_literal</span><span class="p">)</span>
+</span><span id="convert-5649"><a href="#convert-5649"><span class="linenos">5649</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="p">):</span>
+</span><span id="convert-5650"><a href="#convert-5650"><span class="linenos">5650</span></a> <span class="n">date_literal</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">value</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
+</span><span id="convert-5651"><a href="#convert-5651"><span class="linenos">5651</span></a> <span class="k">return</span> <span class="n">DateStrToDate</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">date_literal</span><span class="p">)</span>
+</span><span id="convert-5652"><a href="#convert-5652"><span class="linenos">5652</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span>
+</span><span id="convert-5653"><a href="#convert-5653"><span class="linenos">5653</span></a> <span class="k">return</span> <span class="n">Tuple</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
+</span><span id="convert-5654"><a href="#convert-5654"><span class="linenos">5654</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
+</span><span id="convert-5655"><a href="#convert-5655"><span class="linenos">5655</span></a> <span class="k">return</span> <span class="n">Array</span><span class="p">(</span><span class="n">expressions</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
+</span><span id="convert-5656"><a href="#convert-5656"><span class="linenos">5656</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
+</span><span id="convert-5657"><a href="#convert-5657"><span class="linenos">5657</span></a> <span class="k">return</span> <span class="n">Map</span><span class="p">(</span>
+</span><span id="convert-5658"><a href="#convert-5658"><span class="linenos">5658</span></a> <span class="n">keys</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">value</span><span class="p">],</span>
+</span><span id="convert-5659"><a href="#convert-5659"><span class="linenos">5659</span></a> <span class="n">values</span><span class="o">=</span><span class="p">[</span><span class="n">convert</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">value</span><span class="o">.</span><span class="n">values</span><span class="p">()],</span>
+</span><span id="convert-5660"><a href="#convert-5660"><span class="linenos">5660</span></a> <span class="p">)</span>
+</span><span id="convert-5661"><a href="#convert-5661"><span class="linenos">5661</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot convert </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span></pre></div>
@@ -51924,26 +68070,26 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#replace_children"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="replace_children-5644"><a href="#replace_children-5644"><span class="linenos">5644</span></a><span class="k">def</span> <span class="nf">replace_children</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">fun</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-</span><span id="replace_children-5645"><a href="#replace_children-5645"><span class="linenos">5645</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="replace_children-5646"><a href="#replace_children-5646"><span class="linenos">5646</span></a><span class="sd"> Replace children of an expression with the result of a lambda fun(child) -&gt; exp.</span>
-</span><span id="replace_children-5647"><a href="#replace_children-5647"><span class="linenos">5647</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="replace_children-5648"><a href="#replace_children-5648"><span class="linenos">5648</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-</span><span id="replace_children-5649"><a href="#replace_children-5649"><span class="linenos">5649</span></a> <span class="n">is_list_arg</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">list</span>
-</span><span id="replace_children-5650"><a href="#replace_children-5650"><span class="linenos">5650</span></a>
-</span><span id="replace_children-5651"><a href="#replace_children-5651"><span class="linenos">5651</span></a> <span class="n">child_nodes</span> <span class="o">=</span> <span class="n">v</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="p">[</span><span class="n">v</span><span class="p">]</span>
-</span><span id="replace_children-5652"><a href="#replace_children-5652"><span class="linenos">5652</span></a> <span class="n">new_child_nodes</span> <span class="o">=</span> <span class="p">[]</span>
-</span><span id="replace_children-5653"><a href="#replace_children-5653"><span class="linenos">5653</span></a>
-</span><span id="replace_children-5654"><a href="#replace_children-5654"><span class="linenos">5654</span></a> <span class="k">for</span> <span class="n">cn</span> <span class="ow">in</span> <span class="n">child_nodes</span><span class="p">:</span>
-</span><span id="replace_children-5655"><a href="#replace_children-5655"><span class="linenos">5655</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="replace_children-5656"><a href="#replace_children-5656"><span class="linenos">5656</span></a> <span class="k">for</span> <span class="n">child_node</span> <span class="ow">in</span> <span class="n">ensure_collection</span><span class="p">(</span><span class="n">fun</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)):</span>
-</span><span id="replace_children-5657"><a href="#replace_children-5657"><span class="linenos">5657</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">child_node</span><span class="p">)</span>
-</span><span id="replace_children-5658"><a href="#replace_children-5658"><span class="linenos">5658</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">expression</span>
-</span><span id="replace_children-5659"><a href="#replace_children-5659"><span class="linenos">5659</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">arg_key</span> <span class="o">=</span> <span class="n">k</span>
-</span><span id="replace_children-5660"><a href="#replace_children-5660"><span class="linenos">5660</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="replace_children-5661"><a href="#replace_children-5661"><span class="linenos">5661</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cn</span><span class="p">)</span>
-</span><span id="replace_children-5662"><a href="#replace_children-5662"><span class="linenos">5662</span></a>
-</span><span id="replace_children-5663"><a href="#replace_children-5663"><span class="linenos">5663</span></a> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_child_nodes</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="n">seq_get</span><span class="p">(</span><span class="n">new_child_nodes</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="replace_children-5664"><a href="#replace_children-5664"><span class="linenos">5664</span></a><span class="k">def</span> <span class="nf">replace_children</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">fun</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+</span><span id="replace_children-5665"><a href="#replace_children-5665"><span class="linenos">5665</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="replace_children-5666"><a href="#replace_children-5666"><span class="linenos">5666</span></a><span class="sd"> Replace children of an expression with the result of a lambda fun(child) -&gt; exp.</span>
+</span><span id="replace_children-5667"><a href="#replace_children-5667"><span class="linenos">5667</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="replace_children-5668"><a href="#replace_children-5668"><span class="linenos">5668</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+</span><span id="replace_children-5669"><a href="#replace_children-5669"><span class="linenos">5669</span></a> <span class="n">is_list_arg</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">list</span>
+</span><span id="replace_children-5670"><a href="#replace_children-5670"><span class="linenos">5670</span></a>
+</span><span id="replace_children-5671"><a href="#replace_children-5671"><span class="linenos">5671</span></a> <span class="n">child_nodes</span> <span class="o">=</span> <span class="n">v</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="p">[</span><span class="n">v</span><span class="p">]</span>
+</span><span id="replace_children-5672"><a href="#replace_children-5672"><span class="linenos">5672</span></a> <span class="n">new_child_nodes</span> <span class="o">=</span> <span class="p">[]</span>
+</span><span id="replace_children-5673"><a href="#replace_children-5673"><span class="linenos">5673</span></a>
+</span><span id="replace_children-5674"><a href="#replace_children-5674"><span class="linenos">5674</span></a> <span class="k">for</span> <span class="n">cn</span> <span class="ow">in</span> <span class="n">child_nodes</span><span class="p">:</span>
+</span><span id="replace_children-5675"><a href="#replace_children-5675"><span class="linenos">5675</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="replace_children-5676"><a href="#replace_children-5676"><span class="linenos">5676</span></a> <span class="k">for</span> <span class="n">child_node</span> <span class="ow">in</span> <span class="n">ensure_collection</span><span class="p">(</span><span class="n">fun</span><span class="p">(</span><span class="n">cn</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)):</span>
+</span><span id="replace_children-5677"><a href="#replace_children-5677"><span class="linenos">5677</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">child_node</span><span class="p">)</span>
+</span><span id="replace_children-5678"><a href="#replace_children-5678"><span class="linenos">5678</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">expression</span>
+</span><span id="replace_children-5679"><a href="#replace_children-5679"><span class="linenos">5679</span></a> <span class="n">child_node</span><span class="o">.</span><span class="n">arg_key</span> <span class="o">=</span> <span class="n">k</span>
+</span><span id="replace_children-5680"><a href="#replace_children-5680"><span class="linenos">5680</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="replace_children-5681"><a href="#replace_children-5681"><span class="linenos">5681</span></a> <span class="n">new_child_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cn</span><span class="p">)</span>
+</span><span id="replace_children-5682"><a href="#replace_children-5682"><span class="linenos">5682</span></a>
+</span><span id="replace_children-5683"><a href="#replace_children-5683"><span class="linenos">5683</span></a> <span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_child_nodes</span> <span class="k">if</span> <span class="n">is_list_arg</span> <span class="k">else</span> <span class="n">seq_get</span><span class="p">(</span><span class="n">new_child_nodes</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
</span></pre></div>
@@ -51963,27 +68109,27 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#column_table_names"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="column_table_names-5666"><a href="#column_table_names-5666"><span class="linenos">5666</span></a><span class="k">def</span> <span class="nf">column_table_names</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">exclude</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
-</span><span id="column_table_names-5667"><a href="#column_table_names-5667"><span class="linenos">5667</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="column_table_names-5668"><a href="#column_table_names-5668"><span class="linenos">5668</span></a><span class="sd"> Return all table names referenced through columns in an expression.</span>
-</span><span id="column_table_names-5669"><a href="#column_table_names-5669"><span class="linenos">5669</span></a>
-</span><span id="column_table_names-5670"><a href="#column_table_names-5670"><span class="linenos">5670</span></a><span class="sd"> Example:</span>
-</span><span id="column_table_names-5671"><a href="#column_table_names-5671"><span class="linenos">5671</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
-</span><span id="column_table_names-5672"><a href="#column_table_names-5672"><span class="linenos">5672</span></a><span class="sd"> &gt;&gt;&gt; sorted(column_table_names(sqlglot.parse_one(&quot;a.b AND c.d AND c.e&quot;)))</span>
-</span><span id="column_table_names-5673"><a href="#column_table_names-5673"><span class="linenos">5673</span></a><span class="sd"> [&#39;a&#39;, &#39;c&#39;]</span>
-</span><span id="column_table_names-5674"><a href="#column_table_names-5674"><span class="linenos">5674</span></a>
-</span><span id="column_table_names-5675"><a href="#column_table_names-5675"><span class="linenos">5675</span></a><span class="sd"> Args:</span>
-</span><span id="column_table_names-5676"><a href="#column_table_names-5676"><span class="linenos">5676</span></a><span class="sd"> expression: expression to find table names.</span>
-</span><span id="column_table_names-5677"><a href="#column_table_names-5677"><span class="linenos">5677</span></a><span class="sd"> exclude: a table name to exclude</span>
-</span><span id="column_table_names-5678"><a href="#column_table_names-5678"><span class="linenos">5678</span></a>
-</span><span id="column_table_names-5679"><a href="#column_table_names-5679"><span class="linenos">5679</span></a><span class="sd"> Returns:</span>
-</span><span id="column_table_names-5680"><a href="#column_table_names-5680"><span class="linenos">5680</span></a><span class="sd"> A list of unique names.</span>
-</span><span id="column_table_names-5681"><a href="#column_table_names-5681"><span class="linenos">5681</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="column_table_names-5682"><a href="#column_table_names-5682"><span class="linenos">5682</span></a> <span class="k">return</span> <span class="p">{</span>
-</span><span id="column_table_names-5683"><a href="#column_table_names-5683"><span class="linenos">5683</span></a> <span class="n">table</span>
-</span><span id="column_table_names-5684"><a href="#column_table_names-5684"><span class="linenos">5684</span></a> <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="p">(</span><span class="n">column</span><span class="o">.</span><span class="n">table</span> <span class="k">for</span> <span class="n">column</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">Column</span><span class="p">))</span>
-</span><span id="column_table_names-5685"><a href="#column_table_names-5685"><span class="linenos">5685</span></a> <span class="k">if</span> <span class="n">table</span> <span class="ow">and</span> <span class="n">table</span> <span class="o">!=</span> <span class="n">exclude</span>
-</span><span id="column_table_names-5686"><a href="#column_table_names-5686"><span class="linenos">5686</span></a> <span class="p">}</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="column_table_names-5686"><a href="#column_table_names-5686"><span class="linenos">5686</span></a><span class="k">def</span> <span class="nf">column_table_names</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">exclude</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
+</span><span id="column_table_names-5687"><a href="#column_table_names-5687"><span class="linenos">5687</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="column_table_names-5688"><a href="#column_table_names-5688"><span class="linenos">5688</span></a><span class="sd"> Return all table names referenced through columns in an expression.</span>
+</span><span id="column_table_names-5689"><a href="#column_table_names-5689"><span class="linenos">5689</span></a>
+</span><span id="column_table_names-5690"><a href="#column_table_names-5690"><span class="linenos">5690</span></a><span class="sd"> Example:</span>
+</span><span id="column_table_names-5691"><a href="#column_table_names-5691"><span class="linenos">5691</span></a><span class="sd"> &gt;&gt;&gt; import sqlglot</span>
+</span><span id="column_table_names-5692"><a href="#column_table_names-5692"><span class="linenos">5692</span></a><span class="sd"> &gt;&gt;&gt; sorted(column_table_names(sqlglot.parse_one(&quot;a.b AND c.d AND c.e&quot;)))</span>
+</span><span id="column_table_names-5693"><a href="#column_table_names-5693"><span class="linenos">5693</span></a><span class="sd"> [&#39;a&#39;, &#39;c&#39;]</span>
+</span><span id="column_table_names-5694"><a href="#column_table_names-5694"><span class="linenos">5694</span></a>
+</span><span id="column_table_names-5695"><a href="#column_table_names-5695"><span class="linenos">5695</span></a><span class="sd"> Args:</span>
+</span><span id="column_table_names-5696"><a href="#column_table_names-5696"><span class="linenos">5696</span></a><span class="sd"> expression: expression to find table names.</span>
+</span><span id="column_table_names-5697"><a href="#column_table_names-5697"><span class="linenos">5697</span></a><span class="sd"> exclude: a table name to exclude</span>
+</span><span id="column_table_names-5698"><a href="#column_table_names-5698"><span class="linenos">5698</span></a>
+</span><span id="column_table_names-5699"><a href="#column_table_names-5699"><span class="linenos">5699</span></a><span class="sd"> Returns:</span>
+</span><span id="column_table_names-5700"><a href="#column_table_names-5700"><span class="linenos">5700</span></a><span class="sd"> A list of unique names.</span>
+</span><span id="column_table_names-5701"><a href="#column_table_names-5701"><span class="linenos">5701</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="column_table_names-5702"><a href="#column_table_names-5702"><span class="linenos">5702</span></a> <span class="k">return</span> <span class="p">{</span>
+</span><span id="column_table_names-5703"><a href="#column_table_names-5703"><span class="linenos">5703</span></a> <span class="n">table</span>
+</span><span id="column_table_names-5704"><a href="#column_table_names-5704"><span class="linenos">5704</span></a> <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="p">(</span><span class="n">column</span><span class="o">.</span><span class="n">table</span> <span class="k">for</span> <span class="n">column</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">Column</span><span class="p">))</span>
+</span><span id="column_table_names-5705"><a href="#column_table_names-5705"><span class="linenos">5705</span></a> <span class="k">if</span> <span class="n">table</span> <span class="ow">and</span> <span class="n">table</span> <span class="o">!=</span> <span class="n">exclude</span>
+</span><span id="column_table_names-5706"><a href="#column_table_names-5706"><span class="linenos">5706</span></a> <span class="p">}</span>
</span></pre></div>
@@ -52027,27 +68173,27 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#table_name"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="table_name-5689"><a href="#table_name-5689"><span class="linenos">5689</span></a><span class="k">def</span> <span class="nf">table_name</span><span class="p">(</span><span class="n">table</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="table_name-5690"><a href="#table_name-5690"><span class="linenos">5690</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Get the full name of a table as a string.</span>
-</span><span id="table_name-5691"><a href="#table_name-5691"><span class="linenos">5691</span></a>
-</span><span id="table_name-5692"><a href="#table_name-5692"><span class="linenos">5692</span></a><span class="sd"> Args:</span>
-</span><span id="table_name-5693"><a href="#table_name-5693"><span class="linenos">5693</span></a><span class="sd"> table: table expression node or string.</span>
-</span><span id="table_name-5694"><a href="#table_name-5694"><span class="linenos">5694</span></a>
-</span><span id="table_name-5695"><a href="#table_name-5695"><span class="linenos">5695</span></a><span class="sd"> Examples:</span>
-</span><span id="table_name-5696"><a href="#table_name-5696"><span class="linenos">5696</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
-</span><span id="table_name-5697"><a href="#table_name-5697"><span class="linenos">5697</span></a><span class="sd"> &gt;&gt;&gt; table_name(parse_one(&quot;select * from a.b.c&quot;).find(exp.Table))</span>
-</span><span id="table_name-5698"><a href="#table_name-5698"><span class="linenos">5698</span></a><span class="sd"> &#39;a.b.c&#39;</span>
-</span><span id="table_name-5699"><a href="#table_name-5699"><span class="linenos">5699</span></a>
-</span><span id="table_name-5700"><a href="#table_name-5700"><span class="linenos">5700</span></a><span class="sd"> Returns:</span>
-</span><span id="table_name-5701"><a href="#table_name-5701"><span class="linenos">5701</span></a><span class="sd"> The table name.</span>
-</span><span id="table_name-5702"><a href="#table_name-5702"><span class="linenos">5702</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="table_name-5703"><a href="#table_name-5703"><span class="linenos">5703</span></a>
-</span><span id="table_name-5704"><a href="#table_name-5704"><span class="linenos">5704</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">)</span>
-</span><span id="table_name-5705"><a href="#table_name-5705"><span class="linenos">5705</span></a>
-</span><span id="table_name-5706"><a href="#table_name-5706"><span class="linenos">5706</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">table</span><span class="p">:</span>
-</span><span id="table_name-5707"><a href="#table_name-5707"><span class="linenos">5707</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot parse </span><span class="si">{</span><span class="n">table</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
-</span><span id="table_name-5708"><a href="#table_name-5708"><span class="linenos">5708</span></a>
-</span><span id="table_name-5709"><a href="#table_name-5709"><span class="linenos">5709</span></a> <span class="k">return</span> <span class="s2">&quot;.&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">part</span> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">part</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="table_name-5709"><a href="#table_name-5709"><span class="linenos">5709</span></a><span class="k">def</span> <span class="nf">table_name</span><span class="p">(</span><span class="n">table</span><span class="p">:</span> <span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="table_name-5710"><a href="#table_name-5710"><span class="linenos">5710</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Get the full name of a table as a string.</span>
+</span><span id="table_name-5711"><a href="#table_name-5711"><span class="linenos">5711</span></a>
+</span><span id="table_name-5712"><a href="#table_name-5712"><span class="linenos">5712</span></a><span class="sd"> Args:</span>
+</span><span id="table_name-5713"><a href="#table_name-5713"><span class="linenos">5713</span></a><span class="sd"> table: table expression node or string.</span>
+</span><span id="table_name-5714"><a href="#table_name-5714"><span class="linenos">5714</span></a>
+</span><span id="table_name-5715"><a href="#table_name-5715"><span class="linenos">5715</span></a><span class="sd"> Examples:</span>
+</span><span id="table_name-5716"><a href="#table_name-5716"><span class="linenos">5716</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
+</span><span id="table_name-5717"><a href="#table_name-5717"><span class="linenos">5717</span></a><span class="sd"> &gt;&gt;&gt; table_name(parse_one(&quot;select * from a.b.c&quot;).find(exp.Table))</span>
+</span><span id="table_name-5718"><a href="#table_name-5718"><span class="linenos">5718</span></a><span class="sd"> &#39;a.b.c&#39;</span>
+</span><span id="table_name-5719"><a href="#table_name-5719"><span class="linenos">5719</span></a>
+</span><span id="table_name-5720"><a href="#table_name-5720"><span class="linenos">5720</span></a><span class="sd"> Returns:</span>
+</span><span id="table_name-5721"><a href="#table_name-5721"><span class="linenos">5721</span></a><span class="sd"> The table name.</span>
+</span><span id="table_name-5722"><a href="#table_name-5722"><span class="linenos">5722</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="table_name-5723"><a href="#table_name-5723"><span class="linenos">5723</span></a>
+</span><span id="table_name-5724"><a href="#table_name-5724"><span class="linenos">5724</span></a> <span class="n">table</span> <span class="o">=</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">Table</span><span class="p">)</span>
+</span><span id="table_name-5725"><a href="#table_name-5725"><span class="linenos">5725</span></a>
+</span><span id="table_name-5726"><a href="#table_name-5726"><span class="linenos">5726</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">table</span><span class="p">:</span>
+</span><span id="table_name-5727"><a href="#table_name-5727"><span class="linenos">5727</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot parse </span><span class="si">{</span><span class="n">table</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</span><span id="table_name-5728"><a href="#table_name-5728"><span class="linenos">5728</span></a>
+</span><span id="table_name-5729"><a href="#table_name-5729"><span class="linenos">5729</span></a> <span class="k">return</span> <span class="s2">&quot;.&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">part</span> <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="p">(</span><span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;catalog&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">&quot;db&quot;</span><span class="p">),</span> <span class="n">table</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">part</span><span class="p">)</span>
</span></pre></div>
@@ -52090,34 +68236,34 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#replace_tables"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="replace_tables-5712"><a href="#replace_tables-5712"><span class="linenos">5712</span></a><span class="k">def</span> <span class="nf">replace_tables</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">mapping</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
-</span><span id="replace_tables-5713"><a href="#replace_tables-5713"><span class="linenos">5713</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace all tables in expression according to the mapping.</span>
-</span><span id="replace_tables-5714"><a href="#replace_tables-5714"><span class="linenos">5714</span></a>
-</span><span id="replace_tables-5715"><a href="#replace_tables-5715"><span class="linenos">5715</span></a><span class="sd"> Args:</span>
-</span><span id="replace_tables-5716"><a href="#replace_tables-5716"><span class="linenos">5716</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
-</span><span id="replace_tables-5717"><a href="#replace_tables-5717"><span class="linenos">5717</span></a><span class="sd"> mapping: mapping of table names.</span>
-</span><span id="replace_tables-5718"><a href="#replace_tables-5718"><span class="linenos">5718</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
-</span><span id="replace_tables-5719"><a href="#replace_tables-5719"><span class="linenos">5719</span></a>
-</span><span id="replace_tables-5720"><a href="#replace_tables-5720"><span class="linenos">5720</span></a><span class="sd"> Examples:</span>
-</span><span id="replace_tables-5721"><a href="#replace_tables-5721"><span class="linenos">5721</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
-</span><span id="replace_tables-5722"><a href="#replace_tables-5722"><span class="linenos">5722</span></a><span class="sd"> &gt;&gt;&gt; replace_tables(parse_one(&quot;select * from a.b&quot;), {&quot;a.b&quot;: &quot;c&quot;}).sql()</span>
-</span><span id="replace_tables-5723"><a href="#replace_tables-5723"><span class="linenos">5723</span></a><span class="sd"> &#39;SELECT * FROM c&#39;</span>
-</span><span id="replace_tables-5724"><a href="#replace_tables-5724"><span class="linenos">5724</span></a>
-</span><span id="replace_tables-5725"><a href="#replace_tables-5725"><span class="linenos">5725</span></a><span class="sd"> Returns:</span>
-</span><span id="replace_tables-5726"><a href="#replace_tables-5726"><span class="linenos">5726</span></a><span class="sd"> The mapped expression.</span>
-</span><span id="replace_tables-5727"><a href="#replace_tables-5727"><span class="linenos">5727</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="replace_tables-5728"><a href="#replace_tables-5728"><span class="linenos">5728</span></a>
-</span><span id="replace_tables-5729"><a href="#replace_tables-5729"><span class="linenos">5729</span></a> <span class="k">def</span> <span class="nf">_replace_tables</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="replace_tables-5730"><a href="#replace_tables-5730"><span class="linenos">5730</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
-</span><span id="replace_tables-5731"><a href="#replace_tables-5731"><span class="linenos">5731</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">))</span>
-</span><span id="replace_tables-5732"><a href="#replace_tables-5732"><span class="linenos">5732</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
-</span><span id="replace_tables-5733"><a href="#replace_tables-5733"><span class="linenos">5733</span></a> <span class="k">return</span> <span class="n">to_table</span><span class="p">(</span>
-</span><span id="replace_tables-5734"><a href="#replace_tables-5734"><span class="linenos">5734</span></a> <span class="n">new_name</span><span class="p">,</span>
-</span><span id="replace_tables-5735"><a href="#replace_tables-5735"><span class="linenos">5735</span></a> <span class="o">**</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">node</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;catalog&quot;</span><span class="p">)},</span>
-</span><span id="replace_tables-5736"><a href="#replace_tables-5736"><span class="linenos">5736</span></a> <span class="p">)</span>
-</span><span id="replace_tables-5737"><a href="#replace_tables-5737"><span class="linenos">5737</span></a> <span class="k">return</span> <span class="n">node</span>
-</span><span id="replace_tables-5738"><a href="#replace_tables-5738"><span class="linenos">5738</span></a>
-</span><span id="replace_tables-5739"><a href="#replace_tables-5739"><span class="linenos">5739</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_tables</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="replace_tables-5732"><a href="#replace_tables-5732"><span class="linenos">5732</span></a><span class="k">def</span> <span class="nf">replace_tables</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">E</span><span class="p">,</span> <span class="n">mapping</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">E</span><span class="p">:</span>
+</span><span id="replace_tables-5733"><a href="#replace_tables-5733"><span class="linenos">5733</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace all tables in expression according to the mapping.</span>
+</span><span id="replace_tables-5734"><a href="#replace_tables-5734"><span class="linenos">5734</span></a>
+</span><span id="replace_tables-5735"><a href="#replace_tables-5735"><span class="linenos">5735</span></a><span class="sd"> Args:</span>
+</span><span id="replace_tables-5736"><a href="#replace_tables-5736"><span class="linenos">5736</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
+</span><span id="replace_tables-5737"><a href="#replace_tables-5737"><span class="linenos">5737</span></a><span class="sd"> mapping: mapping of table names.</span>
+</span><span id="replace_tables-5738"><a href="#replace_tables-5738"><span class="linenos">5738</span></a><span class="sd"> copy: whether or not to copy the expression.</span>
+</span><span id="replace_tables-5739"><a href="#replace_tables-5739"><span class="linenos">5739</span></a>
+</span><span id="replace_tables-5740"><a href="#replace_tables-5740"><span class="linenos">5740</span></a><span class="sd"> Examples:</span>
+</span><span id="replace_tables-5741"><a href="#replace_tables-5741"><span class="linenos">5741</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
+</span><span id="replace_tables-5742"><a href="#replace_tables-5742"><span class="linenos">5742</span></a><span class="sd"> &gt;&gt;&gt; replace_tables(parse_one(&quot;select * from a.b&quot;), {&quot;a.b&quot;: &quot;c&quot;}).sql()</span>
+</span><span id="replace_tables-5743"><a href="#replace_tables-5743"><span class="linenos">5743</span></a><span class="sd"> &#39;SELECT * FROM c&#39;</span>
+</span><span id="replace_tables-5744"><a href="#replace_tables-5744"><span class="linenos">5744</span></a>
+</span><span id="replace_tables-5745"><a href="#replace_tables-5745"><span class="linenos">5745</span></a><span class="sd"> Returns:</span>
+</span><span id="replace_tables-5746"><a href="#replace_tables-5746"><span class="linenos">5746</span></a><span class="sd"> The mapped expression.</span>
+</span><span id="replace_tables-5747"><a href="#replace_tables-5747"><span class="linenos">5747</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="replace_tables-5748"><a href="#replace_tables-5748"><span class="linenos">5748</span></a>
+</span><span id="replace_tables-5749"><a href="#replace_tables-5749"><span class="linenos">5749</span></a> <span class="k">def</span> <span class="nf">_replace_tables</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="replace_tables-5750"><a href="#replace_tables-5750"><span class="linenos">5750</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
+</span><span id="replace_tables-5751"><a href="#replace_tables-5751"><span class="linenos">5751</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">))</span>
+</span><span id="replace_tables-5752"><a href="#replace_tables-5752"><span class="linenos">5752</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
+</span><span id="replace_tables-5753"><a href="#replace_tables-5753"><span class="linenos">5753</span></a> <span class="k">return</span> <span class="n">to_table</span><span class="p">(</span>
+</span><span id="replace_tables-5754"><a href="#replace_tables-5754"><span class="linenos">5754</span></a> <span class="n">new_name</span><span class="p">,</span>
+</span><span id="replace_tables-5755"><a href="#replace_tables-5755"><span class="linenos">5755</span></a> <span class="o">**</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">node</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;this&quot;</span><span class="p">,</span> <span class="s2">&quot;db&quot;</span><span class="p">,</span> <span class="s2">&quot;catalog&quot;</span><span class="p">)},</span>
+</span><span id="replace_tables-5756"><a href="#replace_tables-5756"><span class="linenos">5756</span></a> <span class="p">)</span>
+</span><span id="replace_tables-5757"><a href="#replace_tables-5757"><span class="linenos">5757</span></a> <span class="k">return</span> <span class="n">node</span>
+</span><span id="replace_tables-5758"><a href="#replace_tables-5758"><span class="linenos">5758</span></a>
+</span><span id="replace_tables-5759"><a href="#replace_tables-5759"><span class="linenos">5759</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_tables</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
</span></pre></div>
@@ -52162,40 +68308,40 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#replace_placeholders"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="replace_placeholders-5742"><a href="#replace_placeholders-5742"><span class="linenos">5742</span></a><span class="k">def</span> <span class="nf">replace_placeholders</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="replace_placeholders-5743"><a href="#replace_placeholders-5743"><span class="linenos">5743</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace placeholders in an expression.</span>
-</span><span id="replace_placeholders-5744"><a href="#replace_placeholders-5744"><span class="linenos">5744</span></a>
-</span><span id="replace_placeholders-5745"><a href="#replace_placeholders-5745"><span class="linenos">5745</span></a><span class="sd"> Args:</span>
-</span><span id="replace_placeholders-5746"><a href="#replace_placeholders-5746"><span class="linenos">5746</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
-</span><span id="replace_placeholders-5747"><a href="#replace_placeholders-5747"><span class="linenos">5747</span></a><span class="sd"> args: positional names that will substitute unnamed placeholders in the given order.</span>
-</span><span id="replace_placeholders-5748"><a href="#replace_placeholders-5748"><span class="linenos">5748</span></a><span class="sd"> kwargs: keyword arguments that will substitute named placeholders.</span>
-</span><span id="replace_placeholders-5749"><a href="#replace_placeholders-5749"><span class="linenos">5749</span></a>
-</span><span id="replace_placeholders-5750"><a href="#replace_placeholders-5750"><span class="linenos">5750</span></a><span class="sd"> Examples:</span>
-</span><span id="replace_placeholders-5751"><a href="#replace_placeholders-5751"><span class="linenos">5751</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
-</span><span id="replace_placeholders-5752"><a href="#replace_placeholders-5752"><span class="linenos">5752</span></a><span class="sd"> &gt;&gt;&gt; replace_placeholders(</span>
-</span><span id="replace_placeholders-5753"><a href="#replace_placeholders-5753"><span class="linenos">5753</span></a><span class="sd"> ... parse_one(&quot;select * from :tbl where ? = ?&quot;),</span>
-</span><span id="replace_placeholders-5754"><a href="#replace_placeholders-5754"><span class="linenos">5754</span></a><span class="sd"> ... exp.to_identifier(&quot;str_col&quot;), &quot;b&quot;, tbl=exp.to_identifier(&quot;foo&quot;)</span>
-</span><span id="replace_placeholders-5755"><a href="#replace_placeholders-5755"><span class="linenos">5755</span></a><span class="sd"> ... ).sql()</span>
-</span><span id="replace_placeholders-5756"><a href="#replace_placeholders-5756"><span class="linenos">5756</span></a><span class="sd"> &quot;SELECT * FROM foo WHERE str_col = &#39;b&#39;&quot;</span>
-</span><span id="replace_placeholders-5757"><a href="#replace_placeholders-5757"><span class="linenos">5757</span></a>
-</span><span id="replace_placeholders-5758"><a href="#replace_placeholders-5758"><span class="linenos">5758</span></a><span class="sd"> Returns:</span>
-</span><span id="replace_placeholders-5759"><a href="#replace_placeholders-5759"><span class="linenos">5759</span></a><span class="sd"> The mapped expression.</span>
-</span><span id="replace_placeholders-5760"><a href="#replace_placeholders-5760"><span class="linenos">5760</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="replace_placeholders-5761"><a href="#replace_placeholders-5761"><span class="linenos">5761</span></a>
-</span><span id="replace_placeholders-5762"><a href="#replace_placeholders-5762"><span class="linenos">5762</span></a> <span class="k">def</span> <span class="nf">_replace_placeholders</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="replace_placeholders-5763"><a href="#replace_placeholders-5763"><span class="linenos">5763</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Placeholder</span><span class="p">):</span>
-</span><span id="replace_placeholders-5764"><a href="#replace_placeholders-5764"><span class="linenos">5764</span></a> <span class="k">if</span> <span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
-</span><span id="replace_placeholders-5765"><a href="#replace_placeholders-5765"><span class="linenos">5765</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-</span><span id="replace_placeholders-5766"><a href="#replace_placeholders-5766"><span class="linenos">5766</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
-</span><span id="replace_placeholders-5767"><a href="#replace_placeholders-5767"><span class="linenos">5767</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
-</span><span id="replace_placeholders-5768"><a href="#replace_placeholders-5768"><span class="linenos">5768</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="replace_placeholders-5769"><a href="#replace_placeholders-5769"><span class="linenos">5769</span></a> <span class="k">try</span><span class="p">:</span>
-</span><span id="replace_placeholders-5770"><a href="#replace_placeholders-5770"><span class="linenos">5770</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="nb">next</span><span class="p">(</span><span class="n">args</span><span class="p">))</span>
-</span><span id="replace_placeholders-5771"><a href="#replace_placeholders-5771"><span class="linenos">5771</span></a> <span class="k">except</span> <span class="ne">StopIteration</span><span class="p">:</span>
-</span><span id="replace_placeholders-5772"><a href="#replace_placeholders-5772"><span class="linenos">5772</span></a> <span class="k">pass</span>
-</span><span id="replace_placeholders-5773"><a href="#replace_placeholders-5773"><span class="linenos">5773</span></a> <span class="k">return</span> <span class="n">node</span>
-</span><span id="replace_placeholders-5774"><a href="#replace_placeholders-5774"><span class="linenos">5774</span></a>
-</span><span id="replace_placeholders-5775"><a href="#replace_placeholders-5775"><span class="linenos">5775</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_placeholders</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">args</span><span class="p">),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="replace_placeholders-5762"><a href="#replace_placeholders-5762"><span class="linenos">5762</span></a><span class="k">def</span> <span class="nf">replace_placeholders</span><span class="p">(</span><span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="replace_placeholders-5763"><a href="#replace_placeholders-5763"><span class="linenos">5763</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Replace placeholders in an expression.</span>
+</span><span id="replace_placeholders-5764"><a href="#replace_placeholders-5764"><span class="linenos">5764</span></a>
+</span><span id="replace_placeholders-5765"><a href="#replace_placeholders-5765"><span class="linenos">5765</span></a><span class="sd"> Args:</span>
+</span><span id="replace_placeholders-5766"><a href="#replace_placeholders-5766"><span class="linenos">5766</span></a><span class="sd"> expression: expression node to be transformed and replaced.</span>
+</span><span id="replace_placeholders-5767"><a href="#replace_placeholders-5767"><span class="linenos">5767</span></a><span class="sd"> args: positional names that will substitute unnamed placeholders in the given order.</span>
+</span><span id="replace_placeholders-5768"><a href="#replace_placeholders-5768"><span class="linenos">5768</span></a><span class="sd"> kwargs: keyword arguments that will substitute named placeholders.</span>
+</span><span id="replace_placeholders-5769"><a href="#replace_placeholders-5769"><span class="linenos">5769</span></a>
+</span><span id="replace_placeholders-5770"><a href="#replace_placeholders-5770"><span class="linenos">5770</span></a><span class="sd"> Examples:</span>
+</span><span id="replace_placeholders-5771"><a href="#replace_placeholders-5771"><span class="linenos">5771</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import exp, parse_one</span>
+</span><span id="replace_placeholders-5772"><a href="#replace_placeholders-5772"><span class="linenos">5772</span></a><span class="sd"> &gt;&gt;&gt; replace_placeholders(</span>
+</span><span id="replace_placeholders-5773"><a href="#replace_placeholders-5773"><span class="linenos">5773</span></a><span class="sd"> ... parse_one(&quot;select * from :tbl where ? = ?&quot;),</span>
+</span><span id="replace_placeholders-5774"><a href="#replace_placeholders-5774"><span class="linenos">5774</span></a><span class="sd"> ... exp.to_identifier(&quot;str_col&quot;), &quot;b&quot;, tbl=exp.to_identifier(&quot;foo&quot;)</span>
+</span><span id="replace_placeholders-5775"><a href="#replace_placeholders-5775"><span class="linenos">5775</span></a><span class="sd"> ... ).sql()</span>
+</span><span id="replace_placeholders-5776"><a href="#replace_placeholders-5776"><span class="linenos">5776</span></a><span class="sd"> &quot;SELECT * FROM foo WHERE str_col = &#39;b&#39;&quot;</span>
+</span><span id="replace_placeholders-5777"><a href="#replace_placeholders-5777"><span class="linenos">5777</span></a>
+</span><span id="replace_placeholders-5778"><a href="#replace_placeholders-5778"><span class="linenos">5778</span></a><span class="sd"> Returns:</span>
+</span><span id="replace_placeholders-5779"><a href="#replace_placeholders-5779"><span class="linenos">5779</span></a><span class="sd"> The mapped expression.</span>
+</span><span id="replace_placeholders-5780"><a href="#replace_placeholders-5780"><span class="linenos">5780</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="replace_placeholders-5781"><a href="#replace_placeholders-5781"><span class="linenos">5781</span></a>
+</span><span id="replace_placeholders-5782"><a href="#replace_placeholders-5782"><span class="linenos">5782</span></a> <span class="k">def</span> <span class="nf">_replace_placeholders</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="replace_placeholders-5783"><a href="#replace_placeholders-5783"><span class="linenos">5783</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Placeholder</span><span class="p">):</span>
+</span><span id="replace_placeholders-5784"><a href="#replace_placeholders-5784"><span class="linenos">5784</span></a> <span class="k">if</span> <span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
+</span><span id="replace_placeholders-5785"><a href="#replace_placeholders-5785"><span class="linenos">5785</span></a> <span class="n">new_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+</span><span id="replace_placeholders-5786"><a href="#replace_placeholders-5786"><span class="linenos">5786</span></a> <span class="k">if</span> <span class="n">new_name</span><span class="p">:</span>
+</span><span id="replace_placeholders-5787"><a href="#replace_placeholders-5787"><span class="linenos">5787</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="n">new_name</span><span class="p">)</span>
+</span><span id="replace_placeholders-5788"><a href="#replace_placeholders-5788"><span class="linenos">5788</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="replace_placeholders-5789"><a href="#replace_placeholders-5789"><span class="linenos">5789</span></a> <span class="k">try</span><span class="p">:</span>
+</span><span id="replace_placeholders-5790"><a href="#replace_placeholders-5790"><span class="linenos">5790</span></a> <span class="k">return</span> <span class="n">convert</span><span class="p">(</span><span class="nb">next</span><span class="p">(</span><span class="n">args</span><span class="p">))</span>
+</span><span id="replace_placeholders-5791"><a href="#replace_placeholders-5791"><span class="linenos">5791</span></a> <span class="k">except</span> <span class="ne">StopIteration</span><span class="p">:</span>
+</span><span id="replace_placeholders-5792"><a href="#replace_placeholders-5792"><span class="linenos">5792</span></a> <span class="k">pass</span>
+</span><span id="replace_placeholders-5793"><a href="#replace_placeholders-5793"><span class="linenos">5793</span></a> <span class="k">return</span> <span class="n">node</span>
+</span><span id="replace_placeholders-5794"><a href="#replace_placeholders-5794"><span class="linenos">5794</span></a>
+</span><span id="replace_placeholders-5795"><a href="#replace_placeholders-5795"><span class="linenos">5795</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_replace_placeholders</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">args</span><span class="p">),</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span></pre></div>
@@ -52243,39 +68389,39 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#expand"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="expand-5778"><a href="#expand-5778"><span class="linenos">5778</span></a><span class="k">def</span> <span class="nf">expand</span><span class="p">(</span>
-</span><span id="expand-5779"><a href="#expand-5779"><span class="linenos">5779</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">sources</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Subqueryable</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
-</span><span id="expand-5780"><a href="#expand-5780"><span class="linenos">5780</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
-</span><span id="expand-5781"><a href="#expand-5781"><span class="linenos">5781</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Transforms an expression by expanding all referenced sources into subqueries.</span>
-</span><span id="expand-5782"><a href="#expand-5782"><span class="linenos">5782</span></a>
-</span><span id="expand-5783"><a href="#expand-5783"><span class="linenos">5783</span></a><span class="sd"> Examples:</span>
-</span><span id="expand-5784"><a href="#expand-5784"><span class="linenos">5784</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
-</span><span id="expand-5785"><a href="#expand-5785"><span class="linenos">5785</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;)}).sql()</span>
-</span><span id="expand-5786"><a href="#expand-5786"><span class="linenos">5786</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM y) AS z /* source: x */&#39;</span>
-</span><span id="expand-5787"><a href="#expand-5787"><span class="linenos">5787</span></a>
-</span><span id="expand-5788"><a href="#expand-5788"><span class="linenos">5788</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;), &quot;y&quot;: parse_one(&quot;select * from z&quot;)}).sql()</span>
-</span><span id="expand-5789"><a href="#expand-5789"><span class="linenos">5789</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM (SELECT * FROM z) AS y /* source: y */) AS z /* source: x */&#39;</span>
-</span><span id="expand-5790"><a href="#expand-5790"><span class="linenos">5790</span></a>
-</span><span id="expand-5791"><a href="#expand-5791"><span class="linenos">5791</span></a><span class="sd"> Args:</span>
-</span><span id="expand-5792"><a href="#expand-5792"><span class="linenos">5792</span></a><span class="sd"> expression: The expression to expand.</span>
-</span><span id="expand-5793"><a href="#expand-5793"><span class="linenos">5793</span></a><span class="sd"> sources: A dictionary of name to Subqueryables.</span>
-</span><span id="expand-5794"><a href="#expand-5794"><span class="linenos">5794</span></a><span class="sd"> copy: Whether or not to copy the expression during transformation. Defaults to True.</span>
-</span><span id="expand-5795"><a href="#expand-5795"><span class="linenos">5795</span></a>
-</span><span id="expand-5796"><a href="#expand-5796"><span class="linenos">5796</span></a><span class="sd"> Returns:</span>
-</span><span id="expand-5797"><a href="#expand-5797"><span class="linenos">5797</span></a><span class="sd"> The transformed expression.</span>
-</span><span id="expand-5798"><a href="#expand-5798"><span class="linenos">5798</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="expand-5799"><a href="#expand-5799"><span class="linenos">5799</span></a>
-</span><span id="expand-5800"><a href="#expand-5800"><span class="linenos">5800</span></a> <span class="k">def</span> <span class="nf">_expand</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">):</span>
-</span><span id="expand-5801"><a href="#expand-5801"><span class="linenos">5801</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
-</span><span id="expand-5802"><a href="#expand-5802"><span class="linenos">5802</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">)</span>
-</span><span id="expand-5803"><a href="#expand-5803"><span class="linenos">5803</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">sources</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-</span><span id="expand-5804"><a href="#expand-5804"><span class="linenos">5804</span></a> <span class="k">if</span> <span class="n">source</span><span class="p">:</span>
-</span><span id="expand-5805"><a href="#expand-5805"><span class="linenos">5805</span></a> <span class="n">subquery</span> <span class="o">=</span> <span class="n">source</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">alias</span> <span class="ow">or</span> <span class="n">name</span><span class="p">)</span>
-</span><span id="expand-5806"><a href="#expand-5806"><span class="linenos">5806</span></a> <span class="n">subquery</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[</span><span class="sa">f</span><span class="s2">&quot;source: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">]</span>
-</span><span id="expand-5807"><a href="#expand-5807"><span class="linenos">5807</span></a> <span class="k">return</span> <span class="n">subquery</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-</span><span id="expand-5808"><a href="#expand-5808"><span class="linenos">5808</span></a> <span class="k">return</span> <span class="n">node</span>
-</span><span id="expand-5809"><a href="#expand-5809"><span class="linenos">5809</span></a>
-</span><span id="expand-5810"><a href="#expand-5810"><span class="linenos">5810</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="expand-5798"><a href="#expand-5798"><span class="linenos">5798</span></a><span class="k">def</span> <span class="nf">expand</span><span class="p">(</span>
+</span><span id="expand-5799"><a href="#expand-5799"><span class="linenos">5799</span></a> <span class="n">expression</span><span class="p">:</span> <span class="n">Expression</span><span class="p">,</span> <span class="n">sources</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Subqueryable</span><span class="p">],</span> <span class="n">copy</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="expand-5800"><a href="#expand-5800"><span class="linenos">5800</span></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Expression</span><span class="p">:</span>
+</span><span id="expand-5801"><a href="#expand-5801"><span class="linenos">5801</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Transforms an expression by expanding all referenced sources into subqueries.</span>
+</span><span id="expand-5802"><a href="#expand-5802"><span class="linenos">5802</span></a>
+</span><span id="expand-5803"><a href="#expand-5803"><span class="linenos">5803</span></a><span class="sd"> Examples:</span>
+</span><span id="expand-5804"><a href="#expand-5804"><span class="linenos">5804</span></a><span class="sd"> &gt;&gt;&gt; from sqlglot import parse_one</span>
+</span><span id="expand-5805"><a href="#expand-5805"><span class="linenos">5805</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;)}).sql()</span>
+</span><span id="expand-5806"><a href="#expand-5806"><span class="linenos">5806</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM y) AS z /* source: x */&#39;</span>
+</span><span id="expand-5807"><a href="#expand-5807"><span class="linenos">5807</span></a>
+</span><span id="expand-5808"><a href="#expand-5808"><span class="linenos">5808</span></a><span class="sd"> &gt;&gt;&gt; expand(parse_one(&quot;select * from x AS z&quot;), {&quot;x&quot;: parse_one(&quot;select * from y&quot;), &quot;y&quot;: parse_one(&quot;select * from z&quot;)}).sql()</span>
+</span><span id="expand-5809"><a href="#expand-5809"><span class="linenos">5809</span></a><span class="sd"> &#39;SELECT * FROM (SELECT * FROM (SELECT * FROM z) AS y /* source: y */) AS z /* source: x */&#39;</span>
+</span><span id="expand-5810"><a href="#expand-5810"><span class="linenos">5810</span></a>
+</span><span id="expand-5811"><a href="#expand-5811"><span class="linenos">5811</span></a><span class="sd"> Args:</span>
+</span><span id="expand-5812"><a href="#expand-5812"><span class="linenos">5812</span></a><span class="sd"> expression: The expression to expand.</span>
+</span><span id="expand-5813"><a href="#expand-5813"><span class="linenos">5813</span></a><span class="sd"> sources: A dictionary of name to Subqueryables.</span>
+</span><span id="expand-5814"><a href="#expand-5814"><span class="linenos">5814</span></a><span class="sd"> copy: Whether or not to copy the expression during transformation. Defaults to True.</span>
+</span><span id="expand-5815"><a href="#expand-5815"><span class="linenos">5815</span></a>
+</span><span id="expand-5816"><a href="#expand-5816"><span class="linenos">5816</span></a><span class="sd"> Returns:</span>
+</span><span id="expand-5817"><a href="#expand-5817"><span class="linenos">5817</span></a><span class="sd"> The transformed expression.</span>
+</span><span id="expand-5818"><a href="#expand-5818"><span class="linenos">5818</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="expand-5819"><a href="#expand-5819"><span class="linenos">5819</span></a>
+</span><span id="expand-5820"><a href="#expand-5820"><span class="linenos">5820</span></a> <span class="k">def</span> <span class="nf">_expand</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">Expression</span><span class="p">):</span>
+</span><span id="expand-5821"><a href="#expand-5821"><span class="linenos">5821</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">Table</span><span class="p">):</span>
+</span><span id="expand-5822"><a href="#expand-5822"><span class="linenos">5822</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">table_name</span><span class="p">(</span><span class="n">node</span><span class="p">)</span>
+</span><span id="expand-5823"><a href="#expand-5823"><span class="linenos">5823</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">sources</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+</span><span id="expand-5824"><a href="#expand-5824"><span class="linenos">5824</span></a> <span class="k">if</span> <span class="n">source</span><span class="p">:</span>
+</span><span id="expand-5825"><a href="#expand-5825"><span class="linenos">5825</span></a> <span class="n">subquery</span> <span class="o">=</span> <span class="n">source</span><span class="o">.</span><span class="n">subquery</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">alias</span> <span class="ow">or</span> <span class="n">name</span><span class="p">)</span>
+</span><span id="expand-5826"><a href="#expand-5826"><span class="linenos">5826</span></a> <span class="n">subquery</span><span class="o">.</span><span class="n">comments</span> <span class="o">=</span> <span class="p">[</span><span class="sa">f</span><span class="s2">&quot;source: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">]</span>
+</span><span id="expand-5827"><a href="#expand-5827"><span class="linenos">5827</span></a> <span class="k">return</span> <span class="n">subquery</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</span><span id="expand-5828"><a href="#expand-5828"><span class="linenos">5828</span></a> <span class="k">return</span> <span class="n">node</span>
+</span><span id="expand-5829"><a href="#expand-5829"><span class="linenos">5829</span></a>
+</span><span id="expand-5830"><a href="#expand-5830"><span class="linenos">5830</span></a> <span class="k">return</span> <span class="n">expression</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">_expand</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span>
</span></pre></div>
@@ -52326,51 +68472,51 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#func"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="func-5813"><a href="#func-5813"><span class="linenos">5813</span></a><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Func</span><span class="p">:</span>
-</span><span id="func-5814"><a href="#func-5814"><span class="linenos">5814</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="func-5815"><a href="#func-5815"><span class="linenos">5815</span></a><span class="sd"> Returns a Func expression.</span>
-</span><span id="func-5816"><a href="#func-5816"><span class="linenos">5816</span></a>
-</span><span id="func-5817"><a href="#func-5817"><span class="linenos">5817</span></a><span class="sd"> Examples:</span>
-</span><span id="func-5818"><a href="#func-5818"><span class="linenos">5818</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;abs&quot;, 5).sql()</span>
-</span><span id="func-5819"><a href="#func-5819"><span class="linenos">5819</span></a><span class="sd"> &#39;ABS(5)&#39;</span>
-</span><span id="func-5820"><a href="#func-5820"><span class="linenos">5820</span></a>
-</span><span id="func-5821"><a href="#func-5821"><span class="linenos">5821</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;cast&quot;, this=5, to=DataType.build(&quot;DOUBLE&quot;)).sql()</span>
-</span><span id="func-5822"><a href="#func-5822"><span class="linenos">5822</span></a><span class="sd"> &#39;CAST(5 AS DOUBLE)&#39;</span>
-</span><span id="func-5823"><a href="#func-5823"><span class="linenos">5823</span></a>
-</span><span id="func-5824"><a href="#func-5824"><span class="linenos">5824</span></a><span class="sd"> Args:</span>
-</span><span id="func-5825"><a href="#func-5825"><span class="linenos">5825</span></a><span class="sd"> name: the name of the function to build.</span>
-</span><span id="func-5826"><a href="#func-5826"><span class="linenos">5826</span></a><span class="sd"> args: the args used to instantiate the function of interest.</span>
-</span><span id="func-5827"><a href="#func-5827"><span class="linenos">5827</span></a><span class="sd"> dialect: the source dialect.</span>
-</span><span id="func-5828"><a href="#func-5828"><span class="linenos">5828</span></a><span class="sd"> kwargs: the kwargs used to instantiate the function of interest.</span>
-</span><span id="func-5829"><a href="#func-5829"><span class="linenos">5829</span></a>
-</span><span id="func-5830"><a href="#func-5830"><span class="linenos">5830</span></a><span class="sd"> Note:</span>
-</span><span id="func-5831"><a href="#func-5831"><span class="linenos">5831</span></a><span class="sd"> The arguments `args` and `kwargs` are mutually exclusive.</span>
-</span><span id="func-5832"><a href="#func-5832"><span class="linenos">5832</span></a>
-</span><span id="func-5833"><a href="#func-5833"><span class="linenos">5833</span></a><span class="sd"> Returns:</span>
-</span><span id="func-5834"><a href="#func-5834"><span class="linenos">5834</span></a><span class="sd"> An instance of the function of interest, or an anonymous function, if `name` doesn&#39;t</span>
-</span><span id="func-5835"><a href="#func-5835"><span class="linenos">5835</span></a><span class="sd"> correspond to an existing `sqlglot.expressions.Func` class.</span>
-</span><span id="func-5836"><a href="#func-5836"><span class="linenos">5836</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="func-5837"><a href="#func-5837"><span class="linenos">5837</span></a> <span class="k">if</span> <span class="n">args</span> <span class="ow">and</span> <span class="n">kwargs</span><span class="p">:</span>
-</span><span id="func-5838"><a href="#func-5838"><span class="linenos">5838</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Can&#39;t use both args and kwargs to instantiate a function.&quot;</span><span class="p">)</span>
-</span><span id="func-5839"><a href="#func-5839"><span class="linenos">5839</span></a>
-</span><span id="func-5840"><a href="#func-5840"><span class="linenos">5840</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="func-5841"><a href="#func-5841"><span class="linenos">5841</span></a>
-</span><span id="func-5842"><a href="#func-5842"><span class="linenos">5842</span></a> <span class="n">converted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">arg</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="k">for</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">args</span><span class="p">]</span>
-</span><span id="func-5843"><a href="#func-5843"><span class="linenos">5843</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">key</span><span class="p">:</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">value</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="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">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
-</span><span id="func-5844"><a href="#func-5844"><span class="linenos">5844</span></a>
-</span><span id="func-5845"><a href="#func-5845"><span class="linenos">5845</span></a> <span class="n">parser</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)()</span><span class="o">.</span><span class="n">parser</span><span class="p">()</span>
-</span><span id="func-5846"><a href="#func-5846"><span class="linenos">5846</span></a> <span class="n">from_args_list</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
-</span><span id="func-5847"><a href="#func-5847"><span class="linenos">5847</span></a>
-</span><span id="func-5848"><a href="#func-5848"><span class="linenos">5848</span></a> <span class="k">if</span> <span class="n">from_args_list</span><span class="p">:</span>
-</span><span id="func-5849"><a href="#func-5849"><span class="linenos">5849</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">from_args_list</span><span class="p">(</span><span class="n">converted</span><span class="p">)</span> <span class="k">if</span> <span class="n">converted</span> <span class="k">else</span> <span class="n">from_args_list</span><span class="o">.</span><span class="vm">__self__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
-</span><span id="func-5850"><a href="#func-5850"><span class="linenos">5850</span></a> <span class="k">else</span><span class="p">:</span>
-</span><span id="func-5851"><a href="#func-5851"><span class="linenos">5851</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="n">kwargs</span> <span class="ow">or</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="n">converted</span><span class="p">}</span>
-</span><span id="func-5852"><a href="#func-5852"><span class="linenos">5852</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">Anonymous</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-</span><span id="func-5853"><a href="#func-5853"><span class="linenos">5853</span></a>
-</span><span id="func-5854"><a href="#func-5854"><span class="linenos">5854</span></a> <span class="k">for</span> <span class="n">error_message</span> <span class="ow">in</span> <span class="n">function</span><span class="o">.</span><span class="n">error_messages</span><span class="p">(</span><span class="n">converted</span><span class="p">):</span>
-</span><span id="func-5855"><a href="#func-5855"><span class="linenos">5855</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">error_message</span><span class="p">)</span>
-</span><span id="func-5856"><a href="#func-5856"><span class="linenos">5856</span></a>
-</span><span id="func-5857"><a href="#func-5857"><span class="linenos">5857</span></a> <span class="k">return</span> <span class="n">function</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="func-5833"><a href="#func-5833"><span class="linenos">5833</span></a><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <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 class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Func</span><span class="p">:</span>
+</span><span id="func-5834"><a href="#func-5834"><span class="linenos">5834</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="func-5835"><a href="#func-5835"><span class="linenos">5835</span></a><span class="sd"> Returns a Func expression.</span>
+</span><span id="func-5836"><a href="#func-5836"><span class="linenos">5836</span></a>
+</span><span id="func-5837"><a href="#func-5837"><span class="linenos">5837</span></a><span class="sd"> Examples:</span>
+</span><span id="func-5838"><a href="#func-5838"><span class="linenos">5838</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;abs&quot;, 5).sql()</span>
+</span><span id="func-5839"><a href="#func-5839"><span class="linenos">5839</span></a><span class="sd"> &#39;ABS(5)&#39;</span>
+</span><span id="func-5840"><a href="#func-5840"><span class="linenos">5840</span></a>
+</span><span id="func-5841"><a href="#func-5841"><span class="linenos">5841</span></a><span class="sd"> &gt;&gt;&gt; func(&quot;cast&quot;, this=5, to=DataType.build(&quot;DOUBLE&quot;)).sql()</span>
+</span><span id="func-5842"><a href="#func-5842"><span class="linenos">5842</span></a><span class="sd"> &#39;CAST(5 AS DOUBLE)&#39;</span>
+</span><span id="func-5843"><a href="#func-5843"><span class="linenos">5843</span></a>
+</span><span id="func-5844"><a href="#func-5844"><span class="linenos">5844</span></a><span class="sd"> Args:</span>
+</span><span id="func-5845"><a href="#func-5845"><span class="linenos">5845</span></a><span class="sd"> name: the name of the function to build.</span>
+</span><span id="func-5846"><a href="#func-5846"><span class="linenos">5846</span></a><span class="sd"> args: the args used to instantiate the function of interest.</span>
+</span><span id="func-5847"><a href="#func-5847"><span class="linenos">5847</span></a><span class="sd"> dialect: the source dialect.</span>
+</span><span id="func-5848"><a href="#func-5848"><span class="linenos">5848</span></a><span class="sd"> kwargs: the kwargs used to instantiate the function of interest.</span>
+</span><span id="func-5849"><a href="#func-5849"><span class="linenos">5849</span></a>
+</span><span id="func-5850"><a href="#func-5850"><span class="linenos">5850</span></a><span class="sd"> Note:</span>
+</span><span id="func-5851"><a href="#func-5851"><span class="linenos">5851</span></a><span class="sd"> The arguments `args` and `kwargs` are mutually exclusive.</span>
+</span><span id="func-5852"><a href="#func-5852"><span class="linenos">5852</span></a>
+</span><span id="func-5853"><a href="#func-5853"><span class="linenos">5853</span></a><span class="sd"> Returns:</span>
+</span><span id="func-5854"><a href="#func-5854"><span class="linenos">5854</span></a><span class="sd"> An instance of the function of interest, or an anonymous function, if `name` doesn&#39;t</span>
+</span><span id="func-5855"><a href="#func-5855"><span class="linenos">5855</span></a><span class="sd"> correspond to an existing `sqlglot.expressions.Func` class.</span>
+</span><span id="func-5856"><a href="#func-5856"><span class="linenos">5856</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="func-5857"><a href="#func-5857"><span class="linenos">5857</span></a> <span class="k">if</span> <span class="n">args</span> <span class="ow">and</span> <span class="n">kwargs</span><span class="p">:</span>
+</span><span id="func-5858"><a href="#func-5858"><span class="linenos">5858</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Can&#39;t use both args and kwargs to instantiate a function.&quot;</span><span class="p">)</span>
+</span><span id="func-5859"><a href="#func-5859"><span class="linenos">5859</span></a>
+</span><span id="func-5860"><a href="#func-5860"><span class="linenos">5860</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="func-5861"><a href="#func-5861"><span class="linenos">5861</span></a>
+</span><span id="func-5862"><a href="#func-5862"><span class="linenos">5862</span></a> <span class="n">converted</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">Expression</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">arg</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="k">for</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">args</span><span class="p">]</span>
+</span><span id="func-5863"><a href="#func-5863"><span class="linenos">5863</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">key</span><span class="p">:</span> <span class="n">maybe_parse</span><span class="p">(</span><span class="n">value</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="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">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>
+</span><span id="func-5864"><a href="#func-5864"><span class="linenos">5864</span></a>
+</span><span id="func-5865"><a href="#func-5865"><span class="linenos">5865</span></a> <span class="n">parser</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)()</span><span class="o">.</span><span class="n">parser</span><span class="p">()</span>
+</span><span id="func-5866"><a href="#func-5866"><span class="linenos">5866</span></a> <span class="n">from_args_list</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
+</span><span id="func-5867"><a href="#func-5867"><span class="linenos">5867</span></a>
+</span><span id="func-5868"><a href="#func-5868"><span class="linenos">5868</span></a> <span class="k">if</span> <span class="n">from_args_list</span><span class="p">:</span>
+</span><span id="func-5869"><a href="#func-5869"><span class="linenos">5869</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">from_args_list</span><span class="p">(</span><span class="n">converted</span><span class="p">)</span> <span class="k">if</span> <span class="n">converted</span> <span class="k">else</span> <span class="n">from_args_list</span><span class="o">.</span><span class="vm">__self__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="c1"># type: ignore</span>
+</span><span id="func-5870"><a href="#func-5870"><span class="linenos">5870</span></a> <span class="k">else</span><span class="p">:</span>
+</span><span id="func-5871"><a href="#func-5871"><span class="linenos">5871</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="n">kwargs</span> <span class="ow">or</span> <span class="p">{</span><span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="n">converted</span><span class="p">}</span>
+</span><span id="func-5872"><a href="#func-5872"><span class="linenos">5872</span></a> <span class="n">function</span> <span class="o">=</span> <span class="n">Anonymous</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+</span><span id="func-5873"><a href="#func-5873"><span class="linenos">5873</span></a>
+</span><span id="func-5874"><a href="#func-5874"><span class="linenos">5874</span></a> <span class="k">for</span> <span class="n">error_message</span> <span class="ow">in</span> <span class="n">function</span><span class="o">.</span><span class="n">error_messages</span><span class="p">(</span><span class="n">converted</span><span class="p">):</span>
+</span><span id="func-5875"><a href="#func-5875"><span class="linenos">5875</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">error_message</span><span class="p">)</span>
+</span><span id="func-5876"><a href="#func-5876"><span class="linenos">5876</span></a>
+</span><span id="func-5877"><a href="#func-5877"><span class="linenos">5877</span></a> <span class="k">return</span> <span class="n">function</span>
</span></pre></div>
@@ -52428,11 +68574,11 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#true"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="true-5860"><a href="#true-5860"><span class="linenos">5860</span></a><span class="k">def</span> <span class="nf">true</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
-</span><span id="true-5861"><a href="#true-5861"><span class="linenos">5861</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="true-5862"><a href="#true-5862"><span class="linenos">5862</span></a><span class="sd"> Returns a true Boolean expression.</span>
-</span><span id="true-5863"><a href="#true-5863"><span class="linenos">5863</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="true-5864"><a href="#true-5864"><span class="linenos">5864</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="true-5880"><a href="#true-5880"><span class="linenos">5880</span></a><span class="k">def</span> <span class="nf">true</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
+</span><span id="true-5881"><a href="#true-5881"><span class="linenos">5881</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="true-5882"><a href="#true-5882"><span class="linenos">5882</span></a><span class="sd"> Returns a true Boolean expression.</span>
+</span><span id="true-5883"><a href="#true-5883"><span class="linenos">5883</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="true-5884"><a href="#true-5884"><span class="linenos">5884</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span></pre></div>
@@ -52452,11 +68598,11 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#false"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="false-5867"><a href="#false-5867"><span class="linenos">5867</span></a><span class="k">def</span> <span class="nf">false</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
-</span><span id="false-5868"><a href="#false-5868"><span class="linenos">5868</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="false-5869"><a href="#false-5869"><span class="linenos">5869</span></a><span class="sd"> Returns a false Boolean expression.</span>
-</span><span id="false-5870"><a href="#false-5870"><span class="linenos">5870</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="false-5871"><a href="#false-5871"><span class="linenos">5871</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="false-5887"><a href="#false-5887"><span class="linenos">5887</span></a><span class="k">def</span> <span class="nf">false</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Boolean</span><span class="p">:</span>
+</span><span id="false-5888"><a href="#false-5888"><span class="linenos">5888</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="false-5889"><a href="#false-5889"><span class="linenos">5889</span></a><span class="sd"> Returns a false Boolean expression.</span>
+</span><span id="false-5890"><a href="#false-5890"><span class="linenos">5890</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="false-5891"><a href="#false-5891"><span class="linenos">5891</span></a> <span class="k">return</span> <span class="n">Boolean</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
</span></pre></div>
@@ -52476,11 +68622,11 @@ If either are provided then an alias is also required.</li>
</div>
<a class="headerlink" href="#null"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="null-5874"><a href="#null-5874"><span class="linenos">5874</span></a><span class="k">def</span> <span class="nf">null</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Null</span><span class="p">:</span>
-</span><span id="null-5875"><a href="#null-5875"><span class="linenos">5875</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
-</span><span id="null-5876"><a href="#null-5876"><span class="linenos">5876</span></a><span class="sd"> Returns a Null expression.</span>
-</span><span id="null-5877"><a href="#null-5877"><span class="linenos">5877</span></a><span class="sd"> &quot;&quot;&quot;</span>
-</span><span id="null-5878"><a href="#null-5878"><span class="linenos">5878</span></a> <span class="k">return</span> <span class="n">Null</span><span class="p">()</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="null-5894"><a href="#null-5894"><span class="linenos">5894</span></a><span class="k">def</span> <span class="nf">null</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="n">Null</span><span class="p">:</span>
+</span><span id="null-5895"><a href="#null-5895"><span class="linenos">5895</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
+</span><span id="null-5896"><a href="#null-5896"><span class="linenos">5896</span></a><span class="sd"> Returns a Null expression.</span>
+</span><span id="null-5897"><a href="#null-5897"><span class="linenos">5897</span></a><span class="sd"> &quot;&quot;&quot;</span>
+</span><span id="null-5898"><a href="#null-5898"><span class="linenos">5898</span></a> <span class="k">return</span> <span class="n">Null</span><span class="p">()</span>
</span></pre></div>
@@ -52489,6 +68635,42 @@ If either are provided then an alias is also required.</li>
</section>
+ <section id="TRUE">
+ <div class="attr variable">
+ <span class="name">TRUE</span> =
+<span class="default_value">(BOOLEAN this: True)</span>
+
+
+ </div>
+ <a class="headerlink" href="#TRUE"></a>
+
+
+
+ </section>
+ <section id="FALSE">
+ <div class="attr variable">
+ <span class="name">FALSE</span> =
+<span class="default_value">(BOOLEAN this: False)</span>
+
+
+ </div>
+ <a class="headerlink" href="#FALSE"></a>
+
+
+
+ </section>
+ <section id="NULL">
+ <div class="attr variable">
+ <span class="name">NULL</span> =
+<span class="default_value">(NULL )</span>
+
+
+ </div>
+ <a class="headerlink" href="#NULL"></a>
+
+
+
+ </section>
</main>
<script>
function escapeHTML(html) {