[Mapserver-users] msyyparse() - parse error

Steve Lime steve.lime at dnr.state.mn.us
Wed Mar 24 10:14:42 PST 2004


I don't recall any major changes to the parser, but I may be wrong. You've got
tons of expressions. You can simplify things in a number of places by using
string expressions instead of logical expression. For example, in layer klassierung
an expression like 'EXPRESSION ([COLOR] = 4)' is much more efficient as 
'EXPRESSION 4' (you'll have to set a CLASSITEM). Making that change would
eliminate a number of layers as the culprit. You can then concentrate on  rco1400 
and bdbed.

Steve

>>> Möri Cédric <Cedric.Moeri at bd.so.ch> 3/22/2004 11:04:20 AM >>>
Hi Steve!

thanks for the hints. So i'm going to check my stuff once again, but this
time i've got an idea what i'm looking for ;-)

I attached my mapfile, if you like to have a look at it (it's quite a bunch
of lines).

Were there any recent changes in the msyyparse()-function between ms3.6.6
and ms4.0.1?
This mapfile worked quite fine in the "old" system (I didn't see this error
before working with 4.0.1).

What i'm not understandig too, is that the errors triggers sometimes one
time and then up to 60 times.

Thanks for your help

regards
Cedric

> -----Original Message-----
> From: Steve Lime [mailto:steve.lime at dnr.state.mn.us] 
> Sent: Monday, March 22, 2004 5:38 PM
> To: Cedric.Moeri at bd.so.ch; mapserver-users at lists.gis.umn.edu 
> Subject: Re: [Mapserver-users] msyyparse() - parse error
> 
> 
> Hi there: Msyyparse() is the function that evaluates 
> MapServer expressions. There
> are 3 possibilities: 
> 
> 1) There is an error in the expression you're using.
> 2) There is something funky in your data, that breaks an expression.
> 3) There is an error in the code itself.
> 
> Although 1) and 3) are possible they seem unlikely. My guess 
> is that there is an
> issue with certain data values and the expressions. One 
> example would be
> data values containing embeded quotes. Let's say you had a place name
> called O'Reilly and where using an expression like:
> 
> ('[placename]' = 'foo') which would become in the case of O'Reilly,
> 
> ('O'Reilly' = 'foo') and this would cause a parse error. 
> 
> Could also happen with numeric fields that didn't contain 
> numbers or are empty.
> We'd really need to see your mapfile to make the call.
> 
> Steve
> 
> >>> Möri Cédric <Cedric.Moeri at bd.so.ch> 3/22/2004 4:27:42 AM >>>
> Hello list!
> 
> we recently upgraded our systems from
> MapServer3.6.6/postgreSQL7.2.4/postgis0.8.0 to
> MapServer4.0.1/postgreSQL7.4.2/postgis0.8.1. The system is 
> running under
> Linux RH7.2.
> 
> Now i'm reciving sometimes this strange error "msyyparse(): Expression
> parser error. parse error".
> (In the old version, everyting worked perfect!)
> 
> I'm not able to reproduce this error regularly. Sometimes it 
> triggers when
> i'm switching some layers on/off, sometimes it triggers when 
> i'm just paning
> (same layer-set/same scale). Sometimes it triggers only one 
> time, othertimes
> up to 60 times with still the same mapfile. 
> 
> I read from the archives that there might be some issue about 
> the querrying
> in postgis but there is not much more.
> 
> So I guess I'm stuck. Has anybody a hint for me in which 
> direction to go on
> with my quest? May anybody explain what the msyyparse does, 
> and when it is
> called?
> 
> Any hint would be appreciated!
> If needed I would be glad to provide further information.
> 
> best regards
> mit freundlichen Grüssen
> 
> Cédric Möri
> 
> ********************************************
> Kanton Solothurn
> Amt für Geoinformation
> Abt. SO!GIS Koordinationsstelle 
> Rötihof
> 4509 Solothurn
> T:   ++41 (0)32 627 2475
> Fax: ++41 (0)32 627 2214 
> http://www.sogis.so.ch 
> ********************************************
> 
> 






More information about the MapServer-users mailing list