Opened 19 years ago
Closed 17 years ago
#1126 closed enhancement (fixed)
MapServer to pass filter to OGR
Reported by: | Owned by: | warmerdam | |
---|---|---|---|
Priority: | highest | Milestone: | |
Component: | OGR Support | Version: | unspecified |
Severity: | minor | Keywords: | |
Cc: |
Description (last modified by )
Could you please modify MapServer to pass the FILTER parameter to OGR when it starts with 'WHERE' for Oracle Spatial connections to allow the database to do the filtering and not use MapServer regexp matching. I have discussed this with Frank Warmerdam and he has agreed that he will implement this in OGR.
Change History (5)
comment:2 by , 19 years ago
Note the proposed change is to modify the FILTER handling in mapogr.cpp so that if the filter is prefixed by WHERE it will be passed off to the OGRLayer::SetAttributeFilter() method instead of processing it in MapServer. For underlying drivers like Oracle Spatial (or any SQL aware RDBMS) this can give dramatic performance improvements. But the change will apply to all OGR datasources.
comment:3 by , 19 years ago
Committed preliminary support for the pass-through filtering in mapogr.cpp. If the string following the FILTER keyword is prefixed by "WHERE " then it will pass the statement off to OGR. The rest of the statement must be a valid WHERE clause suitable for use with OGRLayer::SetAttributeFilter(). Test case in msautotest now for this case in msautotest/misc/ogr_attrfilter.map. Example: FILTER "WHERE EAS_ID in (179, 173)" This change is *only* in MapServer 4.5.
comment:4 by , 19 years ago
Cc: | added |
---|
comment:5 by , 17 years ago
Description: | modified (diff) |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Closing as this is completed.
Note:
See TracTickets
for help on using tickets.