GMSC Discussions

GeoMedia Smart Client community discussion board is where you can create, contribute and share information and knowledge in regards to configuring as well as working with GeoMedia Smart Client. Find your answers, share your knowledge and help build a strong GeoMedia Smart Client community.
Showing results for 
Search instead for 
Do you mean 
Reply
Regular Contributor
Posts: 170
Registered: ‎07-07-2016

Spatial filter does not work

Hi,

I'm using GMSC2016 SP 4 with PostgreSQL 10.

When I turn on spatial filtering (by seting SessionFilterActivated to 1 in registry), then no features are visible on the map.

The problem appeared after migration to SP4.

How can I solve this?

 

Below is log file:

 

 

PostgreSQL log:

42883PODPOWIEDŹ: Brak operatora pasującego do podanej nazwy i typu(ów) argumentów. Być może należy dodać jawne rzutowanie typów.
2018-12-03 15:10:02.233 CET [7564] gmsc gmsc 127.0.0.1(53778) 42883WYRAŻENIE: Select s.FILTER, f.SIMPLEID As FEATUREID From RPI_SESSIONFILTER s, RPI_FEATURE f, RPI_SESSIONFILTER_FEATURE sf Where f.ID=sf.FEATURE_ID And s.ID=sf.SESSIONFILTER_ID And f.SIMPLEID In($1)

 

Smart Client log:

03.12.2018 15:10:03 ERROR - Unexpected exception for incoming MapRequest: /GMSC/Maps/Map?layers=98&xMin=-492.0480291665881&yMin=130000.07691250002&xMax=1030492.0480291666&yMax=779999.9230875&resX=1418&resY=894&site=GMSC&sessionId=4cdc2617-ac69-4454-9225-2e8fe0c43707
Npgsql.PostgresException: 42883: operator nie istnieje: integer = text
[Data]
Severity: BŁĄD
SqlState: 42883
Code: 42883
MessageText: operator nie istnieje: integer = text
Hint: Brak operatora pasującego do podanej nazwy i typu(ów) argumentów. Być może należy dodać jawne rzutowanie typów.
Position: 181
File: parse_oper.c
Line: 728
Routine: op_error
at Npgsql.NpgsqlConnector.DoReadMessage(DataRowLoadingMode dataRowLoadingMode, Boolean isPrependedMessage)
at Npgsql.NpgsqlConnector.ReadMessageWithPrepended(DataRowLoadingMode dataRowLoadingMode)
at Npgsql.NpgsqlConnector.ReadExpecting[T]()
at Npgsql.NpgsqlDataReader.NextResultInternal()
at Npgsql.NpgsqlDataReader.NextResult()
at Npgsql.NpgsqlCommand.Execute(CommandBehavior behavior)
at Npgsql.NpgsqlCommand.ExecuteDbDataReaderInternal(CommandBehavior behavior)
at Intergraph.Emea.Security.SessionProvider.GetSmartClientSessionFilter(String[] featureIdentifiers, String sessionId)
at Intergraph.Emea.Maps.MapServer.EnableSession(String[] mapLayers, String sessionId, String site)
at Intergraph.Emea.Maps.Services.MapController.<Map>d__4.MoveNext()

Regular Contributor
Posts: 170
Registered: ‎07-07-2016

Re: Spatial filter does not work

The problem with cast exception is still unresolved.

 

By this time, the only one warkaround I've found is to add in PostgreSQL default casting.

Of course such warkaround is very ugly and should be treated as a temporary solution:

 

--create cast function

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
--enable casting
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;

Technical Evangelist
Posts: 535
Registered: ‎09-11-2015

Re: Spatial filter does not work

It looks like the problem with session filter for Postgres is fixed in 16.5.336.3

 

Pavel

Technical Evangelist
Posts: 535
Registered: ‎09-11-2015

Re: Spatial filter does not work

Well, maybe I am wrong. The problem occurs if you have metadata in Postgres, not data itself, am I right?

 

Pavel