MapServer / MapServer-import

3 stars 2 forks source link

msQueryByPoint does not always free the resultcache of the pevious query #1550

Open tbonfort opened 12 years ago

tbonfort commented 12 years ago

Reporter: szekerest Date: 2005/12/04 - 15:48

msQueryByPoint does not free the resultcache of the pevious query if the layer 
is not queryable, therefore the previous results will be reported as the new 
results.

Tamas Szekeres
tbonfort commented 12 years ago

Author: szekerest Date: 2006/02/01 - 23:10


Steve,

You should place msIsLayerQueryable one step later to fix this issue as
(mapquery.c 834):

if(lp->resultcache) {
      if(lp->resultcache->results) free(lp->resultcache->results);
      free(lp->resultcache);
      lp->resultcache = NULL;
    }

    if(!msIsLayerQueryable(lp)) continue;

Tamas Szekeres
tbonfort commented 12 years ago

Author: sdlime Date: 2006/02/02 - 01:50

In what situation does a layer go from queryable to not queryable? I'm curious.

Note that if this really can be a problem then a couple other of the query
function suffer too.

Steve
tbonfort commented 12 years ago

Author: sdlime Date: 2006/02/02 - 02:11

I have made the changes to CVS HEAD, but have not back ported to 4.8 yet. Is
necessaru? Marking as fixed. 
tbonfort commented 12 years ago

Author: szekerest Date: 2006/02/03 - 00:28


This situation may occur with long running processes like a desktop solution I
am working on.

Tamas