Skip to content

SQL: WHERE-clauses don't support tables or schemas or catalogs #4872

@crepererum

Description

@crepererum

Describe the bug
Columns in WHERE clauses cannot be qualified by table or schema.

To Reproduce
These tests are added to information_schema.slt.

This works:

query CCC rowsort
SELECT * from information_schema.tables WHERE table_schema='information_schema';
----
datafusion information_schema columns VIEW
datafusion information_schema df_settings VIEW
datafusion information_schema tables VIEW
datafusion information_schema views VIEW

This fails:

query CCC rowsort
SELECT * from information_schema.tables WHERE tables.table_schema='information_schema';
----
datafusion information_schema columns VIEW
datafusion information_schema df_settings VIEW
datafusion information_schema tables VIEW
datafusion information_schema views VIEW

with

Error: SqlLogicTest(query failed: DataFusion error: Schema error: No field named 'tables'.'table_schema'. Valid fields are 'information_schema.tables'.'table_catalog', 'information_schema.tables'.'table_schema', 'information_schema.tables'.'table_name', 'information_schema.tables'.'table_type'.

This fails:

query CCC rowsort
SELECT * from information_schema.tables WHERE information_schema.tables.table_schema='information_schema';
----
datafusion information_schema columns VIEW
datafusion information_schema df_settings VIEW
datafusion information_schema tables VIEW
datafusion information_schema views VIEW

with

Error: SqlLogicTest(query failed: DataFusion error: Error during planning: Unsupported compound identifier 'Full { catalog: "information_schema", schema: "tables", table: "table_schema" }'

This fails:

query CCC rowsort
SELECT * from information_schema.tables WHERE datafusion.information_schema.tables.table_schema='information_schema';
----
datafusion information_schema columns VIEW
datafusion information_schema df_settings VIEW
datafusion information_schema tables VIEW
datafusion information_schema views VIEW

with

Error: SqlLogicTest(query failed: DataFusion error: Error during planning: Unsupported compound identifier '[Ident { value: "datafusion", quote_style: None }, Ident { value: "information_schema", quote_style: None }, Ident { value: "tables", quote_style: None }, Ident { value: "table_schema", quote_style: None }]'

Expected behavior
All tests pass.

Additional context
Tested w/ commit 556282a .

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions