MS4W MapServer 7.0 - Filter error after upgrade from 5.6

المشرف العام

Administrator
طاقم الإدارة
First of all I need to say that I'm complete new to this. I've been mandates to migrate a web application (written in Python and using PostGRE/PostGis) on a Windows XP box (!!!) to a more recent Windows Server OS.

Since MS4W was used on the old installation we install the same on the new one.

We have installed all software and dependecies. Everything work seemly well except the filtering.

When I debug the map layer I have those difference :

Installation that work :

[Wed Oct 07 11:37:35 2015].88000 msPostGISLayerOpen called: the_geom FROM adresse USING UNIQUE adresse_id[Wed Oct 07 11:37:35 2015].88000 msConnPoolRequest(evenement,dbname=d2d host=localhost user=db_user ) -> got 0378CBB0[Wed Oct 07 11:37:35 2015].88000 msPostGISLayerFreeItemInfo called.[Wed Oct 07 11:37:35 2015].88000 msPostGISLayerInitItemInfo called.[Wed Oct 07 11:37:35 2015].88000 msPostGISLayerWhichShapes called.[Wed Oct 07 11:37:35 2015].88000 msPostGISParseData called.[Wed Oct 07 11:37:35 2015].88000 msPostGISParseData: unique_column=adresse_id, srid=, geom_column_name=the_geom, table_name=adresse[Wed Oct 07 11:37:35 2015].88000 msPostGISBuildSQL called.[Wed Oct 07 11:37:35 2015].88000 msPostGISBuildSQLItems called.[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLItems: 1 items requested.[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLFrom called.[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLWhere called.[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLSRID called.[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLSRID: Building find_srid line.[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLSRID: Found table (adresse)[Wed Oct 07 11:37:35 2015].104000 msPostGISBuildSQLBox called.[Wed Oct 07 11:37:35 2015].104000 msPostGISLayerWhichShapes query: select "adresse_id",encode(AsBinary(force_collection(force_2d("the_geom")),'NDR'),'hex') as geom,"adresse_id" from adresse where the_geom && GeomFromText('POLYGON((193232.229051317 4995440.23680677,193232.229051317 5096798.59629676,380882.164863881 5096798.59629676,380882.164863881 4995440.23680677,193232.229051317 4995440.23680677))',find_srid('','adresse','the_geom')) and (adresse_id in (32416,20065,81027,83812,18309,80812,34897,74742,7613))[Wed Oct 07 11:37:35 2015].104000 msPostGISLayerWhichShapes query status: PGRES_TUPLES_OK (2)[Wed Oct 07 11:37:35 2015].104000 msPostGISLayerWhichShapes got 9 records in result.On the new installation that failed :

[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerOpen called: the_geom FROM adresse USING UNIQUE adresse_id[Wed Oct 07 10:32:03 2015].704000 msConnPoolRequest(evenement,dbname=d2d host=localhost user=db_user ) -> got 032AE880[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerOpen: Got PostGIS version 20100.[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerOpen: Forcing 2D geometries: yes.[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerFreeItemInfo called.[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerInitItemInfo called.[Wed Oct 07 10:32:03 2015].704000 msPostGISParseData called.[Wed Oct 07 10:32:03 2015].704000 msPostGISParseData: unique_column=adresse_id, srid=, geom_column_name=the_geom, table_name=adresse[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerTranslateFilter. String: adresse_id in (32416,20065,81027,83812,18309,80812,34897,7613).[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerTranslateFilter. There are tokens to process... [Wed Oct 07 10:32:03 2015].704000 msPostGISLayerWhichShapes called.[Wed Oct 07 10:32:03 2015].704000 msPostGISParseData called.[Wed Oct 07 10:32:03 2015].704000 msPostGISParseData: unique_column=adresse_id, srid=, geom_column_name=the_geom, table_name=adresse[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQL called.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLItems called.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLItems: 1 items requested.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLFrom called.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLWhere called.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLSRID called.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLSRID: Building find_srid line.[Wed Oct 07 10:32:03 2015].704000 msPostGISBuildSQLBox called.[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerWhichShapes query: select "adresse_id",encode(ST_AsBinary(ST_Force2D("the_geom"),'NDR'),'hex') as geom,"adresse_id" from adresse where the_geom && ST_GeomFromText('POLYGON((193232.229051317 4995440.23680677,193232.229051317 5096798.59629676,380882.164863881 5096798.59629676,380882.164863881 4995440.23680677,193232.229051317 4995440.23680677))',find_srid('','adresse','the_geom')) and ((32416.000000,20065.000000,81027.000000,83812.000000,18309.000000,80812.000000,34897.000000,7613.000000))[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerWhichShapes query status: PGRES_FATAL_ERROR (7)[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerWhichShapes(): Error (ERREUR: l'argument de AND doit être de type booléen, et non du type recordLINE 1: ...80677))',find_srid('','adresse','the_geom')) and ((32416.000...The debug verbose is a little bit different between version but we can see that the filtering SQL String is truncate in the new version from :

select "adresse_id",encode(AsBinary(force_collection(force_2d("the_geom")),'NDR'),'hex') as geom,"adresse_id" from adresse where the_geom && GeomFromText('POLYGON((193232.229051317 4995440.23680677,193232.229051317 5096798.59629676,380882.164863881 5096798.59629676,380882.164863881 4995440.23680677,193232.229051317 4995440.23680677))',find_srid('','adresse','the_geom')) and (adresse_id in (32416,20065,81027,83812,18309,80812,34897,74742,7613))to

select "adresse_id",encode(ST_AsBinary(ST_Force2D("the_geom"),'NDR'),'hex') as geom,"adresse_id" from adresse where the_geom && ST_GeomFromText('POLYGON((193232.229051317 4995440.23680677,193232.229051317 5096798.59629676,380882.164863881 5096798.59629676,380882.164863881 4995440.23680677,193232.229051317 4995440.23680677))',find_srid('','adresse','the_geom')) and ((32416.000000,20065.000000,81027.000000,83812.000000,18309.000000,80812.000000,34897.000000,7613.000000))despite that the filter looks to be succesfully applied earlier :

[Wed Oct 07 10:32:03 2015].704000 msPostGISLayerTranslateFilter. String: adresse_id in (32416,20065,81027,83812,18309,80812,34897,7613).Anyone have a clue about this ? Is it a MapServer bug ? A filter scripting bug ?

Like I said, I'm new to this. Feel free to ask me to precise some needed info.



أكثر...
 
أعلى