Skip to content

Columns names outputs are inconsistents and case sensitivie #418

@OutSquareCapital

Description

@OutSquareCapital

What happens?

Output of the code block:

PS C:\Users\tibo\python_codes\pql> uv run t.py
relation.columns: ['foo', 'Foo']
to_arrow_table: ['foo', 'Foo']
pl.from_arrow: ['foo', 'Foo']
relation.pl eager: ['foo', 'Foo_1']
relation.pl lazy: ['foo', 'Foo']
pandas result: ['foo', 'Foo_1']
arrow query result: ['foo', 'Foo']
PS C:\Users\tibo\python_codes\pql> 

pandas and polars dataframe don't give the same results as the rest.

To Reproduce

import duckdb
import polars as pl

rel = duckdb.from_query("select 1 as foo, 2 as Foo")

print("relation.columns:", rel.columns)
print("to_arrow_table:", rel.to_arrow_table().column_names)
print("pl.from_arrow:", pl.from_arrow(rel.to_arrow_table()).columns)
print("relation.pl eager:", rel.pl().columns)
print("relation.pl lazy:", rel.pl(lazy=True).collect().columns)
print("pandas result:", list(rel.df().columns))
print("arrow query result:", rel.to_arrow_reader().read_all().column_names)

OS:

Windows

DuckDB Package Version:

1.5.1

Python Version:

3.13.7

Full Name:

Stettler Thibaud

Affiliation:

University of Geneva

What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.

1.5.2.dev40

Did you include all relevant data sets for reproducing the issue?

Yes

Did you include all code required to reproduce the issue?

  • Yes, I have

Did you include all relevant configuration to reproduce the issue?

  • Yes, I have

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions