apache / apache/arrow-java

Consume COLUMN_DEF in JDBC Flight Driver

Offen
#1,134 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Type: enhancement
Vorherrschende Sprache
Java
Sterne
94
Forks
152
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
11

Beschreibung

### 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem COLUMN_DEF-Vektor von ArrowDatabaseMetadata und FlightSQLColumnMetadata und verfolge anschließend, wie Spaltenmetadaten DatabaseMetaData.getColumns() erreichen. Bestätige den Abschluss, indem du sicherstellst, dass Spaltenstandardwerte weitergereicht werden und für Clients wie DBeaver sichtbar sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api, database
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.