diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-17 10:32:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-17 10:32:16 +0000 |
commit | d3bb537b2b73788ba06bf4158f473ecc5bb556cc (patch) | |
tree | 6c1b280de128c7bf77baaa258560a1f39a4e15c7 /tests/test_schema.py | |
parent | Releasing debian version 10.4.2-1. (diff) | |
download | sqlglot-d3bb537b2b73788ba06bf4158f473ecc5bb556cc.tar.xz sqlglot-d3bb537b2b73788ba06bf4158f473ecc5bb556cc.zip |
Merging upstream version 10.5.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | tests/test_schema.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_schema.py b/tests/test_schema.py index 6c1ca9c..3dd9103 100644 --- a/tests/test_schema.py +++ b/tests/test_schema.py @@ -184,3 +184,19 @@ class TestSchema(unittest.TestCase): schema = MappingSchema({"foo": {"bar": parse_one("INT", into=exp.DataType)}}) self.assertEqual(schema.get_column_type("foo", "bar").this, exp.DataType.Type.INT) + + def test_schema_normalization(self): + schema = MappingSchema( + schema={"x": {"`y`": {"Z": {"a": "INT", "`B`": "VARCHAR"}, "w": {"C": "INT"}}}}, + dialect="spark", + ) + + table_z = exp.Table(this="z", db="y", catalog="x") + table_w = exp.Table(this="w", db="y", catalog="x") + + self.assertEqual(schema.column_names(table_z), ["a", "B"]) + self.assertEqual(schema.column_names(table_w), ["c"]) + + # Clickhouse supports both `` and "" for identifier quotes; sqlglot uses "" when generating sql + schema = MappingSchema(schema={"x": {"`y`": "INT"}}, dialect="clickhouse") + self.assertEqual(schema.column_names(exp.Table(this="x")), ["y"]) |