Only check external access flag on raw GDAL vis handlers, disable filter pushdown in st_read #464
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR make two changes related to how we interface with GDAL.
Given the changes in Manage
enable_external_access
at the FileSystem level, and addallowed_paths
andallowed_directories
option duckdb#14568 we no longer explicitly check if external access is disabled in thest_read/st_read_meta/st_read_osm
functions as that is now handled by the DuckDB filesystem. However, if a user supplies a/vsi/
-prefixed path to circumvent the DuckDB filesystem handler we check the external access flag explicitly, but don't consider any additional whitelisted paths or directories. This should fix Failing to read files using DirFileSystem #461We no longer push down filters into GDAL when using st_read. This was never tested properly and since we don't really support any remote drivers (like pgsql/mysql) where filter pushdown make sense, id expect the performance benefits to be negligible. In some cases it may even be more efficient to allow duckdb to execute the filters, as we discovered in the case of sqlite and DuckDBs sqlite_scanner extension. This should fix Failure Casting String Literal to DATE in WHERE clause #457