diff options
Diffstat (limited to 'docs/sqlglot/dialects/starrocks.html')
-rw-r--r-- | docs/sqlglot/dialects/starrocks.html | 226 |
1 files changed, 160 insertions, 66 deletions
diff --git a/docs/sqlglot/dialects/starrocks.html b/docs/sqlglot/dialects/starrocks.html index 0377917..f1c9924 100644 --- a/docs/sqlglot/dialects/starrocks.html +++ b/docs/sqlglot/dialects/starrocks.html @@ -34,6 +34,12 @@ <a class="class" href="#StarRocks">StarRocks</a> <ul class="memberlist"> <li> + <a class="class" href="#StarRocks.Parser">StarRocks.Parser</a> + <ul class="memberlist"> + </ul> + + </li> + <li> <a class="class" href="#StarRocks.Generator">StarRocks.Generator</a> <ul class="memberlist"> </ul> @@ -70,28 +76,40 @@ </span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">exp</span> </span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span> <span class="nn">sqlglot.dialects.dialect</span> <span class="kn">import</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> <span class="n">rename_func</span> </span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span> <span class="nn">sqlglot.dialects.mysql</span> <span class="kn">import</span> <span class="n">MySQL</span> -</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a> +</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">from</span> <span class="nn">sqlglot.helper</span> <span class="kn">import</span> <span class="n">seq_get</span> </span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a> -</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="k">class</span> <span class="nc">StarRocks</span><span class="p">(</span><span class="n">MySQL</span><span class="p">):</span> -</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span> <span class="c1"># type: ignore</span> -</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a> <span class="n">TYPE_MAPPING</span> <span class="o">=</span> <span class="p">{</span> -</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TYPE_MAPPING</span><span class="p">,</span> <span class="c1"># type: ignore</span> -</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">:</span> <span class="s2">"STRING"</span><span class="p">,</span> -</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> -</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> -</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a> <span class="p">}</span> -</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a> -</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span> -</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span> <span class="c1"># type: ignore</span> -</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtractScalar</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> -</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtract</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> -</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DateDiff</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"DATEDIFF"</span><span class="p">),</span> -</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">StrToUnix</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"UNIX_TIMESTAMP(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> -</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimeStrToDate</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"TO_DATE"</span><span class="p">),</span> -</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToStr</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"FROM_UNIXTIME(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> -</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToTime</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"FROM_UNIXTIME"</span><span class="p">),</span> -</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a> <span class="p">}</span> -</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a> <span class="n">TRANSFORMS</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">DateTrunc</span><span class="p">)</span> +</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> +</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="k">class</span> <span class="nc">StarRocks</span><span class="p">(</span><span class="n">MySQL</span><span class="p">):</span> +</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span> <span class="c1"># type: ignore</span> +</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span> +</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a> <span class="s2">"DATE_TRUNC"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">TimestampTrunc</span><span class="p">(</span> +</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a> <span class="n">this</span><span class="o">=</span><span class="n">seq_get</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="n">unit</span><span class="o">=</span><span class="n">seq_get</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> +</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a> <span class="p">),</span> +</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a> <span class="p">}</span> +</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a> +</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span> <span class="c1"># type: ignore</span> +</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a> <span class="n">TYPE_MAPPING</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TYPE_MAPPING</span><span class="p">,</span> <span class="c1"># type: ignore</span> +</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">:</span> <span class="s2">"STRING"</span><span class="p">,</span> +</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> +</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> +</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a> <span class="p">}</span> +</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a> +</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span> <span class="c1"># type: ignore</span> +</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtractScalar</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> +</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtract</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> +</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DateDiff</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"DATEDIFF"</span><span class="p">),</span> +</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">StrToUnix</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"UNIX_TIMESTAMP(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> +</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimestampTrunc</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">(</span> +</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="s2">"DATE_TRUNC"</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)),</span> <span class="n">e</span><span class="o">.</span><span class="n">this</span> +</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="p">),</span> +</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimeStrToDate</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"TO_DATE"</span><span class="p">),</span> +</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToStr</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"FROM_UNIXTIME(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> +</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToTime</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"FROM_UNIXTIME"</span><span class="p">),</span> +</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="p">}</span> +</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="n">TRANSFORMS</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">DateTrunc</span><span class="p">)</span> </span></pre></div> @@ -107,26 +125,37 @@ </div> <a class="headerlink" href="#StarRocks"></a> - <div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks-9"><a href="#StarRocks-9"><span class="linenos"> 9</span></a><span class="k">class</span> <span class="nc">StarRocks</span><span class="p">(</span><span class="n">MySQL</span><span class="p">):</span> -</span><span id="StarRocks-10"><a href="#StarRocks-10"><span class="linenos">10</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span> <span class="c1"># type: ignore</span> -</span><span id="StarRocks-11"><a href="#StarRocks-11"><span class="linenos">11</span></a> <span class="n">TYPE_MAPPING</span> <span class="o">=</span> <span class="p">{</span> -</span><span id="StarRocks-12"><a href="#StarRocks-12"><span class="linenos">12</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TYPE_MAPPING</span><span class="p">,</span> <span class="c1"># type: ignore</span> -</span><span id="StarRocks-13"><a href="#StarRocks-13"><span class="linenos">13</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">:</span> <span class="s2">"STRING"</span><span class="p">,</span> -</span><span id="StarRocks-14"><a href="#StarRocks-14"><span class="linenos">14</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> -</span><span id="StarRocks-15"><a href="#StarRocks-15"><span class="linenos">15</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> -</span><span id="StarRocks-16"><a href="#StarRocks-16"><span class="linenos">16</span></a> <span class="p">}</span> -</span><span id="StarRocks-17"><a href="#StarRocks-17"><span class="linenos">17</span></a> -</span><span id="StarRocks-18"><a href="#StarRocks-18"><span class="linenos">18</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span> -</span><span id="StarRocks-19"><a href="#StarRocks-19"><span class="linenos">19</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span> <span class="c1"># type: ignore</span> -</span><span id="StarRocks-20"><a href="#StarRocks-20"><span class="linenos">20</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtractScalar</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> -</span><span id="StarRocks-21"><a href="#StarRocks-21"><span class="linenos">21</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtract</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> -</span><span id="StarRocks-22"><a href="#StarRocks-22"><span class="linenos">22</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DateDiff</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"DATEDIFF"</span><span class="p">),</span> -</span><span id="StarRocks-23"><a href="#StarRocks-23"><span class="linenos">23</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">StrToUnix</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"UNIX_TIMESTAMP(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> -</span><span id="StarRocks-24"><a href="#StarRocks-24"><span class="linenos">24</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimeStrToDate</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"TO_DATE"</span><span class="p">),</span> -</span><span id="StarRocks-25"><a href="#StarRocks-25"><span class="linenos">25</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToStr</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"FROM_UNIXTIME(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> -</span><span id="StarRocks-26"><a href="#StarRocks-26"><span class="linenos">26</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToTime</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"FROM_UNIXTIME"</span><span class="p">),</span> -</span><span id="StarRocks-27"><a href="#StarRocks-27"><span class="linenos">27</span></a> <span class="p">}</span> -</span><span id="StarRocks-28"><a href="#StarRocks-28"><span class="linenos">28</span></a> <span class="n">TRANSFORMS</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">DateTrunc</span><span class="p">)</span> + <div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks-10"><a href="#StarRocks-10"><span class="linenos">10</span></a><span class="k">class</span> <span class="nc">StarRocks</span><span class="p">(</span><span class="n">MySQL</span><span class="p">):</span> +</span><span id="StarRocks-11"><a href="#StarRocks-11"><span class="linenos">11</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks-12"><a href="#StarRocks-12"><span class="linenos">12</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="StarRocks-13"><a href="#StarRocks-13"><span class="linenos">13</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span> +</span><span id="StarRocks-14"><a href="#StarRocks-14"><span class="linenos">14</span></a> <span class="s2">"DATE_TRUNC"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">TimestampTrunc</span><span class="p">(</span> +</span><span id="StarRocks-15"><a href="#StarRocks-15"><span class="linenos">15</span></a> <span class="n">this</span><span class="o">=</span><span class="n">seq_get</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="n">unit</span><span class="o">=</span><span class="n">seq_get</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> +</span><span id="StarRocks-16"><a href="#StarRocks-16"><span class="linenos">16</span></a> <span class="p">),</span> +</span><span id="StarRocks-17"><a href="#StarRocks-17"><span class="linenos">17</span></a> <span class="p">}</span> +</span><span id="StarRocks-18"><a href="#StarRocks-18"><span class="linenos">18</span></a> +</span><span id="StarRocks-19"><a href="#StarRocks-19"><span class="linenos">19</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks-20"><a href="#StarRocks-20"><span class="linenos">20</span></a> <span class="n">TYPE_MAPPING</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="StarRocks-21"><a href="#StarRocks-21"><span class="linenos">21</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TYPE_MAPPING</span><span class="p">,</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks-22"><a href="#StarRocks-22"><span class="linenos">22</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">:</span> <span class="s2">"STRING"</span><span class="p">,</span> +</span><span id="StarRocks-23"><a href="#StarRocks-23"><span class="linenos">23</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> +</span><span id="StarRocks-24"><a href="#StarRocks-24"><span class="linenos">24</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> +</span><span id="StarRocks-25"><a href="#StarRocks-25"><span class="linenos">25</span></a> <span class="p">}</span> +</span><span id="StarRocks-26"><a href="#StarRocks-26"><span class="linenos">26</span></a> +</span><span id="StarRocks-27"><a href="#StarRocks-27"><span class="linenos">27</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="StarRocks-28"><a href="#StarRocks-28"><span class="linenos">28</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks-29"><a href="#StarRocks-29"><span class="linenos">29</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtractScalar</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> +</span><span id="StarRocks-30"><a href="#StarRocks-30"><span class="linenos">30</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtract</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> +</span><span id="StarRocks-31"><a href="#StarRocks-31"><span class="linenos">31</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DateDiff</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"DATEDIFF"</span><span class="p">),</span> +</span><span id="StarRocks-32"><a href="#StarRocks-32"><span class="linenos">32</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">StrToUnix</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"UNIX_TIMESTAMP(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> +</span><span id="StarRocks-33"><a href="#StarRocks-33"><span class="linenos">33</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimestampTrunc</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">(</span> +</span><span id="StarRocks-34"><a href="#StarRocks-34"><span class="linenos">34</span></a> <span class="s2">"DATE_TRUNC"</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)),</span> <span class="n">e</span><span class="o">.</span><span class="n">this</span> +</span><span id="StarRocks-35"><a href="#StarRocks-35"><span class="linenos">35</span></a> <span class="p">),</span> +</span><span id="StarRocks-36"><a href="#StarRocks-36"><span class="linenos">36</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimeStrToDate</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"TO_DATE"</span><span class="p">),</span> +</span><span id="StarRocks-37"><a href="#StarRocks-37"><span class="linenos">37</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToStr</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"FROM_UNIXTIME(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> +</span><span id="StarRocks-38"><a href="#StarRocks-38"><span class="linenos">38</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToTime</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"FROM_UNIXTIME"</span><span class="p">),</span> +</span><span id="StarRocks-39"><a href="#StarRocks-39"><span class="linenos">39</span></a> <span class="p">}</span> +</span><span id="StarRocks-40"><a href="#StarRocks-40"><span class="linenos">40</span></a> <span class="n">TRANSFORMS</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">DateTrunc</span><span class="p">)</span> </span></pre></div> @@ -137,7 +166,6 @@ <dl> <div><dt><a href="mysql.html#MySQL">sqlglot.dialects.mysql.MySQL</a></dt> <dd id="StarRocks.Tokenizer" class="class"><a href="mysql.html#MySQL.Tokenizer">Tokenizer</a></dd> - <dd id="StarRocks.Parser" class="class"><a href="mysql.html#MySQL.Parser">Parser</a></dd> </div> <div><dt><a href="dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></dt> @@ -147,6 +175,7 @@ <dd id="StarRocks.parse_into" class="function"><a href="dialect.html#Dialect.parse_into">parse_into</a></dd> <dd id="StarRocks.generate" class="function"><a href="dialect.html#Dialect.generate">generate</a></dd> <dd id="StarRocks.transpile" class="function"><a href="dialect.html#Dialect.transpile">transpile</a></dd> + <dd id="StarRocks.tokenize" class="function"><a href="dialect.html#Dialect.tokenize">tokenize</a></dd> <dd id="StarRocks.parser" class="function"><a href="dialect.html#Dialect.parser">parser</a></dd> <dd id="StarRocks.generator" class="function"><a href="dialect.html#Dialect.generator">generator</a></dd> @@ -154,6 +183,69 @@ </dl> </div> </section> + <section id="StarRocks.Parser"> + <input id="StarRocks.Parser-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1"> +<div class="attr class"> + + <span class="def">class</span> + <span class="name">StarRocks.Parser</span><wbr>(<span class="base"><a href="mysql.html#MySQL.Parser">sqlglot.dialects.mysql.MySQL.Parser</a></span>): + + <label class="view-source-button" for="StarRocks.Parser-view-source"><span>View Source</span></label> + + </div> + <a class="headerlink" href="#StarRocks.Parser"></a> + <div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks.Parser-11"><a href="#StarRocks.Parser-11"><span class="linenos">11</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks.Parser-12"><a href="#StarRocks.Parser-12"><span class="linenos">12</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="StarRocks.Parser-13"><a href="#StarRocks.Parser-13"><span class="linenos">13</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span> +</span><span id="StarRocks.Parser-14"><a href="#StarRocks.Parser-14"><span class="linenos">14</span></a> <span class="s2">"DATE_TRUNC"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">TimestampTrunc</span><span class="p">(</span> +</span><span id="StarRocks.Parser-15"><a href="#StarRocks.Parser-15"><span class="linenos">15</span></a> <span class="n">this</span><span class="o">=</span><span class="n">seq_get</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="n">unit</span><span class="o">=</span><span class="n">seq_get</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> +</span><span id="StarRocks.Parser-16"><a href="#StarRocks.Parser-16"><span class="linenos">16</span></a> <span class="p">),</span> +</span><span id="StarRocks.Parser-17"><a href="#StarRocks.Parser-17"><span class="linenos">17</span></a> <span class="p">}</span> +</span></pre></div> + + + <div class="docstring"><p>Parser consumes a list of tokens produced by the <code><a href="../tokens.html#Tokenizer">sqlglot.tokens.Tokenizer</a></code> and produces +a parsed syntax tree.</p> + +<h6 id="arguments">Arguments:</h6> + +<ul> +<li><strong>error_level:</strong> the desired error level. +Default: ErrorLevel.RAISE</li> +<li><strong>error_message_context:</strong> determines the amount of context to capture from a +query string when displaying the error message (in number of characters). +Default: 50.</li> +<li><strong>index_offset:</strong> Index offset for arrays eg ARRAY[0] vs ARRAY[1] as the head of a list. +Default: 0</li> +<li><strong>alias_post_tablesample:</strong> If the table alias comes after tablesample. +Default: False</li> +<li><strong>max_errors:</strong> Maximum number of error messages to include in a raised ParseError. +This is only relevant if error_level is ErrorLevel.RAISE. +Default: 3</li> +<li><strong>null_ordering:</strong> Indicates the default null ordering method to use if not explicitly set. +Options are "nulls_are_small", "nulls_are_large", "nulls_are_last". +Default: "nulls_are_small"</li> +</ul> +</div> + + + <div class="inherited"> + <h5>Inherited Members</h5> + <dl> + <div><dt><a href="../parser.html#Parser">sqlglot.parser.Parser</a></dt> + <dd id="StarRocks.Parser.__init__" class="function"><a href="../parser.html#Parser.__init__">Parser</a></dd> + <dd id="StarRocks.Parser.reset" class="function"><a href="../parser.html#Parser.reset">reset</a></dd> + <dd id="StarRocks.Parser.parse" class="function"><a href="../parser.html#Parser.parse">parse</a></dd> + <dd id="StarRocks.Parser.parse_into" class="function"><a href="../parser.html#Parser.parse_into">parse_into</a></dd> + <dd id="StarRocks.Parser.check_errors" class="function"><a href="../parser.html#Parser.check_errors">check_errors</a></dd> + <dd id="StarRocks.Parser.raise_error" class="function"><a href="../parser.html#Parser.raise_error">raise_error</a></dd> + <dd id="StarRocks.Parser.expression" class="function"><a href="../parser.html#Parser.expression">expression</a></dd> + <dd id="StarRocks.Parser.validate_expression" class="function"><a href="../parser.html#Parser.validate_expression">validate_expression</a></dd> + + </div> + </dl> + </div> + </section> <section id="StarRocks.Generator"> <input id="StarRocks.Generator-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1"> <div class="attr class"> @@ -165,25 +257,28 @@ </div> <a class="headerlink" href="#StarRocks.Generator"></a> - <div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks.Generator-10"><a href="#StarRocks.Generator-10"><span class="linenos">10</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span> <span class="c1"># type: ignore</span> -</span><span id="StarRocks.Generator-11"><a href="#StarRocks.Generator-11"><span class="linenos">11</span></a> <span class="n">TYPE_MAPPING</span> <span class="o">=</span> <span class="p">{</span> -</span><span id="StarRocks.Generator-12"><a href="#StarRocks.Generator-12"><span class="linenos">12</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TYPE_MAPPING</span><span class="p">,</span> <span class="c1"># type: ignore</span> -</span><span id="StarRocks.Generator-13"><a href="#StarRocks.Generator-13"><span class="linenos">13</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">:</span> <span class="s2">"STRING"</span><span class="p">,</span> -</span><span id="StarRocks.Generator-14"><a href="#StarRocks.Generator-14"><span class="linenos">14</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> -</span><span id="StarRocks.Generator-15"><a href="#StarRocks.Generator-15"><span class="linenos">15</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> -</span><span id="StarRocks.Generator-16"><a href="#StarRocks.Generator-16"><span class="linenos">16</span></a> <span class="p">}</span> -</span><span id="StarRocks.Generator-17"><a href="#StarRocks.Generator-17"><span class="linenos">17</span></a> -</span><span id="StarRocks.Generator-18"><a href="#StarRocks.Generator-18"><span class="linenos">18</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span> -</span><span id="StarRocks.Generator-19"><a href="#StarRocks.Generator-19"><span class="linenos">19</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span> <span class="c1"># type: ignore</span> -</span><span id="StarRocks.Generator-20"><a href="#StarRocks.Generator-20"><span class="linenos">20</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtractScalar</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> -</span><span id="StarRocks.Generator-21"><a href="#StarRocks.Generator-21"><span class="linenos">21</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtract</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> -</span><span id="StarRocks.Generator-22"><a href="#StarRocks.Generator-22"><span class="linenos">22</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DateDiff</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"DATEDIFF"</span><span class="p">),</span> -</span><span id="StarRocks.Generator-23"><a href="#StarRocks.Generator-23"><span class="linenos">23</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">StrToUnix</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"UNIX_TIMESTAMP(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> -</span><span id="StarRocks.Generator-24"><a href="#StarRocks.Generator-24"><span class="linenos">24</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimeStrToDate</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"TO_DATE"</span><span class="p">),</span> -</span><span id="StarRocks.Generator-25"><a href="#StarRocks.Generator-25"><span class="linenos">25</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToStr</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"FROM_UNIXTIME(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> -</span><span id="StarRocks.Generator-26"><a href="#StarRocks.Generator-26"><span class="linenos">26</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToTime</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"FROM_UNIXTIME"</span><span class="p">),</span> -</span><span id="StarRocks.Generator-27"><a href="#StarRocks.Generator-27"><span class="linenos">27</span></a> <span class="p">}</span> -</span><span id="StarRocks.Generator-28"><a href="#StarRocks.Generator-28"><span class="linenos">28</span></a> <span class="n">TRANSFORMS</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">DateTrunc</span><span class="p">)</span> + <div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks.Generator-19"><a href="#StarRocks.Generator-19"><span class="linenos">19</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks.Generator-20"><a href="#StarRocks.Generator-20"><span class="linenos">20</span></a> <span class="n">TYPE_MAPPING</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="StarRocks.Generator-21"><a href="#StarRocks.Generator-21"><span class="linenos">21</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TYPE_MAPPING</span><span class="p">,</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks.Generator-22"><a href="#StarRocks.Generator-22"><span class="linenos">22</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TEXT</span><span class="p">:</span> <span class="s2">"STRING"</span><span class="p">,</span> +</span><span id="StarRocks.Generator-23"><a href="#StarRocks.Generator-23"><span class="linenos">23</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> +</span><span id="StarRocks.Generator-24"><a href="#StarRocks.Generator-24"><span class="linenos">24</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">TIMESTAMPTZ</span><span class="p">:</span> <span class="s2">"DATETIME"</span><span class="p">,</span> +</span><span id="StarRocks.Generator-25"><a href="#StarRocks.Generator-25"><span class="linenos">25</span></a> <span class="p">}</span> +</span><span id="StarRocks.Generator-26"><a href="#StarRocks.Generator-26"><span class="linenos">26</span></a> +</span><span id="StarRocks.Generator-27"><a href="#StarRocks.Generator-27"><span class="linenos">27</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span> +</span><span id="StarRocks.Generator-28"><a href="#StarRocks.Generator-28"><span class="linenos">28</span></a> <span class="o">**</span><span class="n">MySQL</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span> <span class="c1"># type: ignore</span> +</span><span id="StarRocks.Generator-29"><a href="#StarRocks.Generator-29"><span class="linenos">29</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtractScalar</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> +</span><span id="StarRocks.Generator-30"><a href="#StarRocks.Generator-30"><span class="linenos">30</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">JSONExtract</span><span class="p">:</span> <span class="n">arrow_json_extract_sql</span><span class="p">,</span> +</span><span id="StarRocks.Generator-31"><a href="#StarRocks.Generator-31"><span class="linenos">31</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">DateDiff</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"DATEDIFF"</span><span class="p">),</span> +</span><span id="StarRocks.Generator-32"><a href="#StarRocks.Generator-32"><span class="linenos">32</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">StrToUnix</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"UNIX_TIMESTAMP(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> +</span><span id="StarRocks.Generator-33"><a href="#StarRocks.Generator-33"><span class="linenos">33</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimestampTrunc</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">(</span> +</span><span id="StarRocks.Generator-34"><a href="#StarRocks.Generator-34"><span class="linenos">34</span></a> <span class="s2">"DATE_TRUNC"</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)),</span> <span class="n">e</span><span class="o">.</span><span class="n">this</span> +</span><span id="StarRocks.Generator-35"><a href="#StarRocks.Generator-35"><span class="linenos">35</span></a> <span class="p">),</span> +</span><span id="StarRocks.Generator-36"><a href="#StarRocks.Generator-36"><span class="linenos">36</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">TimeStrToDate</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"TO_DATE"</span><span class="p">),</span> +</span><span id="StarRocks.Generator-37"><a href="#StarRocks.Generator-37"><span class="linenos">37</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToStr</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"FROM_UNIXTIME(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">format_time</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">)"</span><span class="p">,</span> +</span><span id="StarRocks.Generator-38"><a href="#StarRocks.Generator-38"><span class="linenos">38</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">UnixToTime</span><span class="p">:</span> <span class="n">rename_func</span><span class="p">(</span><span class="s2">"FROM_UNIXTIME"</span><span class="p">),</span> +</span><span id="StarRocks.Generator-39"><a href="#StarRocks.Generator-39"><span class="linenos">39</span></a> <span class="p">}</span> +</span><span id="StarRocks.Generator-40"><a href="#StarRocks.Generator-40"><span class="linenos">40</span></a> <span class="n">TRANSFORMS</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">DateTrunc</span><span class="p">)</span> </span></pre></div> @@ -200,8 +295,7 @@ represents a python time format and the output the target time format</li> <li><strong>quote_end (str):</strong> specifies which ending character to use to delimit quotes. Default: '.</li> <li><strong>identifier_start (str):</strong> specifies which starting character to use to delimit identifiers. Default: ".</li> <li><strong>identifier_end (str):</strong> specifies which ending character to use to delimit identifiers. Default: ".</li> -<li><strong>identify (bool):</strong> if set to True all identifiers will be delimited by the corresponding -character.</li> +<li><strong>identify (bool | str):</strong> 'always': always quote, 'safe': quote identifiers if they don't contain an upcase, True defaults to always.</li> <li><strong>normalize (bool):</strong> if set to True all identifiers will lower cased</li> <li><strong>string_escape (str):</strong> specifies a string escape character. Default: '.</li> <li><strong>identifier_escape (str):</strong> specifies an identifier escape character. Default: ".</li> @@ -322,6 +416,8 @@ Default: True</li> <dd id="StarRocks.Generator.lateral_sql" class="function"><a href="../generator.html#Generator.lateral_sql">lateral_sql</a></dd> <dd id="StarRocks.Generator.limit_sql" class="function"><a href="../generator.html#Generator.limit_sql">limit_sql</a></dd> <dd id="StarRocks.Generator.offset_sql" class="function"><a href="../generator.html#Generator.offset_sql">offset_sql</a></dd> + <dd id="StarRocks.Generator.setitem_sql" class="function"><a href="../generator.html#Generator.setitem_sql">setitem_sql</a></dd> + <dd id="StarRocks.Generator.set_sql" class="function"><a href="../generator.html#Generator.set_sql">set_sql</a></dd> <dd id="StarRocks.Generator.lock_sql" class="function"><a href="../generator.html#Generator.lock_sql">lock_sql</a></dd> <dd id="StarRocks.Generator.literal_sql" class="function"><a href="../generator.html#Generator.literal_sql">literal_sql</a></dd> <dd id="StarRocks.Generator.loaddata_sql" class="function"><a href="../generator.html#Generator.loaddata_sql">loaddata_sql</a></dd> @@ -406,7 +502,6 @@ Default: True</li> <dd id="StarRocks.Generator.intdiv_sql" class="function"><a href="../generator.html#Generator.intdiv_sql">intdiv_sql</a></dd> <dd id="StarRocks.Generator.dpipe_sql" class="function"><a href="../generator.html#Generator.dpipe_sql">dpipe_sql</a></dd> <dd id="StarRocks.Generator.div_sql" class="function"><a href="../generator.html#Generator.div_sql">div_sql</a></dd> - <dd id="StarRocks.Generator.floatdiv_sql" class="function"><a href="../generator.html#Generator.floatdiv_sql">floatdiv_sql</a></dd> <dd id="StarRocks.Generator.overlaps_sql" class="function"><a href="../generator.html#Generator.overlaps_sql">overlaps_sql</a></dd> <dd id="StarRocks.Generator.distance_sql" class="function"><a href="../generator.html#Generator.distance_sql">distance_sql</a></dd> <dd id="StarRocks.Generator.dot_sql" class="function"><a href="../generator.html#Generator.dot_sql">dot_sql</a></dd> @@ -448,12 +543,11 @@ Default: True</li> <dd id="StarRocks.Generator.kwarg_sql" class="function"><a href="../generator.html#Generator.kwarg_sql">kwarg_sql</a></dd> <dd id="StarRocks.Generator.when_sql" class="function"><a href="../generator.html#Generator.when_sql">when_sql</a></dd> <dd id="StarRocks.Generator.merge_sql" class="function"><a href="../generator.html#Generator.merge_sql">merge_sql</a></dd> + <dd id="StarRocks.Generator.tochar_sql" class="function"><a href="../generator.html#Generator.tochar_sql">tochar_sql</a></dd> </div> <div><dt><a href="mysql.html#MySQL.Generator">sqlglot.dialects.mysql.MySQL.Generator</a></dt> <dd id="StarRocks.Generator.show_sql" class="function"><a href="mysql.html#MySQL.Generator.show_sql">show_sql</a></dd> - <dd id="StarRocks.Generator.setitem_sql" class="function"><a href="mysql.html#MySQL.Generator.setitem_sql">setitem_sql</a></dd> - <dd id="StarRocks.Generator.set_sql" class="function"><a href="mysql.html#MySQL.Generator.set_sql">set_sql</a></dd> </div> </dl> |