JDBC: ResultSet.getObject(int, java.util.Map.class) fails for MAP column
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 60/100
Direzione di ricerca
Reproduce with a table that has a MAP(VARCHAR, INTEGER) column and call getObject(1, Map.class). Search the driver's getObject type-conversion path for the message "Can't convert value to interface" to find where the target class is checked against the SQL type. Done when getObject returns a Map with the expected entries and a test covers a MAP column.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug description
For a MAP column, DuckDB JDBC reports java.util.LinkedHashMap as the column class through ResultSetMetaData, but ResultSet.getObject(..., Map.class) fails with a conversion error.
Reproduction
Create a table containing a MAP column:
CREATE TABLE test_table (
map_col MAP(VARCHAR, INTEGER) NOT NULL
);
Execute a simple query:
SELECT map_col FROM test_table;
The ResultSetMetaData reports:
| Metadata | Value |
|---|---|
getColumnName() |
map_col |
getColumnTypeName() |
MAP(VARCHAR, INTEGER) |
getColumnType() |
1111 (java.sql.Types.OTHER) |
getColumnClassName() |
java.util.LinkedHashMap |
However, attempting to retrieve the value using the JDBC typed getter:
Map<?, ?> value = resultSet.getObject(1, Map.class);
fails with:
java.sql.SQLException: Can't convert value to interface java.util.Map, SQL type: MAP
Environment
- DuckDB JDBC: 1.5.6.0
- SQL type:
MAP(VARCHAR, INTEGER) - Java type reported by metadata:
java.util.LinkedHashMap - JDBC type:
java.sql.Types.OTHER(1111)
- Lingua principale
- C++
- Stelle
- 127
- Fork
- 83
- Merge medio
- 13h 55m
- PR unite (30g)
- 30
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di duckdb/duckdb-java
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
duckdb/duckdb-java#832 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 55/100
duckdb/duckdb-java#900 ·
I maintainer di solito rispondono entro 1 giorno
-
JDBC: ResultSet.getObject(int, java.time.OffsetTime.class) fails for TIME_WITH_TIME_ZONE columnAperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 55/100
duckdb/duckdb-java#899 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Native SIGSEGV in DuckDB JDBC when repeatedly executing queries with window functions and LIMIT 0Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
duckdb/duckdb-java#871 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
duckdb/duckdb-java#872 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di duckdb/duckdb-java
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Ctrl-C can abort a node: the state timer asks for the node names after shutdownForse già presa @fmrico l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fmrico/cascade_lifecycle#24 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
Deltakit/deltakit-stim#52 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno