Skip to content

Commit 6223f95

Browse files
authored
[FIX] comment assignment fails sometimes (#130)
1 parent 160c241 commit 6223f95

6 files changed

Lines changed: 276 additions & 60 deletions

File tree

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ repos:
4848

4949
To exemplify the formatting let's say you have a SQL query like this
5050

51-
```python
51+
```
5252
example_sql = """
5353
create or replace table mytable as -- mytable example
5454
seLecT a.asdf, b.qwer, -- some comment here
@@ -67,7 +67,7 @@ groUp by a.asdf
6767

6868
Then you can use this package to format it so that it is better readable
6969

70-
```python
70+
```
7171
from sql_formatter.core import format_sql
7272
print(format_sql(example_sql))
7373
```
@@ -91,7 +91,7 @@ print(format_sql(example_sql))
9191

9292
It can even deal with subqueries and it will correct my favourite simple careless mistake (comma at the end of SELECT statement before of FROM) for you on the flow :-)
9393

94-
```python
94+
```
9595
print(format_sql("""
9696
select asdf, cast(qwer as numeric), -- some comment
9797
qwer1
@@ -121,7 +121,7 @@ where qwer1 >= 0
121121

122122
The formatter is also robust against nested subqueries
123123

124-
```python
124+
```
125125
print(format_sql("""
126126
select field1, field2 from (select field1,
127127
field2 from (select field1, field2,
@@ -143,7 +143,7 @@ field3 from table1 where a=1 and b>=100))
143143

144144
If you do not want to get some query formatted in your SQL file then you can use the marker `/*skip-formatter*/` in your query to disable formatting for just the corresponding query
145145

146-
```python
146+
```
147147
from sql_formatter.format_file import format_sql_commands
148148
print(format_sql_commands(
149149
"""

docs/core.html

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1750,6 +1750,100 @@ <h4 id="format_select" class="doc_header"><code>format_select</code><a href="htt
17501750
</div>
17511751
</div>
17521752

1753+
</div>
1754+
{% endraw %}
1755+
1756+
{% raw %}
1757+
1758+
<div class="cell border-box-sizing code_cell rendered">
1759+
<div class="input">
1760+
1761+
<div class="inner_cell">
1762+
<div class="input_area">
1763+
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">assert_and_print</span><span class="p">(</span>
1764+
<span class="n">format_select</span><span class="p">(</span><span class="s2">&quot;select asdf, -- Some comment[C]asdforqwer -- Another comment[C]&quot;</span><span class="p">),</span>
1765+
<span class="sd">&quot;&quot;&quot;</span>
1766+
<span class="sd">select asdf, -- Some comment</span>
1767+
<span class="sd"> asdforqwer -- Another comment</span>
1768+
<span class="sd">&quot;&quot;&quot;</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
1769+
<span class="p">)</span>
1770+
</pre></div>
1771+
1772+
</div>
1773+
</div>
1774+
</div>
1775+
1776+
<div class="output_wrapper">
1777+
<div class="output">
1778+
1779+
<div class="output_area">
1780+
1781+
<div class="output_subarea output_stream output_stdout output_text">
1782+
<pre>Assertion failed
1783+
1784+
Observed:
1785+
1786+
select asdf, -- Some comment -- Another comment
1787+
asdforqwer
1788+
1789+
1790+
Expected:
1791+
1792+
select asdf, -- Some comment
1793+
asdforqwer -- Another comment
1794+
Exception found at position 28:
1795+
1796+
10-characters window:
1797+
1798+
Observed:
1799+
1800+
mment -- A
1801+
1802+
1803+
Expected:
1804+
1805+
mment
1806+
1807+
</pre>
1808+
</div>
1809+
</div>
1810+
1811+
<div class="output_area">
1812+
1813+
<div class="output_subarea output_text output_error">
1814+
<pre>
1815+
<span class="ansi-red-fg">-----------------------------------------------------------------------</span>
1816+
<span class="ansi-red-fg">AssertionError</span> Traceback (most recent call last)
1817+
<span class="ansi-green-fg">~/Dokumente/Python_Stuff/Projekte/sql_formatter/sql_formatter/utils.py</span> in <span class="ansi-cyan-fg">assert_and_print</span><span class="ansi-blue-fg">(s_in, s_expected)</span>
1818+
<span class="ansi-green-intense-fg ansi-bold"> 18</span> <span class="ansi-green-fg">try</span><span class="ansi-blue-fg">:</span>
1819+
<span class="ansi-green-fg">---&gt; 19</span><span class="ansi-red-fg"> </span><span class="ansi-green-fg">assert</span> s_in <span class="ansi-blue-fg">==</span> s_expected
1820+
<span class="ansi-green-intense-fg ansi-bold"> 20</span> <span class="ansi-green-fg">except</span><span class="ansi-blue-fg">:</span>
1821+
1822+
<span class="ansi-red-fg">AssertionError</span>:
1823+
1824+
During handling of the above exception, another exception occurred:
1825+
1826+
<span class="ansi-red-fg">AssertionError</span> Traceback (most recent call last)
1827+
<span class="ansi-green-fg">&lt;ipython-input-70-57dc18c8340b&gt;</span> in <span class="ansi-cyan-fg">&lt;module&gt;</span>
1828+
<span class="ansi-green-intense-fg ansi-bold"> 4</span> select asdf<span class="ansi-blue-fg">,</span> <span class="ansi-blue-fg">-</span><span class="ansi-blue-fg">-</span> Some comment
1829+
<span class="ansi-green-intense-fg ansi-bold"> 5</span> asdforqwer <span class="ansi-blue-fg">-</span><span class="ansi-blue-fg">-</span> Another comment
1830+
<span class="ansi-green-fg">----&gt; 6</span><span class="ansi-red-fg"> &#34;&#34;&#34;.strip()
1831+
</span><span class="ansi-green-intense-fg ansi-bold"> 7</span> )
1832+
1833+
<span class="ansi-green-fg">~/Dokumente/Python_Stuff/Projekte/sql_formatter/sql_formatter/utils.py</span> in <span class="ansi-cyan-fg">assert_and_print</span><span class="ansi-blue-fg">(s_in, s_expected)</span>
1834+
<span class="ansi-green-intense-fg ansi-bold"> 35</span> print<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">&#34;Expected:\n&#34;</span><span class="ansi-blue-fg">)</span>
1835+
<span class="ansi-green-intense-fg ansi-bold"> 36</span> print<span class="ansi-blue-fg">(</span>s_expected<span class="ansi-blue-fg">[</span>max<span class="ansi-blue-fg">(</span>i<span class="ansi-blue-fg">-</span><span class="ansi-cyan-fg">5</span><span class="ansi-blue-fg">,</span> <span class="ansi-cyan-fg">0</span><span class="ansi-blue-fg">)</span><span class="ansi-blue-fg">:</span>i<span class="ansi-blue-fg">+</span><span class="ansi-cyan-fg">5</span><span class="ansi-blue-fg">]</span><span class="ansi-blue-fg">)</span>
1836+
<span class="ansi-green-fg">---&gt; 37</span><span class="ansi-red-fg"> </span><span class="ansi-green-fg">assert</span> s_in <span class="ansi-blue-fg">==</span> s_expected
1837+
<span class="ansi-green-intense-fg ansi-bold"> 38</span> print<span class="ansi-blue-fg">(</span>s_in<span class="ansi-blue-fg">)</span>
1838+
<span class="ansi-green-intense-fg ansi-bold"> 39</span> <span class="ansi-green-fg">return</span> <span class="ansi-green-fg">None</span>
1839+
1840+
<span class="ansi-red-fg">AssertionError</span>: </pre>
1841+
</div>
1842+
</div>
1843+
1844+
</div>
1845+
</div>
1846+
17531847
</div>
17541848
{% endraw %}
17551849

0 commit comments

Comments
 (0)