<div dir="ltr">Hi Devs,<div><br></div><div>I've recently added an implementation for msPostgisLayerGetExtent in the master branch based upon user request, but we entered into a debate with Thomas that this feature should never have been implemented at all.</div>
<div><br></div><div>The key point against this feature is that it may cause performance issues for the existing configurations (as said 'denial of service') when the extent is not specified manually (in the mapfiles) and MapServer will now turn to the driver specific implementation instead of returning MS_FAILURE (in LayerDefaultGetExtent). Thomas also mentioned that this kind of addition should be disabled by default unless voted forward by the PSC.</div>
<div><br></div><div>I did not think that we ever had an agreement not to implement msPostgisLayerGetExtent at all to address potential performance issues by the driver, as this has already been implemented for most of the drivers without such issues manifested. It is already documented that the extent should be configured manually  "to avoid the speed cost of having MapServer compute the extents of the data" <span style="color:rgb(62,67,73);font-family:Arial,sans-serif;font-size:12.727272033691406px;line-height:19.190340042114258px">(</span><a href="http://mapserver.org/mapfile/layer.html">http://mapserver.org/mapfile/layer.html</a><span style="color:rgb(62,67,73);font-family:Arial,sans-serif;font-size:12.727272033691406px;line-height:19.190340042114258px">).</span></div>
<div><br>Anyway, I would not be against a configuration option to specify that the extent is 'not set' for a layer, but it should be out of scope of a driver implementation. And I'm not really convinced about the usefulness of such setting.<br>
<br>The complete discussion about this change can be found here:<br></div><div><a href="https://github.com/mapserver/mapserver/pull/4825">https://github.com/mapserver/mapserver/pull/4825</a><br></div><div><br></div><div>Let me know if you prefer to keep this functionality or revert to the original (not implemented) behaviour.</div>
<div><br></div><div>Best regards,</div><div><br></div><div>Tamas</div><div><br></div><div><br></div></div>