@@ -1627,44 +1627,21 @@ def test_stored_procedures(self):
16271627 "CREATE PROCEDURE a.b.c(x INT, y VARIANT) RETURNS OBJECT EXECUTE AS CALLER AS 'BEGIN SELECT 1; END;'"
16281628 )
16291629
1630- def test_table_literal (self ):
1631- # All examples from https://docs.snowflake.com/en/sql-reference/literals-table.html
1632- self .validate_all (
1633- r"""SELECT * FROM TABLE('MYTABLE')""" ,
1634- write = {"snowflake" : r"""SELECT * FROM TABLE('MYTABLE')""" },
1635- )
1636-
1637- self .validate_all (
1638- r"""SELECT * FROM TABLE('MYDB."MYSCHEMA"."MYTABLE"')""" ,
1639- write = {"snowflake" : r"""SELECT * FROM TABLE('MYDB."MYSCHEMA"."MYTABLE"')""" },
1640- )
1641-
1642- # Per Snowflake documentation at https://docs.snowflake.com/en/sql-reference/literals-table.html
1643- # one can use either a " ' " or " $$ " to enclose the object identifier.
1644- # Capturing the single tokens seems like lot of work. Hence adjusting tests to use these interchangeably,
1645- self .validate_all (
1646- r"""SELECT * FROM TABLE($$MYDB. "MYSCHEMA"."MYTABLE"$$)""" ,
1647- write = {"snowflake" : r"""SELECT * FROM TABLE('MYDB. "MYSCHEMA"."MYTABLE"')""" },
1648- )
1649-
1650- self .validate_all (
1651- r"""SELECT * FROM TABLE($MYVAR)""" ,
1652- write = {"snowflake" : r"""SELECT * FROM TABLE($MYVAR)""" },
1653- )
1654-
1655- self .validate_all (
1656- r"""SELECT * FROM TABLE(?)""" ,
1657- write = {"snowflake" : r"""SELECT * FROM TABLE(?)""" },
1658- )
1659-
1660- self .validate_all (
1661- r"""SELECT * FROM TABLE(:BINDING)""" ,
1662- write = {"snowflake" : r"""SELECT * FROM TABLE(:BINDING)""" },
1663- )
1664-
1665- self .validate_all (
1666- r"""SELECT * FROM TABLE($MYVAR) WHERE COL1 = 10""" ,
1667- write = {"snowflake" : r"""SELECT * FROM TABLE($MYVAR) WHERE COL1 = 10""" },
1630+ def test_table_function (self ):
1631+ self .validate_identity ("SELECT * FROM TABLE('MYTABLE')" )
1632+ self .validate_identity ("SELECT * FROM TABLE($MYVAR)" )
1633+ self .validate_identity ("SELECT * FROM TABLE(?)" )
1634+ self .validate_identity ("SELECT * FROM TABLE(:BINDING)" )
1635+ self .validate_identity ("SELECT * FROM TABLE($MYVAR) WHERE COL1 = 10" )
1636+ self .validate_identity ("SELECT * FROM TABLE('t1') AS f" )
1637+ self .validate_identity ("SELECT * FROM (TABLE('t1') CROSS JOIN TABLE('t2'))" )
1638+ self .validate_identity ("SELECT * FROM TABLE('t1'), LATERAL (SELECT * FROM t2)" )
1639+ self .validate_identity ("SELECT * FROM TABLE('t1') UNION ALL SELECT * FROM TABLE('t2')" )
1640+ self .validate_identity ("SELECT * FROM TABLE('t1') TABLESAMPLE BERNOULLI (20.3)" )
1641+ self .validate_identity ("""SELECT * FROM TABLE('MYDB."MYSCHEMA"."MYTABLE"')""" )
1642+ self .validate_identity (
1643+ 'SELECT * FROM TABLE($$MYDB. "MYSCHEMA"."MYTABLE"$$)' ,
1644+ """SELECT * FROM TABLE('MYDB. "MYSCHEMA"."MYTABLE"')""" ,
16681645 )
16691646
16701647 def test_flatten (self ):
0 commit comments