#1 2019-09-12 08:50:12

Patryx
Member
Registered: 2019-03-25

Parameters - error with column context filtering (button Edit filter)

Hi,
I open Report Execution View for dynamic list, then I click Edit filter. I type in left top corner any value (number or text) or I leave it empty and click button at left from the field to activate.
If current column is not VARCHAR (for example INTEGER etc), I get an exception each time.
It shows that there is not proper cast of this value (column is not VARCHAR).
It would be better if you first check if the value is suitable for casting to given column type. If not, skip filtering, otherwise cast value to right type (here INTEGER) and then try to find column values...
If current column is VARCHAR, everything works fine.
I attach screenshot and exception.
Could you check it?


filter-error.jpg

net.datenwerke.gxtdto.client.servercommunication.exceptions.NonFatalException: Query could not be executed: BŁĄD: operator nie istnieje: integer ~~ character varying<br>  Wskazówka: No operator matches the given name and argument types. You might need to add explicit type casts.<br>  Pozycja: 6834<br>	at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.getDistinctValuesPaged(TableReportUtilityServiceImpl.java:277)<br>	at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at jdk.internal.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)<br>	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>	at java.base/java.lang.reflect.Method.invoke(Method.java:566)<br>	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)<br>	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)<br>	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)<br>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)<br>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)<br>	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)<br>	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)<br>	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)<br>	at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)<br>	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)<br>	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br>	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br>	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)<br>	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)<br>	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)<br>	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br>	at org.apache.catalina.filters.CorsFilter.handleSimpleCORS(CorsFilter.java:259)<br>	at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:163)<br>	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)<br>	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)<br>	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)<br>	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)<br>	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)<br>	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)<br>	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)<br>	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)<br>	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)<br>	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)<br>	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)<br>	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)<br>	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)<br>	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)<br>	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)<br>	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)<br>	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)<br>	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<br>	at java.base/java.lang.Thread.run(Thread.java:834)<br>Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: Query could not be executed: BŁĄD: operator nie istnieje: integer ~~ character varying<br>  Wskazówka: No operator matches the given name and argument types. You might need to add explicit type casts.<br>  Pozycja: 6834<br>	at net.datenwerke.rs.base.service.datasources.table.impl.TableDBDataSource.open(TableDBDataSource.java:325)<br>	at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:430)<br>	at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier._getColumnValuesPaged(SimpleDataSupplier.java:272)<br>	at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getDistinctColumnValuesPaged(SimpleDataSupplier.java:223)<br>	at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.getDistinctValuesPaged(TableReportUtilityServiceImpl.java:250)<br>	... 55 more<br>Caused by: org.postgresql.util.PSQLException: BŁĄD: operator nie istnieje: integer ~~ character varying<br>  Wskazówka: No operator matches the given name and argument types. You might need to add explicit type casts.<br>  Pozycja: 6834<br>	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2284)<br>	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2003)<br>	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:200)<br>	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:424)<br>	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:161)<br>	at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:114)<br>	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:1418)<br>	at net.datenwerke.rs.base.service.datasources.table.impl.TableDBDataSource.open(TableDBDataSource.java:304)<br>	... 59 more<br>

Offline

#2 2019-09-25 07:00:48

eduardo
Administrator
Registered: 2016-11-01
Website

Re: Parameters - error with column context filtering (button Edit filter)

Hi Patryx,

can you please provide more screenshots? I don't quite understand the problem.

The exact reportserver version ( rsversion.properties ) is also needed.

Regards,
Eduardo

Offline

#3 2019-09-25 09:43:33

Patryx
Member
Registered: 2019-03-25

Re: Parameters - error with column context filtering (button Edit filter)

My version (it's your preview 3.1.0 which link to download you sent me):
RS3.0.x-6010 (2019-08-13-12-16-09).
I don't have more screenshots.

Offline

#4 2020-01-17 09:22:26

asmirnov
Member
Registered: 2018-06-05

Re: Parameters - error with column context filtering (button Edit filter)

I have the same issue
Reportserver version is RS3.0.7-6008 (2019-05-06-13-37-55)
Error appears in dynamic report if entering any value in column filter for column with different from character or text type

Offline

#5 2020-02-27 10:28:12

eduardo
Administrator
Registered: 2016-11-01
Website

Re: Parameters - error with column context filtering (button Edit filter)

Hi asmirnov,

I raised RS-3941 for looking into this.

Regards,
Eduardo

Offline

Board footer

Powered by FluxBB