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?
--
Puneet Kishor_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users