Cardinality estimation, replacement scans, misc fixes and breaking changes to GEOMETRY
format.
#124
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 is kind of a mismatch of small tweaks and fixes that have accumulated
ST_Read now provides an estimated cardinality if it is cheap to compute for the underlying GDAL driver. This enables the query planners join-ordering optimizations to kick in in queries with multiple joins and could improve performance significantly in certain cases.
There is now a couple of "replacement scans" for FlatGeobuf, GPKG and Shapefiles, so you can do
SELECT * FROM '.../path/to/some/data.gpkg'
SELECT * FROM 'data.fgb'
SELECT * FROM '.../also/random.shp'
without invoking
ST_Read
explicitly if you don't care about passing any additional open options or parameters.The internal serialized geometry format is shuffled around to make room and future proof it as DuckDB is moving towards stabilizing storage. This means that if you persist
GEOMETRY
objects in a database table and try to read them again after upgrading to a duckdb version containing this commit you will probably not be able to read them. Hopefully this is the last time we break compatability like this.Closes Broken Output from ST_AsText #118, Multipolygons were not printed properly as WKT.
Closes ST_Transform sometimes returns POINT(Infinity Infinity) #119, Adds an additional optional boolean
always_xy
argument tost_transform
to force PROJ to expect and output coordinates in the "conventional" GIS ordering (Longitude, Latitude) regardless of what is defined by the CRS. Falls back to the default behavior if not possible.