apache / datafusion

Apache DataFusion SQL Query Engine
https://datafusion.apache.org/
Apache License 2.0
6.33k stars 1.2k forks source link

CREATE TABLE succeeds when schema has duplicate names, resulting in a table that cannot be selected from #13487

Open findepi opened 2 days ago

findepi commented 2 days ago

Describe the bug

CREATE TABLE succeeds when schema has duplicate names, resulting in a table that cannot be selected from

To Reproduce

> CREATE TABLE t AS SELECT * FROM (SELECT 1 AS id, 'Foo' AS name) l JOIN (SELECT 1 AS id, 'Bar' as name) r ON l.id = r.id;
0 row(s) fetched.
Elapsed 0.016 seconds.

> SELECT * FROM t;
Schema error: Schema contains duplicate qualified field name t.id

> SELECT count(*) FROM t;
Schema error: Schema contains duplicate qualified field name t.id

Expected behavior

If CREATE TABLE succeeds, the table should be readable. If the table is not going to be readable (and we know this at create time), the CREATE TABLE should fail.

Additional context

No response

findepi commented 2 days ago

take