[mapserver-commits] r10113 - in branches/branch-5-6/mapserver: . mapscript/php3 mapscript/swiginc

svn at osgeo.org svn at osgeo.org
Sat Apr 24 13:07:20 EDT 2010


Author: sdlime
Date: 2010-04-24 13:07:20 -0400 (Sat, 24 Apr 2010)
New Revision: 10113

Modified:
   branches/branch-5-6/mapserver/HISTORY.TXT
   branches/branch-5-6/mapserver/mapquery.c
   branches/branch-5-6/mapserver/mapscript/php3/mapscript_i.c
   branches/branch-5-6/mapserver/mapscript/swiginc/layer.i
   branches/branch-5-6/mapserver/mapserv.c
Log:
Fixed attribute queries to use an extent stored (and cached) as part of the queryObj rather than the map->extent. (#3424)

Modified: branches/branch-5-6/mapserver/HISTORY.TXT
===================================================================
--- branches/branch-5-6/mapserver/HISTORY.TXT	2010-04-24 16:54:02 UTC (rev 10112)
+++ branches/branch-5-6/mapserver/HISTORY.TXT	2010-04-24 17:07:20 UTC (rev 10113)
@@ -15,6 +15,9 @@
 Version 5.6.4 (????-??-??):
 ---------------------------
 
+- Fixed attribute queries to use an extent stored (and cached) as part of the queryObj
+  rather than the map->extent. (#3424)
+
 - Reverted msLayerWhichItems() to 5.4-like behavior although still supporting 
   retrieving all items (#3356,#3342)
  

Modified: branches/branch-5-6/mapserver/mapquery.c
===================================================================
--- branches/branch-5-6/mapserver/mapquery.c	2010-04-24 16:54:02 UTC (rev 10112)
+++ branches/branch-5-6/mapserver/mapquery.c	2010-04-24 17:07:20 UTC (rev 10113)
@@ -501,7 +501,7 @@
   }
 
   /* identify candidate shapes */
-  searchrect = map->extent;
+  searchrect = map->query.rect;
 #ifdef USE_PROJ  
   if(lp->project && msProjectionsDiffer(&(lp->projection), &(map->projection)))  
     msProjectRect(&(map->projection), &(lp->projection), &searchrect); /* project the searchrect to source coords */

Modified: branches/branch-5-6/mapserver/mapscript/php3/mapscript_i.c
===================================================================
--- branches/branch-5-6/mapserver/mapscript/php3/mapscript_i.c	2010-04-24 16:54:02 UTC (rev 10112)
+++ branches/branch-5-6/mapserver/mapscript/php3/mapscript_i.c	2010-04-24 17:07:20 UTC (rev 10113)
@@ -517,7 +517,8 @@
     if(qitem) map->query.item = strdup(qitem);
     if(qstring) map->query.str = strdup(qstring);
     map->query.layer = self->index;
-        
+    map->query.rect = map->extent;
+
     status = self->status;
     self->status = MS_ON;
     retval = msQueryByAttributes(map);

Modified: branches/branch-5-6/mapserver/mapscript/swiginc/layer.i
===================================================================
--- branches/branch-5-6/mapserver/mapscript/swiginc/layer.i	2010-04-24 16:54:02 UTC (rev 10112)
+++ branches/branch-5-6/mapserver/mapscript/swiginc/layer.i	2010-04-24 17:07:20 UTC (rev 10113)
@@ -281,6 +281,7 @@
         if(qitem) map->query.item = strdup(qitem);
         if(qstring) map->query.str = strdup(qstring);
         map->query.layer = self->index;
+        map->query.rect = map->extent;
 
         status = self->status;
         self->status = MS_ON;

Modified: branches/branch-5-6/mapserver/mapserv.c
===================================================================
--- branches/branch-5-6/mapserver/mapserv.c	2010-04-24 16:54:02 UTC (rev 10112)
+++ branches/branch-5-6/mapserver/mapserv.c	2010-04-24 17:07:20 UTC (rev 10113)
@@ -1562,6 +1562,8 @@
           if(QueryItem) mapserv->map->query.item = strdup(QueryItem);
           if(QueryString) mapserv->map->query.str = strdup(QueryString);
 
+          mapserv->map->query.rect = mapserv->map->extent;
+
           mapserv->map->query.mode = MS_QUERY_MULTIPLE;
           if(mapserv->Mode == ITEMFEATUREQUERY || mapserv->Mode == ITEMFEATUREQUERYMAP)
             mapserv->map->query.mode = MS_QUERY_SINGLE;
@@ -1654,6 +1656,8 @@
           if(QueryItem) mapserv->map->query.item = strdup(QueryItem);
           if(QueryString) mapserv->map->query.str = strdup(QueryString);
 
+          mapserv->map->query.rect = mapserv->map->extent;
+
 	  mapserv->map->query.mode = MS_QUERY_MULTIPLE;
           if(mapserv->Mode == ITEMQUERY || mapserv->Mode == ITEMQUERYMAP) mapserv->map->query.mode = MS_QUERY_SINGLE;
           break;



More information about the mapserver-commits mailing list