jupyter-duckdb 0.9.2.2.dev202311200817__tar.gz → 0.9.2.2.dev202401171015__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/PKG-INFO +1 -1
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/RAOperand.py +5 -2
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/jupyter_duckdb.egg-info/PKG-INFO +1 -1
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/test/test_ra.py +25 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/README.md +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/setup.cfg +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/setup.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/__main__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/Column.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/Connection.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/Constraint.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/DatabaseError.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/ForeignKey.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/Table.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/duckdb/Connection.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/duckdb/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/sqlite/Connection.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/db/sqlite/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/kernel.json +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/kernel.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/magics/MagicCommand.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/magics/MagicCommandCallback.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/magics/MagicCommandException.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/magics/MagicCommandHandler.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/magics/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/DCParser.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/LogicParser.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/RAParser.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/DCOperand.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/LogicElement.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/LogicOperand.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/LogicOperator.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/RABinaryOperator.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/RAElement.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/RAOperator.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/RAUnaryOperator.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Add.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/And.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/ArrowLeft.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/ConditionalSet.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Cross.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Difference.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Divide.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Equal.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/GreaterThan.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/GreaterThanEqual.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Intersection.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Join.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/LessThan.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/LessThanEqual.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Minus.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Multiply.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Or.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Unequal.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/Union.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/binary/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/unary/Not.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/unary/Projection.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/unary/Rename.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/unary/Selection.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/elements/unary/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/tokenizer/Token.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/tokenizer/Tokenizer.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/tokenizer/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/util/RenamableColumn.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/util/RenamableColumnList.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/parser/util/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/util/ResultSetComparator.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/util/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/util/formatting.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/visualization/Drawer.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/visualization/RATreeDrawer.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/visualization/SchemaDrawer.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/duckdb_kernel/visualization/__init__.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/jupyter_duckdb.egg-info/SOURCES.txt +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/jupyter_duckdb.egg-info/dependency_links.txt +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/jupyter_duckdb.egg-info/requires.txt +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/src/jupyter_duckdb.egg-info/top_level.txt +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/test/test_dc.py +0 -0
- {jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/test/test_result_comparison.py +0 -0
|
@@ -22,10 +22,13 @@ class RAOperand(RAElement):
|
|
|
22
22
|
yield
|
|
23
23
|
|
|
24
24
|
def to_sql(self, tables: Dict[str, Table]) -> Tuple[str, RenamableColumnList]:
|
|
25
|
-
|
|
25
|
+
table_keys = {key.lower(): key for key in tables}
|
|
26
|
+
relation_lower = self.relation.lower()
|
|
27
|
+
|
|
28
|
+
if relation_lower not in table_keys:
|
|
26
29
|
raise AssertionError(f'unknown relation {self.relation}')
|
|
27
30
|
|
|
28
|
-
cols = RenamableColumnList.from_iter(tables[
|
|
31
|
+
cols = RenamableColumnList.from_iter(tables[table_keys[relation_lower]].columns)
|
|
29
32
|
column_names = ', '.join(c.rename() for c in cols)
|
|
30
33
|
|
|
31
34
|
return f'SELECT DISTINCT {column_names} FROM {self.relation}', cols
|
{jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/test/test_ra.py
RENAMED
|
@@ -7,6 +7,31 @@ from duckdb_kernel.parser.elements import RAOperand, LogicElement
|
|
|
7
7
|
from . import Connection
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
def test_case_insensitivity():
|
|
11
|
+
for query in (
|
|
12
|
+
'users',
|
|
13
|
+
'Users',
|
|
14
|
+
'USERS',
|
|
15
|
+
'userS'
|
|
16
|
+
):
|
|
17
|
+
root = RAParser.parse_query(query)
|
|
18
|
+
|
|
19
|
+
# root is an RAOperand
|
|
20
|
+
assert isinstance(root, RAOperand)
|
|
21
|
+
|
|
22
|
+
# Root's name is the relation name in whatever case
|
|
23
|
+
# it has been written.
|
|
24
|
+
assert root.name == query
|
|
25
|
+
|
|
26
|
+
# execute to test case insensitivity
|
|
27
|
+
with Connection() as con:
|
|
28
|
+
assert con.execute_ra(root) == [
|
|
29
|
+
(1, 'Alice'),
|
|
30
|
+
(2, 'Bob'),
|
|
31
|
+
(3, 'Charlie')
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
|
|
10
35
|
def test_binary_operator_cross():
|
|
11
36
|
for query in (
|
|
12
37
|
r'shows x seasons',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jupyter-duckdb-0.9.2.2.dev202311200817 → jupyter-duckdb-0.9.2.2.dev202401171015}/test/test_dc.py
RENAMED
|
File without changes
|
|
File without changes
|