Skip to content

Ambiguous reference to aliased column #1411

@kszucs

Description

@kszucs

Quoted from @houqp:

.filter(df.column("bool_col")) should ignore the projection alias and only use the actual bool_col table column to evaluate the predicate. This is be behavior I see in postgres. For example SELECT id+1 as id2 FROM test where id2 > 2 results in error: column "id2" does not exist.

To reproduce:

import datafusion as df

# bool_col is an integer here, convert it to be actually boolean
bool_col = (df.column("bool_col") == df.literal(1)).alias("bool_col")
result = table.select(bool_col).filter(df.column("bool_col"))
result.collect()

raises

Exception: Error during planning: Ambiguous reference to field named 'bool_col'

Originally posted by @kszucs in ibis-project/ibis#2918 (comment)

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