[teiid-issues] [JBoss JIRA] (TEIID-5061) UNION query does not fail or fails with incorrect error message
Steven Hawkins (JIRA)
issues at jboss.org
Tue Sep 12 14:39:00 EDT 2017
[ https://issues.jboss.org/browse/TEIID-5061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13463011#comment-13463011 ]
Steven Hawkins edited comment on TEIID-5061 at 9/12/17 2:38 PM:
----------------------------------------------------------------
> so for non-transactional statements we can predict errors
For transactional statements - that are participating in or start a transaction - any exception with creating the result set will be determined before any results are sent to the client. For non-transactional statements, we return results as quickly as possible - which yes does mean that it's up to the client how errors that are seen in walking the results are treated.
was (Author: shawkins):
> so for non-transactional statements we can predict errors
For transactional statements - that that are participating in or start a transaction - any exception with creating the result set will be determined before any results are sent to the client. For non-transactional statements, we return results as quickly as possible - which yes does mean that it's up to the client how errors that are seen in walking the results are treated.
> UNION query does not fail or fails with incorrect error message
> ---------------------------------------------------------------
>
> Key: TEIID-5061
> URL: https://issues.jboss.org/browse/TEIID-5061
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.3.1
> Environment: teiid-9.3.1 on WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Priority: Blocker
> Attachments: errorevaluating_1.jpg, errorevaluating_2.jpg, errorevaluating_2_1.jpg
>
>
> Running the following queries:
> {code:sql}
> select a from test_pg.test_a
> union all
> select 1
> union all
> select * from (call procs.pr()) x
> {code}
> or
> {code:sql}
> select a from test_pg.test_a
> union all
> select 1
> union all
> select * from (call procs.pr()) x
> union all
> select a from test_pg.test_a
> {code}
> UNION queries do not fail or fail with an incorrect error message returning no results.
> That is the first run will return the following stacktrace in logs:
> {noformat}
> 2017-09-12 15:06:26,585 WARN [org.teiid.PROCESSOR] (Worker2_QueryProcessorQueue7) XH74byN2GJ4K TEIID30020 Processing exception for request XH74byN2GJ4K.0 'TEIID30167 org.teiid.jdbc.
> TeiidSQLException: TEIID30328 Unable to evaluate (1 / 0): TEIID30384 Error while evaluating function /'. Originally ProcedureErrorInstructionException '/ by zero' FunctionMethods.jav
> a:296. Enable more detailed logging to see the entire stacktrace.
> {noformat}
> returning no results, the second run of the same query will return:
> {noformat}
> 2017-09-12 15:07:39,427 WARN [org.teiid.PROCESSOR] (Worker2_QueryProcessorQueue10) XH74byN2GJ4K TEIID30020 Processing exception for request XH74byN2GJ4K.1 'TEIID30167 org.teiid.jdbc
> .TeiidSQLException: TEIID30328 Unable to evaluate (1 / 0): TEIID30384 Error while evaluating function /'. Originally ProcedureErrorInstructionException '/ by zero' FunctionMethods.ja
> va:296. Enable more detailed logging to see the entire stacktrace.
> 2017-09-12 15:07:39,434 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,450 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,454 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,465 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,470 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,474 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,483 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,487 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,500 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,506 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,516 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,520 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,534 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,538 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> 2017-09-12 15:07:39,549 WARN [org.teiid.PROCESSOR] (NIO1) XH74byN2GJ4K TEIID40011 Processing exception 'TEIID30495 The request XH74byN2GJ4K.1 has been closed.' for session XH74byN2G
> J4K. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.process.DQPCore.getRequestWorkItem(DQPCore.java:475). Enable more detailed logging to
> see the entire stacktrace.
> {noformat}
> again without any query results.
> So these queries should return error messages like usual call of the virtual procedure pr does:
> {code:sql}
> call procs.pr()
> {code}
> instead of just closing requests.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the teiid-issues
mailing list