In the old code, we would re-load any DuckDB extensions that we needed for the config in the connection that we used for each dbt thread. This was generally fine in that loading an already-loaded DuckDB extension is idempotent-- except when it wasn't, due to some sort of bug (as in #179).
The good news though is that this extension reloading is unnecessary now, and since we're pinning ourselves to post 0.5.0 versions of DuckDB, we can also switch to using the more python install_extension and load_extension methods on the DuckDB connection in order to load the extensions once per run, instead of on each thread.
Fixes #179
In the old code, we would re-load any DuckDB extensions that we needed for the config in the connection that we used for each dbt thread. This was generally fine in that loading an already-loaded DuckDB extension is idempotent-- except when it wasn't, due to some sort of bug (as in #179).
The good news though is that this extension reloading is unnecessary now, and since we're pinning ourselves to post 0.5.0 versions of DuckDB, we can also switch to using the more python
install_extension
andload_extension
methods on the DuckDB connection in order to load the extensions once per run, instead of on each thread.