Attaching DB via URL on Windows leads to "Cannot open file" error
- Vorherrschende Sprache
- C++
- Sterne
- 127
- Forks
- 80
- Ø Merge
- 13 Std. 49 Min.
- Gemergte PRs (30 T.)
- 48
Beschreibung
When attempting to attach a database via an HTTP URL on Windows, DuckDB seems to interpret the URL as a file and then fails to open it. This issue was introduced between versions 1.2.2.0 and 1.3.0.0. Here is a repo that is able to reproduce the error:
https://github.com/nikammerlaan/duckdb-bug-repro
```
DuckdbBugRepro > test() FAILED
java.sql.SQLException: IO Error: Cannot open file "http://localhost:56144/test-bucket/database.duckdb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20250712%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250712T203631Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=c90c1d82b5c44409343a9b42f5e451304808d81035f1c1af8ef22cef8f9cb951": The system cannot find the path specified.
at org.duckdb.DuckDBNative.duckdb_jdbc_execute(Native Method)
at org.duckdb.DuckDBPreparedStatement.execute(DuckDBPreparedStatement.java:178)
at org.duckdb.DuckDBPreparedStatement.execute(DuckDBPreparedStatement.java:155)
at org.duckdb.DuckDBPreparedStatement.execute(DuckDBPreparedStatement.java:241)
at DuckdbBugRepro.attachDatabaseFromHttpUrl(DuckdbBugRepro.java:80)
at DuckdbBugRepro.test(DuckdbBugRepro.java:25)
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, den Fehler mit dem verknüpften DuckdbBugRepro-Projekt unter Windows zu reproduzieren, mit Fokus auf DuckdbBugRepro.java beim Aufruf von attachDatabaseFromHttpUrl ungefähr in Zeile 80. Vergleiche das Verhalten zwischen den Versionen 1.2.2.0 und 1.3.0.0 und überprüfe anschließend, dass das Anhängen der signierten HTTP-URL sie nicht mehr als lokale Datei behandelt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, sql
- Bereich
- database
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100