mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
bug #901655 ST_BUFFER asserts with a coplicated shape.
Coinciding nodes can appear as a result of DOUBLE inaccuracy. We should test that before we start the loop. Also the spatial relations can be calculated faster if we check MBR relations first. And we do have the shape's MBR-s now. per-file comments: sql/gcalc_slicescan.cc set_extent() method added. bug #901655 ST_BUFFER asserts with a coplicated shape. sql/gcalc_slicescan.h set_extent() method declared. bug #901655 ST_BUFFER asserts with a coplicated shape. sql/gcalc_tools.cc bug #901655 ST_BUFFER asserts with a coplicated shape. checks for equal nodes added. sql/item_geofunc.cc bug #901655 ST_BUFFER asserts with a coplicated shape. MBR for the shapes calculated, and MBR checks added before we start the heavy calculations. sql/spatial.h bug #901655 ST_BUFFER asserts with a coplicated shape. MBR::buffer() method implemented.
This commit is contained in:
@@ -98,6 +98,13 @@ struct MBR
|
||||
if (mbr->ymax > ymax)
|
||||
ymax= mbr->ymax;
|
||||
}
|
||||
void buffer(double d)
|
||||
{
|
||||
xmin-= d;
|
||||
ymin-= d;
|
||||
xmax+= d;
|
||||
ymax+= d;
|
||||
}
|
||||
|
||||
int equals(const MBR *mbr)
|
||||
{
|
||||
|
Reference in New Issue
Block a user