Skip to content

Commit 9a30ca5

Browse files
committed
rebuild and retest
1 parent 4133f03 commit 9a30ca5

File tree

8 files changed

+55
-141
lines changed

8 files changed

+55
-141
lines changed

build/lib/data_algebra/SQLite.py

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ def __init__(self):
5858
identifier_quote='"',
5959
string_quote="'",
6060
sql_formatters=SQLite_formatters,
61-
on_joiner='AND'
61+
on_joiner='AND',
62+
union_all_term_start='',
63+
union_all_term_end='',
6264
)
6365

6466
def prepare_connection(self, conn):
@@ -155,32 +157,6 @@ def prepare_connection(self, conn):
155157
# https://docs.python.org/3/library/sqlite3.html
156158
conn.create_aggregate("median", 1, MedianAgg)
157159

158-
def table_values_to_sql(self, v):
159-
assert v is not None
160-
m = v.shape[0]
161-
assert m > 0
162-
n = v.shape[1]
163-
assert n > 0
164-
165-
def q_row(i):
166-
return (
167-
'('
168-
+ ', '.join([self.value_to_sql(v[v.columns[j]][i]) for j in range(n)])
169-
+ ')'
170-
)
171-
172-
sql = (
173-
['SELECT']
174-
+ [' '
175-
+ self.quote_identifier(f'column{j+1}')
176-
+ ' AS ' + self.quote_identifier(v.columns[j]) + (',' if j < (n - 1) else '') for j in range(n)]
177-
+ ['FROM',
178-
' (VALUES']
179-
+ [ ' ' + q_row(i) + (',' if i < (m - 1) else '') for i in range(m)]
180-
+ [' )']
181-
)
182-
return '\n'.join(sql) + '\n'
183-
184160
# noinspection PyMethodMayBeStatic,SqlNoDataSourceInspection
185161
def insert_table(
186162
self, conn, d, table_name, *, qualifiers=None, allow_overwrite=False

build/lib/data_algebra/db_model.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,8 @@ class DBModel:
481481
supports_with: bool
482482
allow_extend_merges: bool
483483
default_SQL_format_options:SQLFormatOptions
484+
union_all_term_start: str
485+
union_all_term_end: str
484486

485487
def __init__(
486488
self,
@@ -499,6 +501,8 @@ def __init__(
499501
supports_with=True,
500502
allow_extend_merges=True,
501503
default_SQL_format_options=None,
504+
union_all_term_start='(',
505+
union_all_term_end=')',
502506
):
503507
if local_data_model is None:
504508
local_data_model = data_algebra.default_data_model
@@ -529,6 +533,8 @@ def __init__(
529533
self.default_SQL_format_options = default_SQL_format_options
530534
self.supports_with = supports_with
531535
self.allow_extend_merges = allow_extend_merges
536+
self.union_all_term_start = union_all_term_start
537+
self.union_all_term_end=union_all_term_end
532538

533539
def db_handle(self, conn):
534540
return DBHandle(db_model=self, conn=conn)
@@ -695,9 +701,10 @@ def table_values_to_sql(self, v):
695701

696702
def q_row(i):
697703
return (
698-
'(SELECT '
704+
self.union_all_term_start
705+
+ 'SELECT '
699706
+ ', '.join([f'{qv(v[v.columns[j]][i])} AS {qi(v.columns[j])}' for j in range(n)])
700-
+ ')'
707+
+ self.union_all_term_end
701708
)
702709

703710
sql = (

coverage.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ data_algebra/BigQuery.py 106 68 36%
9292
data_algebra/MySQL.py 27 9 67%
9393
data_algebra/OrderedSet.py 53 7 87%
9494
data_algebra/PostgreSQL.py 17 6 65%
95-
data_algebra/SQLite.py 76 8 89%
95+
data_algebra/SQLite.py 66 8 88%
9696
data_algebra/SparkSQL.py 65 40 38%
9797
data_algebra/__init__.py 6 0 100%
9898
data_algebra/arrow.py 170 36 79%
@@ -102,7 +102,7 @@ data_algebra/data_model.py 128 22 83%
102102
data_algebra/data_ops.py 1135 190 83%
103103
data_algebra/data_ops_types.py 91 41 55%
104104
data_algebra/data_ops_utils.py 51 7 86%
105-
data_algebra/db_model.py 864 90 90%
105+
data_algebra/db_model.py 868 90 90%
106106
data_algebra/eval_model.py 16 1 94%
107107
data_algebra/expr_parse.py 32 0 100%
108108
data_algebra/expr_rep.py 562 103 82%
@@ -116,7 +116,7 @@ data_algebra/python3_lark.py 1 0 100%
116116
data_algebra/test_util.py 195 37 81%
117117
data_algebra/util.py 78 6 92%
118118
----------------------------------------------------------
119-
TOTAL 4764 844 82%
119+
TOTAL 4758 844 82%
120120

121121

122-
============================= 206 passed in 16.03s =============================
122+
============================= 206 passed in 16.44s =============================
-193 Bytes
Binary file not shown.

dist/data_algebra-0.7.8.tar.gz

-183 Bytes
Binary file not shown.

docs/data_algebra/SQLite.html

Lines changed: 10 additions & 100 deletions
Large diffs are not rendered by default.

docs/data_algebra/db_model.html

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,8 @@ <h1 class="modulename">
699699
<span class="n">supports_with</span><span class="p">:</span> <span class="nb">bool</span>
700700
<span class="n">allow_extend_merges</span><span class="p">:</span> <span class="nb">bool</span>
701701
<span class="n">default_SQL_format_options</span><span class="p">:</span><span class="n">SQLFormatOptions</span>
702+
<span class="n">union_all_term_start</span><span class="p">:</span> <span class="nb">str</span>
703+
<span class="n">union_all_term_end</span><span class="p">:</span> <span class="nb">str</span>
702704

703705
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
704706
<span class="bp">self</span><span class="p">,</span>
@@ -717,6 +719,8 @@ <h1 class="modulename">
717719
<span class="n">supports_with</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
718720
<span class="n">allow_extend_merges</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
719721
<span class="n">default_SQL_format_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
722+
<span class="n">union_all_term_start</span><span class="o">=</span><span class="s1">&#39;(&#39;</span><span class="p">,</span>
723+
<span class="n">union_all_term_end</span><span class="o">=</span><span class="s1">&#39;)&#39;</span><span class="p">,</span>
720724
<span class="p">):</span>
721725
<span class="k">if</span> <span class="n">local_data_model</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
722726
<span class="n">local_data_model</span> <span class="o">=</span> <span class="n">data_algebra</span><span class="o">.</span><span class="n">default_data_model</span>
@@ -747,6 +751,8 @@ <h1 class="modulename">
747751
<span class="bp">self</span><span class="o">.</span><span class="n">default_SQL_format_options</span> <span class="o">=</span> <span class="n">default_SQL_format_options</span>
748752
<span class="bp">self</span><span class="o">.</span><span class="n">supports_with</span> <span class="o">=</span> <span class="n">supports_with</span>
749753
<span class="bp">self</span><span class="o">.</span><span class="n">allow_extend_merges</span> <span class="o">=</span> <span class="n">allow_extend_merges</span>
754+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_start</span> <span class="o">=</span> <span class="n">union_all_term_start</span>
755+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_end</span><span class="o">=</span><span class="n">union_all_term_end</span>
750756

751757
<span class="k">def</span> <span class="nf">db_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">):</span>
752758
<span class="k">return</span> <span class="n">DBHandle</span><span class="p">(</span><span class="n">db_model</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="o">=</span><span class="n">conn</span><span class="p">)</span>
@@ -913,9 +919,10 @@ <h1 class="modulename">
913919

914920
<span class="k">def</span> <span class="nf">q_row</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
915921
<span class="k">return</span> <span class="p">(</span>
916-
<span class="s1">&#39;(SELECT &#39;</span>
922+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_start</span>
923+
<span class="o">+</span> <span class="s1">&#39;SELECT &#39;</span>
917924
<span class="o">+</span> <span class="s1">&#39;, &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">qv</span><span class="p">(</span><span class="n">v</span><span class="p">[</span><span class="n">v</span><span class="o">.</span><span class="n">columns</span><span class="p">[</span><span class="n">j</span><span class="p">]][</span><span class="n">i</span><span class="p">])</span><span class="si">}</span><span class="s1"> AS </span><span class="si">{</span><span class="n">qi</span><span class="p">(</span><span class="n">v</span><span class="o">.</span><span class="n">columns</span><span class="p">[</span><span class="n">j</span><span class="p">])</span><span class="si">}</span><span class="s1">&#39;</span> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)])</span>
918-
<span class="o">+</span> <span class="s1">&#39;)&#39;</span>
925+
<span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_end</span>
919926
<span class="p">)</span>
920927

921928
<span class="n">sql</span> <span class="o">=</span> <span class="p">(</span>
@@ -2148,6 +2155,8 @@ <h1 class="modulename">
21482155
<span class="n">supports_with</span><span class="p">:</span> <span class="nb">bool</span>
21492156
<span class="n">allow_extend_merges</span><span class="p">:</span> <span class="nb">bool</span>
21502157
<span class="n">default_SQL_format_options</span><span class="p">:</span><span class="n">SQLFormatOptions</span>
2158+
<span class="n">union_all_term_start</span><span class="p">:</span> <span class="nb">str</span>
2159+
<span class="n">union_all_term_end</span><span class="p">:</span> <span class="nb">str</span>
21512160

21522161
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
21532162
<span class="bp">self</span><span class="p">,</span>
@@ -2166,6 +2175,8 @@ <h1 class="modulename">
21662175
<span class="n">supports_with</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
21672176
<span class="n">allow_extend_merges</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
21682177
<span class="n">default_SQL_format_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
2178+
<span class="n">union_all_term_start</span><span class="o">=</span><span class="s1">&#39;(&#39;</span><span class="p">,</span>
2179+
<span class="n">union_all_term_end</span><span class="o">=</span><span class="s1">&#39;)&#39;</span><span class="p">,</span>
21692180
<span class="p">):</span>
21702181
<span class="k">if</span> <span class="n">local_data_model</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
21712182
<span class="n">local_data_model</span> <span class="o">=</span> <span class="n">data_algebra</span><span class="o">.</span><span class="n">default_data_model</span>
@@ -2196,6 +2207,8 @@ <h1 class="modulename">
21962207
<span class="bp">self</span><span class="o">.</span><span class="n">default_SQL_format_options</span> <span class="o">=</span> <span class="n">default_SQL_format_options</span>
21972208
<span class="bp">self</span><span class="o">.</span><span class="n">supports_with</span> <span class="o">=</span> <span class="n">supports_with</span>
21982209
<span class="bp">self</span><span class="o">.</span><span class="n">allow_extend_merges</span> <span class="o">=</span> <span class="n">allow_extend_merges</span>
2210+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_start</span> <span class="o">=</span> <span class="n">union_all_term_start</span>
2211+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_end</span><span class="o">=</span><span class="n">union_all_term_end</span>
21992212

22002213
<span class="k">def</span> <span class="nf">db_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">):</span>
22012214
<span class="k">return</span> <span class="n">DBHandle</span><span class="p">(</span><span class="n">db_model</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="o">=</span><span class="n">conn</span><span class="p">)</span>
@@ -2362,9 +2375,10 @@ <h1 class="modulename">
23622375

23632376
<span class="k">def</span> <span class="nf">q_row</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
23642377
<span class="k">return</span> <span class="p">(</span>
2365-
<span class="s1">&#39;(SELECT &#39;</span>
2378+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_start</span>
2379+
<span class="o">+</span> <span class="s1">&#39;SELECT &#39;</span>
23662380
<span class="o">+</span> <span class="s1">&#39;, &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">qv</span><span class="p">(</span><span class="n">v</span><span class="p">[</span><span class="n">v</span><span class="o">.</span><span class="n">columns</span><span class="p">[</span><span class="n">j</span><span class="p">]][</span><span class="n">i</span><span class="p">])</span><span class="si">}</span><span class="s1"> AS </span><span class="si">{</span><span class="n">qi</span><span class="p">(</span><span class="n">v</span><span class="o">.</span><span class="n">columns</span><span class="p">[</span><span class="n">j</span><span class="p">])</span><span class="si">}</span><span class="s1">&#39;</span> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)])</span>
2367-
<span class="o">+</span> <span class="s1">&#39;)&#39;</span>
2381+
<span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_end</span>
23682382
<span class="p">)</span>
23692383

23702384
<span class="n">sql</span> <span class="o">=</span> <span class="p">(</span>
@@ -3394,7 +3408,9 @@ <h1 class="modulename">
33943408
join_name_map=None,
33953409
supports_with=True,
33963410
allow_extend_merges=True,
3397-
default_SQL_format_options=None
3411+
default_SQL_format_options=None,
3412+
union_all_term_start=&#39;(&#39;,
3413+
union_all_term_end=&#39;)&#39;
33983414
)</span>
33993415
</div>
34003416

@@ -3417,6 +3433,8 @@ <h1 class="modulename">
34173433
<span class="n">supports_with</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
34183434
<span class="n">allow_extend_merges</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
34193435
<span class="n">default_SQL_format_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
3436+
<span class="n">union_all_term_start</span><span class="o">=</span><span class="s1">&#39;(&#39;</span><span class="p">,</span>
3437+
<span class="n">union_all_term_end</span><span class="o">=</span><span class="s1">&#39;)&#39;</span><span class="p">,</span>
34203438
<span class="p">):</span>
34213439
<span class="k">if</span> <span class="n">local_data_model</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
34223440
<span class="n">local_data_model</span> <span class="o">=</span> <span class="n">data_algebra</span><span class="o">.</span><span class="n">default_data_model</span>
@@ -3447,6 +3465,8 @@ <h1 class="modulename">
34473465
<span class="bp">self</span><span class="o">.</span><span class="n">default_SQL_format_options</span> <span class="o">=</span> <span class="n">default_SQL_format_options</span>
34483466
<span class="bp">self</span><span class="o">.</span><span class="n">supports_with</span> <span class="o">=</span> <span class="n">supports_with</span>
34493467
<span class="bp">self</span><span class="o">.</span><span class="n">allow_extend_merges</span> <span class="o">=</span> <span class="n">allow_extend_merges</span>
3468+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_start</span> <span class="o">=</span> <span class="n">union_all_term_start</span>
3469+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_end</span><span class="o">=</span><span class="n">union_all_term_end</span>
34503470
</pre></div>
34513471

34523472
</details>
@@ -3863,9 +3883,10 @@ <h1 class="modulename">
38633883

38643884
<span class="k">def</span> <span class="nf">q_row</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
38653885
<span class="k">return</span> <span class="p">(</span>
3866-
<span class="s1">&#39;(SELECT &#39;</span>
3886+
<span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_start</span>
3887+
<span class="o">+</span> <span class="s1">&#39;SELECT &#39;</span>
38673888
<span class="o">+</span> <span class="s1">&#39;, &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">qv</span><span class="p">(</span><span class="n">v</span><span class="p">[</span><span class="n">v</span><span class="o">.</span><span class="n">columns</span><span class="p">[</span><span class="n">j</span><span class="p">]][</span><span class="n">i</span><span class="p">])</span><span class="si">}</span><span class="s1"> AS </span><span class="si">{</span><span class="n">qi</span><span class="p">(</span><span class="n">v</span><span class="o">.</span><span class="n">columns</span><span class="p">[</span><span class="n">j</span><span class="p">])</span><span class="si">}</span><span class="s1">&#39;</span> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)])</span>
3868-
<span class="o">+</span> <span class="s1">&#39;)&#39;</span>
3889+
<span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">union_all_term_end</span>
38693890
<span class="p">)</span>
38703891

38713892
<span class="n">sql</span> <span class="o">=</span> <span class="p">(</span>

docs/search.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)