duckdb / duckdb_iceberg

MIT License
107 stars 18 forks source link

Querying table fails with ` Value::LIST without providing a child-type requires a non-empty list of values. Use Value::LIST(child_type, list) instead.` #58

Closed rebasedming closed 2 days ago

rebasedming commented 1 week ago

Querying an Iceberg table throws the error

SELECT * from iceberg_scan('gs://path/to/metadata.json');

INTERNAL Error: Value::LIST without providing a child-type requires a non-empty list of values. Use Value::LIST(child_type, list) instead.
This error signals an assertion failure within DuckDB. This usually occurs due to unexpected conditions or errors in the program's logic.
For more information, see https://duckdb.org/docs/dev/internal_errors

The iceberg table is stored in GCS. I've verified that querying the underlying Iceberg parquet tables works, so I believe the issue is coming from the iceberg scan.

Has anyone seen this before?

rebasedming commented 2 days ago

Got to the bottom of it - this happened because the Iceberg table metadata was incorrect. A more intuitive error message could be thrown but that can be a separate issue.