apache / apache/arrow-java

[Java] Some questions about the metadata api of jdbc

Aperta
#180 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
94
Fork
152
Merge medio
3g 16h
PR unite (30g)
11

Descrizione

### Describe the usage question you have. Please include as many useful details as possible.

When I call the `getTables` interface, I get an error
```
java.sql.SQLException: Failed to transform VectorSchemaRoot.

at org.apache.arrow.driver.jdbc.ArrowFlightJdbcFlightStreamResultSet.executeForCurrentFlightStream(ArrowFlightJdbcFlightStreamResultSet.java:150)
at org.apache.arrow.driver.jdbc.ArrowFlightJdbcFlightStreamResultSet.execute(ArrowFlightJdbcFlightStreamResultSet.java:139)
at org.apache.arrow.driver.jdbc.ArrowFlightJdbcFlightStreamResultSet.fromFlightInfo(ArrowFlightJdbcFlightStreamResultSet.java:105)
at org.apache.arrow.driver.jdbc.ArrowDatabaseMetadata.getTables(ArrowDatabaseMetadata.java:902)
```

My server returns the result as follows
```
SELECT
TABLE_TENANT as TABLE_CAT,
TABLE_DATABASE as TABLE_SCHEM,
TABLE_NAME,
TABLE_TYPE
FROM
INFORMATION_SCHEMA.TABLES
WHERE TABLE_TENANT = 'cnosdb' AND TABLE_DATABASE LIKE 'public' AND TABLE_NAME LIKE '%' AND TABLE_TYPE IN ('TABLE')
ORDER BY
TABLE_TYPE, TABLE_CAT, TABLE_SCHEM, TABLE_NAME
```

By the code, I found that

- Convert `catalog_name` to `TABLE_CAT` in the `ArrowDatabaseMetadata.getCatalogs` api.
- Convert `db_schema_name` to `TABLE_SCHEM` in the `ArrowDatabaseMetadata.getSchemas` api.
- ......

For the above, can I think that the ResultSet Schema of my `getSchemas` implementation must be `db_schema_name`, `catalog_name` instead of `TABLE_SCHEM`, `TABLE_CATALOG`. The same goes for other API?

### Component(s)

Java

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Iniziare da ArrowDatabaseMetadata.getTables, getSchemas e getCatalogs, quindi seguire la trasformazione dello schema in ArrowFlightJdbcFlightStreamResultSet.executeForCurrentFlightStream. Confrontare le colonne restituite con il contratto dei metadati JDBC e individuare perché il risultato di getTables non può essere trasformato. Il lavoro è completo quando lo schema previsto è documentato ed è stato confermato un percorso di risoluzione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api, databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.