[postgis-users] itemnquery limitation

Zamil Murji Zamil.Murji at divestco.com
Mon Aug 11 13:35:09 PDT 2003


Hi Dave and company,

I tried to compile my mapserver with the new mappostgis.c

When i try my query url:
http://10.0.50.30/cgi-bin/mapserv?mode=nquery&map=/mapfiles/idc-query.map&imgext=-98.83460+27.98423+-98.73412+28.08663&mapsize=524+534&imgbox=44+176+127+324

I freeze up after only 11 entries now, before I use to freeze up after 41. Can you think of any reason why this may be?

I am running postgresql 7.3.3, postgis 0.7.5 and mapserver 4.0 on a red hat 7.3 machine.

Thanks
Zamil

-----Original Message-----
From: David Blasby [mailto:dblasby at refractions.net]
Sent: Monday, August 11, 2003 1:50 PM
To: PostGIS Users Discussion
Subject: Re: [postgis-users] itemnquery limitation


Tom,

I've been unable to reproduce your problem.

1. I've been directly accessing the mapserv CGI instead of through a 
http server, so this could be where you're having problems.  You didnt 
sent me "WCms_header.html" - is there anything 'funny' in it?

2. I changed one of the lines in your html file:
	<input type="hidden" name="qstring" value='"nodeid in 
(413.0,430.0,431.0,432.0,433.0,434.0,436.1,450.0,451.0,452.0,453.0,454.0,455.0,456.0,457.1,457.2,457.3,457.4,458.1,458.2,459.0,528.0)"'>

3. I noticed a minor problem in the mappostgis.c - it wasnt finishing 
off its transactions to the query-by-unique-column portion.  I dont 
think this would be the cause of the problem.  I've attached a new 
mappostgis.c that fixes this problem (and throws out some debugging).


Could you try installing the new mappostgis.c and running your query? 
It should give some output (probably in your httpd's error_log) like this:

msPOSTGISLayerGetShape called for record = 3532689
msPOSTGISLayerGetShape sql=DECLARE mycursor BINARY CURSOR FOR SELECT 
asbinary(force_collection(force_2d(the_geom)),'NDR') from nodescomb_2003 
WHERE OID = 3532689

Hopefully this will work.

dave

ps. I think mapserver does its queryN by doing this:
1. turn the query string into a FILTER clause
2. execute the normal LayerWhichShapes(<rect>)- remember the record numbers
3. execute the 'GetShapebyID()' for each of the record numbers.



More information about the postgis-users mailing list