Skip to content

Inlined variant flush fails with varying decimal places #1140

@jayfcgnx

Description

@jayfcgnx

What happens?

Using a DuckDB catalog database, error Can't convert VARIANT DECIMAL(4, 2) to Parquet VARIANT occurs when flushing inlined variants, when those variants contain floating-point numbers with varying numbers of decimal places for the same object property.

When all floating-point values have the same number of decimal places, the flush operation succeeds.

As far as I can determine, this does not appear to happen with DuckDB itself, for a similar set-up.

To Reproduce

Set-up:

install ducklake;
load ducklake;
attach 'ducklake:test.duckdb' as my_ducklake (data_path 'test-storage', data_inlining_row_limit 2048);
use my_ducklake;

create table my_table (data variant);
insert into my_table (data) values ('{"temperature": 21.69, "humidity": 51.97, "pressure": 1007.57}'::json);
insert into my_table (data) values ('{"temperature": 22.1, "humidity": 47.5, "pressure": 1013.52}'::json);

Note the varying number of decimal places between the first and second insertions.

Executing:

call ducklake_flush_inlined_data('my_ducklake', table_name => 'my_table');

... produces the following error:

Invalid Input Error:
Can't convert VARIANT DECIMAL(4, 2) to Parquet VARIANT

OS:

Windows x86_64

DuckDB Version:

1.5.2

DuckLake Version:

1.0

DuckDB Client:

CLI

Hardware:

No response

Full Name:

Jay Furness

Affiliation:

Cognex

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

I have tested with a stable release

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 (e.g., CPU architecture, Python version, Linux distribution) to reproduce the issue?

  • Yes, I have

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions