Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.7.2
-
Fix Version/s: None
-
Component/s: jdbc-mysql plugin
-
Labels:None
Description
Was giving mysql a kick. Disappointing as usual, and noticed that the spatial filters are not properly implemented, doing a GetFeatureInfo on topp:states imported in mysql returns more than one state sometimes, even clicking in the middle of the polygon.
Now, this is well known, mysql just fakes support for the spatial filters other than the bbox one.
One way to deal with this is to do primary filtering (bbox) in the db and the rest in memory, however the current code does not help, because "intersect" in that case is not supported or unsupported, it's half and half.
IMHO JDBCFeatureSource.splitFilter(...) should be delegated to the dialect, most implementations would just use it as it is today, mysql can extract a bbox filter from the larger filter if possible (shapefile do the same) and then split the filter assuming intersects is not supported, then "and" the supported part with the bbox and run it, leaving everything else to be performed in memory