Opened 13 years ago

Last modified 12 years ago

#3983 new defect

MapScript setFilter() broken after r11846

Reported by: sholl Owned by: sdlime
Priority: normal Milestone:
Component: MapServer C Library Version: svn-trunk (development)
Severity: normal Keywords: mapscript, java, filter
Cc: dmorissette, aboudreault

Description

Hello,

this issue is a based on ticket #3481:Comment22.

while using MS and Java MapScript under Windows quite heavily atm we discovered a problem regarding the FILTER-keyword between r11784 and r11846.

At r11846 the setFilter()-mapscript-method stopps writing the filter after the first blank in the filter-statement, while the older build writes out the filter to the mapfile correct using map.save().

SVN-diffing through the HISTORY.txt lets me stop at #3481, where Assefa added the latest comment about a failure in OGR-layers with an exact same filter.

My layer is a SDE-connection with a large FILTER:

FILTER "where [foo] = 'bar' and [baz] = 1 ..."

With r11845 we only get a FILTER "where " written out from MapScript while r11784 works well.

Can someone with more detailed knowledge of the code comment or even approve this?

I have a minimal java mapscript example to test against (tested on windows).

See details on the mail-thread under [1].

[1] http://lists.osgeo.org/pipermail/mapserver-dev/2011-June/011389.html

Attachments (1)

filter_example.java (388 bytes ) - added by sholl 13 years ago.

Download all attachments as: .zip

Change History (4)

by sholl, 13 years ago

Attachment: filter_example.java added

comment:1 by unicoletti, 12 years ago

Status: newassigned

As a workaround you can quote the whole string to work around this issue:

String query = "\"test = 1\""; layer.setFilter(query);

This works for me on svn trunk.

comment:2 by sdlime, 12 years ago

Cc: dmorissette aboudreault added
Component: MapScript-JavaMapServer C Library

This looks to be related to quote escaping added in 6.0, specifically changes to msLoadExpressionFromString(). Changing component and cc'ing some folks.

Steve

comment:3 by sdlime, 12 years ago

Owner: changed from unicoletti to sdlime
Status: assignednew
Note: See TracTickets for help on using tickets.