apache / apache/arrow-java

Consume COLUMN_DEF in JDBC Flight Driver

Ouverte
#1,134 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Type: enhancement
Langage dominant
Java
Étoiles
94
Forks
152
Merge moyen
3 j 16 h
PR mergées (30 j)
11

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le vecteur COLUMN_DEF de ArrowDatabaseMetadata et FlightSQLColumnMetadata, puis retracez le chemin des métadonnées de colonne jusqu’à DatabaseMetaData.getColumns(). Confirmez que c’est terminé en vous assurant que les valeurs par défaut des colonnes sont transmises et visibles par des clients tels que DBeaver.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api, database
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.