Thank You Klement. I looked closely now, this is the same solution which I use now for 3 days and I confirm that it is working in my case. Armin, can You please submit it to SVN?
Ivan On Friday 18 January 2008 12:07, Klement Szabolcs wrote: > Hi! > answer for > http://www.mail-archive.com/pmapper-users@lists.sourceforge.net/msg00999.ht >ml > > this is not op system resource limit problem, but pmappar bug, which > currntly exists! > In initgroups.php the function _initResultFields and function > _initResultHeaders > open the $maplay, but not close! > The file squery.php in function setNumResults() and function > dumpQueryResults() the same. > When i see with unix command lsof many opened shapes exists. > Every time pamapper query reopen the shapes. > My solution is in initgroups.php: > > function setNumResults() > { > $this->qLayer->open(); $this->numResults = > $this->qLayer->getNumResults(); > > // Apply limit for query results > if ($this->numResults > $this->limitResult) $this->numResults = > $this->limitResult; > //BUG > $this->qLayer->close(); } > > function _initResultFields($map, $mapLay, $mapLayType) { > $metaString = $this->_returnMetaData($mapLay, "RESULT_FIELDS"); > if ($metaString != "") { > $metaList = split(",", $metaString); > } else { > if ($mapLayType != 3) { > $mapLay->open(); $metaList = > $mapLay->getItems(); > //BUG > $mapLay->close(); } else { > $metaList = array(); > } > } > return $metaList; } > function _initResultHeaders($map, $mapLay, $mapLayType) { > $metaString = $this->_returnMetaData($mapLay, "RESULT_HEADERS"); > if ($metaString != "") { > $metaList0 = split(",", $metaString); > foreach ($metaList0 as $m) { > $metaList[] = _p(trim($this->mapStringEncode($m))); > } > } else { > if ($mapLayType != 3) { > $mapLay->open(); $metaList = > $mapLay->getItems(); > //BUG > $mapLay->close(); > } else { > $metaList = array(); > } > } > return $metaList; } > > -------------------------------------------------------------------- > and in squery.php: > > > > /** > * DUMP QUERY RESULTS INTO QUERY STRING $qStr > *******************************************************/ > function dumpQueryResults() > { > if ($this->zoomFull) { > // Maximum extents > $this->mExtMinx = 999999999; > $this->mExtMiny = 999999999; > $this->mExtMaxx = -999999999; > $this->mExtMaxy = -999999999; > } > $this->returnTableJoinProperties(); > $this->setNumResults(); > //BUG > $this->qLayer->open(); //error_log($this->numResults); > for ($iRes=0; $iRes < $this->numResults; $iRes++) { > $qRes = $this->qLayer->getResult($iRes); > $qShape = > $this->qLayer->getShape($qRes->tileindex,$qRes->shapeindex); > $this->qStr .= $this->printResultRow($qShape); > $this->qStr .= $iRes < ($this->numResults - 1) ? ", " : ""; > $this->resultindexes[] = $qRes->shapeindex; > $this->resulttileindexes[$qRes->shapeindex] = $qRes->tileindex; > } > //error_log($this->qStr); > //BUG > $this->qLayer->close(); > } > > Szabolcs Klement > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > pmapper-users mailing list > pmapper-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pmapper-users ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ pmapper-users mailing list pmapper-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pmapper-users