diff --git a/mindsdb_sql_parser/parser.py b/mindsdb_sql_parser/parser.py index b970386..d7a082a 100644 --- a/mindsdb_sql_parser/parser.py +++ b/mindsdb_sql_parser/parser.py @@ -2083,3 +2083,10 @@ def error(self, p, expected_tokens=None): ) # don't raise exception return + + @_('TABLE identifier') + def select(self, p): + return Select( + targets=[Star()], + from_table=p.identifier, + ) diff --git a/tests/test_base_sql/test_misc_sql_queries.py b/tests/test_base_sql/test_misc_sql_queries.py index e7f30a0..7109018 100644 --- a/tests/test_base_sql/test_misc_sql_queries.py +++ b/tests/test_base_sql/test_misc_sql_queries.py @@ -77,6 +77,14 @@ def test_autocommit(self): assert ast.to_tree() == expected_ast.to_tree() assert str(ast) == str(expected_ast) + def test_table_with_order_by_limit_offset(self): + sql = "TABLE my_table ORDER BY my_column LIMIT 10 OFFSET 5" + ast = parse_sql(sql) + assert isinstance(ast, Select) + assert ast.from_table.to_string() == 'my_table' + assert ast.order_by[0].field.to_string() == 'my_column' + assert ast.limit.value == 10 + assert ast.offset.value == 5 class TestMiscQueriesNoSqlite: