Describe the enhancement requested
ArrowDatabaseMetadata's schema currently defines a vector for COLUMN_DEF, yet never writes any value to it. FlightSQLColumnMetadata also does not have a constant/getter/setter for this value.
Due to this, database connections through java's arrow-flight cannot and will not show underlying default value metadata per column. DESCRIBE TABLE or similar calls (engine depending) can still be used to get a column's default value, but it can be at odds with what the client shows.
I confirmed this behavior using Dremio as the query engine, dBeaver as the client, and iceberg as the table containing a column with a default value.
DBeaver and other DB clients should accurately show column default values when calling DatabaseMetaData.getColumns() public method. Clients will need to send this information, and the arrow driver needs to consume this information.
Describe the enhancement requested
ArrowDatabaseMetadata's schema currently defines a vector forCOLUMN_DEF, yet never writes any value to it.FlightSQLColumnMetadataalso does not have a constant/getter/setter for this value.Due to this, database connections through java's arrow-flight cannot and will not show underlying default value metadata per column. DESCRIBE TABLE or similar calls (engine depending) can still be used to get a column's default value, but it can be at odds with what the client shows.
I confirmed this behavior using Dremio as the query engine, dBeaver as the client, and iceberg as the table containing a column with a default value.
DBeaver and other DB clients should accurately show column default values when calling DatabaseMetaData.getColumns() public method. Clients will need to send this information, and the arrow driver needs to consume this information.