Adding upstream version 11.2.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
adedb06cbd
commit
45e5ab6eec
93 changed files with 33054 additions and 31671 deletions
|
@ -91,6 +91,11 @@ class TestExpressions(unittest.TestCase):
|
|||
self.assertIsInstance(column.parent_select, exp.Select)
|
||||
self.assertIsNone(column.find_ancestor(exp.Join))
|
||||
|
||||
def test_root(self):
|
||||
ast = parse_one("select * from (select a from x)")
|
||||
self.assertIs(ast, ast.root())
|
||||
self.assertIs(ast, ast.find(exp.Column).root())
|
||||
|
||||
def test_alias_or_name(self):
|
||||
expression = parse_one(
|
||||
"SELECT a, b AS B, c + d AS e, *, 'zz', 'zz' AS z FROM foo as bar, baz"
|
||||
|
@ -767,3 +772,36 @@ FROM foo""",
|
|||
exp.rename_table("t1", "t2").sql(),
|
||||
"ALTER TABLE t1 RENAME TO t2",
|
||||
)
|
||||
|
||||
def test_is_star(self):
|
||||
assert parse_one("*").is_star
|
||||
assert parse_one("foo.*").is_star
|
||||
assert parse_one("SELECT * FROM foo").is_star
|
||||
assert parse_one("(SELECT * FROM foo)").is_star
|
||||
assert parse_one("SELECT *, 1 FROM foo").is_star
|
||||
assert parse_one("SELECT foo.* FROM foo").is_star
|
||||
assert parse_one("SELECT * EXCEPT (a, b) FROM foo").is_star
|
||||
assert parse_one("SELECT foo.* EXCEPT (foo.a, foo.b) FROM foo").is_star
|
||||
assert parse_one("SELECT * REPLACE (a AS b, b AS C)").is_star
|
||||
assert parse_one("SELECT * EXCEPT (a, b) REPLACE (a AS b, b AS C)").is_star
|
||||
assert parse_one("SELECT * INTO newevent FROM event").is_star
|
||||
assert parse_one("SELECT * FROM foo UNION SELECT * FROM bar").is_star
|
||||
assert parse_one("SELECT * FROM bla UNION SELECT 1 AS x").is_star
|
||||
assert parse_one("SELECT 1 AS x UNION SELECT * FROM bla").is_star
|
||||
assert parse_one("SELECT 1 AS x UNION SELECT 1 AS x UNION SELECT * FROM foo").is_star
|
||||
|
||||
def test_set_metadata(self):
|
||||
ast = parse_one("SELECT foo.col FROM foo")
|
||||
|
||||
self.assertIsNone(ast._meta)
|
||||
|
||||
# calling ast.meta would lazily instantiate self._meta
|
||||
self.assertEqual(ast.meta, {})
|
||||
self.assertEqual(ast._meta, {})
|
||||
|
||||
ast.meta["some_meta_key"] = "some_meta_value"
|
||||
self.assertEqual(ast.meta.get("some_meta_key"), "some_meta_value")
|
||||
self.assertEqual(ast.meta.get("some_other_meta_key"), None)
|
||||
|
||||
ast.meta["some_other_meta_key"] = "some_other_meta_value"
|
||||
self.assertEqual(ast.meta.get("some_other_meta_key"), "some_other_meta_value")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue