On 9/27/2011 9:27 AM, Puneet Kishor wrote:

On Sep 26, 2011, at 11:22 PM, Mr. Puneet Kishor wrote:

On Sep 26, 2011, at 11:04 PM, Stephen Woodbridge wrote:

On 9/26/2011 10:29 PM, Puneet Kishor wrote:
I am using OpenLayers as the front-end, requesting a WMS layer from MapServer 
that is getting data from Pg. My DATA statement is like so

        DATA "the_geom FROM (SELECT gid, pc, the_geom FROM table) t USING UNIQUE gid 
USING srid=4326"
        FILTER "pc = 'na'"

The above works fine. However, I would like to send the value of "pc" from 
OpenLayers (that is another problem that I am experiencing; I have asked on OL list on 
how to send query params to WMS layers, but if any of you know the solution, I would 
welcome that). In any case, I thought (naively), that I could change my FILTER statement 
like so

        FILTER "pc = '[pc]'"

I tried sending a WMS query directly to test the above like so 
[http://server/cgi-bin/app?.. blah ..&pc=na] but no joy. Forcing a query error 
showed me that MapServer was executing the following

        select .. from (..) t where the_geom&&   GeomFromText(..) and (pc = 
'[pc]')

How can I dynamically supply MapServer a filter value?

Does this doc answer your question?
http://mapserver.org/cgi/runsub.html



Yes it does. I had not seen that doc (hence, I was naively trying [var] kinda 
sub)


So, it seems I can't use Perl compatible regexps inside the map file for 
runtime substitution. For example, the following fails

        'pc_validation_pattern' '^\w\w$'

with "msValidateParameter(): Regular expression error. Parameter pattern validation 
failed." But the following works

        'pc_validation_pattern' '^[a-zA-Z][a-zA-Z]$'

Is there a compile time switch to make MapServer Perl-savvy?

No, that would be a nice option. I'm not sure if there is a ticket or not for adding pcre support. If not you might want to add one. I find Perl expressions much easier to work with.

-Steve W

_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to