Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions docs/core.html
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,49 @@ <h4 id="preformat_statement" class="doc_header"><code>preformat_statement</code>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">

<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">assert_and_print</span><span class="p">(</span><span class="n">preformat_statement</span><span class="p">(</span><span class="s2">&quot;&quot;&quot;</span>
<span class="s2">create or replace view my_view as</span>
<span class="s2">seLect asdf,</span>
<span class="s2"> qwer_function,</span>
<span class="s2"> qwer</span>
<span class="s2">From table1 where asdf = 1</span>
<span class="s2">&quot;&quot;&quot;</span><span class="p">,</span> <span class="n">MAIN_STATEMENTS</span><span class="p">),</span>
<span class="s2">&quot;</span><span class="se">\n</span><span class="s2">CREATE OR REPLACE VIEW my_view AS</span><span class="se">\n</span><span class="s2">SELECT asdf, qwer_function, qwer</span><span class="se">\n</span><span class="s2">FROM table1</span><span class="se">\n</span><span class="s2">WHERE asdf = 1&quot;</span>
<span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">

<div class="output_area">

<div class="output_subarea output_stream output_stdout output_text">
<pre>
CREATE OR REPLACE VIEW my_view AS
SELECT asdf, qwer_function, qwer
FROM table1
WHERE asdf = 1
</pre>
</div>
</div>

</div>
</div>

</div>
{% endraw %}

{% raw %}

<div class="cell border-box-sizing code_cell rendered">
<div class="input">

<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">preformat_statement</span><span class="p">(</span><span class="n">example_sql</span><span class="p">,</span> <span class="n">MAIN_STATEMENTS</span><span class="p">))</span>
Expand Down
31 changes: 30 additions & 1 deletion nbs/00_core.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@
" ] \n",
" else:\n",
" split_rec = [ # update list\n",
" re.sub(rf\"\\s*({statement})\\b\", \"\\n\" + statement.upper(), line, flags=re.I)\n",
" re.sub(rf\"\\s*\\b({statement})\\b\", \"\\n\" + statement.upper(), line, flags=re.I)\n",
" if not re.search(\"(?:--.*|\\/\\*.*\\*\\/)\", line)\n",
" else line\n",
" for line in split_rec\n",
Expand Down Expand Up @@ -473,6 +473,35 @@
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"CREATE OR REPLACE VIEW my_view AS\n",
"SELECT asdf, qwer_function, qwer\n",
"FROM table1\n",
"WHERE asdf = 1\n"
]
}
],
"source": [
"assert_and_print(preformat_statement(\"\"\"\n",
"create or replace view my_view as\n",
"seLect asdf,\n",
" qwer_function,\n",
" qwer\n",
"From table1 where asdf = 1\n",
"\"\"\", MAIN_STATEMENTS),\n",
" \"\\nCREATE OR REPLACE VIEW my_view AS\\nSELECT asdf, qwer_function, qwer\\nFROM table1\\nWHERE asdf = 1\"\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down
2 changes: 1 addition & 1 deletion sql_formatter/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def preformat_statement(s, statements):
]
else:
split_rec = [ # update list
re.sub(rf"\s*({statement})\b", "\n" + statement.upper(), line, flags=re.I)
re.sub(rf"\s*\b({statement})\b", "\n" + statement.upper(), line, flags=re.I)
if not re.search("(?:--.*|\/\*.*\*\/)", line)
else line
for line in split_rec
Expand Down