Adding upstream version 12.2.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
82a8846a46
commit
70d5d3451a
100 changed files with 35022 additions and 30936 deletions
|
@ -19,6 +19,11 @@ from sqlglot import (
|
|||
class TestBuild(unittest.TestCase):
|
||||
def test_build(self):
|
||||
x = condition("x")
|
||||
x_plus_one = x + 1
|
||||
|
||||
# Make sure we're not mutating x by changing its parent to be x_plus_one
|
||||
self.assertIsNone(x.parent)
|
||||
self.assertNotEqual(id(x_plus_one.this), id(x))
|
||||
|
||||
for expression, sql, *dialect in [
|
||||
(lambda: x + 1, "x + 1"),
|
||||
|
@ -51,6 +56,7 @@ class TestBuild(unittest.TestCase):
|
|||
(lambda: x.neq(1), "x <> 1"),
|
||||
(lambda: x.isin(1, "2"), "x IN (1, '2')"),
|
||||
(lambda: x.isin(query="select 1"), "x IN (SELECT 1)"),
|
||||
(lambda: x.between(1, 2), "x BETWEEN 1 AND 2"),
|
||||
(lambda: 1 + x + 2 + 3, "1 + x + 2 + 3"),
|
||||
(lambda: 1 + x * 2 + 3, "1 + (x * 2) + 3"),
|
||||
(lambda: x * 1 * 2 + 3, "(x * 1 * 2) + 3"),
|
||||
|
@ -137,10 +143,14 @@ class TestBuild(unittest.TestCase):
|
|||
"SELECT x, y, z, a FROM tbl GROUP BY x, y, z, a",
|
||||
),
|
||||
(
|
||||
lambda: select("x").distinct(True).from_("tbl"),
|
||||
lambda: select("x").distinct("a", "b").from_("tbl"),
|
||||
"SELECT DISTINCT ON (a, b) x FROM tbl",
|
||||
),
|
||||
(
|
||||
lambda: select("x").distinct(distinct=True).from_("tbl"),
|
||||
"SELECT DISTINCT x FROM tbl",
|
||||
),
|
||||
(lambda: select("x").distinct(False).from_("tbl"), "SELECT x FROM tbl"),
|
||||
(lambda: select("x").distinct(distinct=False).from_("tbl"), "SELECT x FROM tbl"),
|
||||
(
|
||||
lambda: select("x").lateral("OUTER explode(y) tbl2 AS z").from_("tbl"),
|
||||
"SELECT x FROM tbl LATERAL VIEW OUTER EXPLODE(y) tbl2 AS z",
|
||||
|
@ -583,6 +593,11 @@ class TestBuild(unittest.TestCase):
|
|||
"DELETE FROM tbl WHERE x = 1 RETURNING *",
|
||||
"postgres",
|
||||
),
|
||||
(
|
||||
lambda: exp.convert((exp.column("x"), exp.column("y"))).isin((1, 2), (3, 4)),
|
||||
"(x, y) IN ((1, 2), (3, 4))",
|
||||
"postgres",
|
||||
),
|
||||
]:
|
||||
with self.subTest(sql):
|
||||
self.assertEqual(expression().sql(dialect[0] if dialect else None), sql)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue