Closed marchelbling closed 5 months ago
Some context, in particular around go-duckdb, is here: https://github.com/marcboeker/go-duckdb/issues/228
The deprecated auto-loadable comment in duckdb_ver_https_or_s3
was resolved via a8fda1e.
It seems I cannot close the issue myself yet I think we're done here. Thank you!
Page URL: https://duckdb.org/docs/guides/network_cloud_storage/duckdb_over_https_or_s3
There is some discrepancy in how the
httpfs
extension is documented:Also, in Autoloading extensions, it is written
I believe the "duckdb_over_https_or_s3" is outdated.
Now, there is also something that gets me confused.
I can confirm from experience that the default
duckdb
behavior for "autoinstall" and "autoload" is the one documentedTesting settings on a fresh duckdb install
If I start a fresh duckdb install e.g. from a docker container e.g. `docker run --rm -it ubuntu:22.04`. I install `duckdb` with ``` $ apt-get -qq update && apt-get install -y wget zip && wget https://github.com/duckdb/duckdb/releases/download/v1.0.0/duckdb_cli-linux-aarch64.zip && unzip duckdb_cli-linux-aarch64.zip && ./duckdb ... root@b41e8ca80c44:/# ./duckdb v1.0.0 1f98600c2c Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. ``` If I check the default settings and try to read an s3 object: ``` D select current_setting('autoinstall_known_extensions'), current_setting('autoload_known_extensions'); ┌─────────────────────────────────────────────────┬──────────────────────────────────────────────┐ │ current_setting('autoinstall_known_extensions') │ current_setting('autoload_known_extensions') │ │ boolean │ boolean │ ├─────────────────────────────────────────────────┼──────────────────────────────────────────────┤ │ true │ true │ └─────────────────────────────────────────────────┴──────────────────────────────────────────────┘ D select extension_name, installed, loaded from duckdb_extensions() where extension_name = 'httpfs'; ┌────────────────┬───────────┬─────────┐ │ extension_name │ installed │ loaded │ │ varchar │ boolean │ boolean │ ├────────────────┼───────────┼─────────┤ │ httpfs │ false │ false │ └────────────────┴───────────┴─────────┘ D describe select * from 'https://raw.githubusercontent.com/duckdb/duckdb-web/main/data/weather.csv'; ┌─────────────┬─────────────┬─────────┬─────────┬─────────┬─────────┐ │ column_name │ column_type │ null │ key │ default │ extra │ │ varchar │ varchar │ varchar │ varchar │ varchar │ varchar │ ├─────────────┼─────────────┼─────────┼─────────┼─────────┼─────────┤ │ column0 │ VARCHAR │ YES │ │ │ │ │ column1 │ BIGINT │ YES │ │ │ │ │ column2 │ BIGINT │ YES │ │ │ │ │ column3 │ DOUBLE │ YES │ │ │ │ │ column4 │ DATE │ YES │ │ │ │ └─────────────┴─────────────┴─────────┴─────────┴─────────┴─────────┘ D select extension_name, installed, loaded from duckdb_extensions() where extension_name = 'httpfs'; ┌────────────────┬───────────┬─────────┐ │ extension_name │ installed │ loaded │ │ varchar │ boolean │ boolean │ ├────────────────┼───────────┼─────────┤ │ httpfs │ true │ true │ └────────────────┴───────────┴─────────┘ ``` The autoinstall and autoload for the `https` extension have just worked.I confirm that the
python
extension works as well.The
go-duckdb
(tested on the latest build) client however requires me to set the settings explicitly e.g.Would you have an idea why that is the case? This confuses me as I expect that the defaults are baked into the
libduckdb.a
so I would expect that I should see the same results independently from the language I use.Thanks a lot and congrats for the 1.0.0 release :)