<div dir="ltr">So you're seeing a different substitution result when using %key% in:<div><br></div><div>  FILTER '...%key%...' </div><div><br></div><div>versus:</div><div><br></div><div>  PROCESSING 'NATIVE_FILTER=...%key%'</div><div><br></div><div>If so that would be a bug. The value that replaces %key% should be consistent. The value you supply could be different though because how the expression is being further processed (e.g. MapServer vs. layer-specific driver) is different. I'll have to whip up a quick test case to verify.</div><div><br></div><div>Otherwise I think in general you'd want to avoid lists if possible and send things individually so key1=value1&key2=value2... and then use something like:</div><div><br></div><div>   

PROCESSING 'NATIVE_FILTER=...column in ('%key1%','%key2'%)</div><div><br></div><div>I would think validation would be easier in this case but I understand it might not be practical with an indeterminate number of options. In that case its probably best to send a completely encoded set of values (complete with quotes) depending on the diver, so...</div><div><br></div><div>  key=%27value1%27%2C%27value2%27%2C%27value3%27</div><div><br></div><div>and then use:</div><div><br></div><div>  PROCESSING 'NATIVE_FILTER=...column in ('%key%)

</div><div><br></div><div>I can't think of an alternative short of 1) adding the ability to split and format strings before substitution (set a delimiter and a printf pattern) or 2) adding a function like Perl's qw (quote word) that would handle string delimiters for you qw(value1,value2). The latter would only work for FILTERs,</div><div><br></div><div>--Steve</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 31, 2019 at 3:31 AM Jörg Thomsen (WhereGroup) <<a href="mailto:joerg.thomsen@wheregroup.com">joerg.thomsen@wheregroup.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Good morning everyone,<br>
<br>
we built an application which uses a runtime substitution for the filter<br>
string. And we found a different behavior between (the old) Filter and<br>
the native_processing filter if two values are parsed.<br>
<br>
the request http://....?..&key=vaule1,value2<br>
results to<br>
'value1','value2' with the old FILTER () and to<br>
'value1,value2'when using PROCESSING 'NATIVE_FILTER<br>
<br>
We have to use the PROCESSING 'NATIVE_FILTER, but need as result<br>
'value1','value2', because we want to use it in a sql-query like:<br>
value in ('value1','value2').<br>
<br>
First question:<br>
has anyone an idea how to handle this? We could request<br>
http://....?..&key=value1','value2<br>
but that's no nice solution.<br>
<br>
Second question: is it the wanted behavior or perhaps a bug?<br>
<br>
Jörg<br>
<br>
-- <br>
<br>
***************************<br>
Where2B Konferenz 2019<br>
12. Dezember 2019 in Bonn<br>
<a href="http://where2b-conference.com" rel="noreferrer" target="_blank">where2b-conference.com</a><br>
***************************<br>
<br>
Jörg Thomsen<br>
WhereGroup GmbH<br>
Gillweg 3<br>
14193 Berlin<br>
Germany<br>
<br>
Fon: +49 (0)30 / 5130 278 74<br>
Fax: +49 (0)30 / 5130 278 11    <br>
<br>
<a href="mailto:joerg.thomsen@wheregroup.com" target="_blank">joerg.thomsen@wheregroup.com</a><br>
<a href="http://www.wheregroup.com" rel="noreferrer" target="_blank">www.wheregroup.com</a><br>
<br>
Geschäftsführer:<br>
Olaf Knopp, Peter Stamm<br>
Amtsgericht Bonn, HRB 9885<br>
<br>
-------------------------------<br>
Folgen Sie der WhereGroup auf twitter: <a href="http://twitter.com/WhereGroup_com" rel="noreferrer" target="_blank">http://twitter.com/WhereGroup_com</a><br>
_______________________________________________<br>
mapserver-users mailing list<br>
<a href="mailto:mapserver-users@lists.osgeo.org" target="_blank">mapserver-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/mapserver-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/mapserver-users</a></blockquote></div>