[JBoss JIRA] (TEIID-5001) TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5001?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5001:
---------------------------------------
The issue is that we're removing the virtual layer for dim_md_domains_to_load, but not replacing the correlated reference.
> TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIID-5001
> URL: https://issues.jboss.org/browse/TEIID-5001
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.3
> Environment: teiid-9.3.0.Final on WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Priority: Blocker
> Attachments: emptydateranges.csv
>
>
> Running the following query:
> {code:sql}
> SELECT id FROM
> (SELECT d.id FROM (
> SELECT 'l1' as domain
> ) dim_md_domains_to_load, table(CALL testcase.proc_web_avg_visit_duration_empty("domain" => domain)) x
> JOIN testcase.dim_md_date_ranges d ON true
> UNION
> SELECT id FROM testcase.dim_md_date_ranges
> ) z
> {code}
> when using the following procedure:
> {code:sql}
> CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
> domain string
> ) RETURNS (i integer) AS
> BEGIN
> select 1;
> END
> {code}
> leads to the following error message:
> {code}
> 2017-07-19 19:57:12,608 ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue15) FOgTHY5kk50l TEIID30019 Unexpected exception for request FOgTHY5kk50l.1: org.teiid.core.TeiidCo
> mponentException: TEIID30328 Unable to evaluate dim_md_domains_to_load.domain: No value was available
> at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:514)
> at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:766)
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:726)
> at org.teiid.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:857)
> at org.teiid.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:225)
> at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:82)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
> at org.teiid.query.processor.relational.NestedTableJoinStrategy.openLeft(NestedTableJoinStrategy.java:74)
> at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.UnionAllNode.open(UnionAllNode.java:123)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.DupRemoveNode.open(DupRemoveNode.java:53)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.LimitNode.open(LimitNode.java:146)
> at org.teiid.query.processor.relational.RelationalPlan.open(RelationalPlan.java:136)
> at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:231)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:138)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:477)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:349)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> and when using the following procedure:
> {code:sql}
> CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
> domain string
> ) RETURNS (i integer) AS
> BEGIN
> END
> {code}
> leads to the following error message:
> {code}
> 2017-07-19 19:51:09,898 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue6) W9VMA4B+d8Gd TEIID30019 Unexpected exception for request W9VMA4B+d8Gd.1: java.lang.NullPointerEx
> ception
> at org.teiid.query.processor.proc.Program.instructionsRequireTransaction(Program.java:307)
> at org.teiid.query.processor.proc.Program.requiresTransaction(Program.java:301)
> at org.teiid.query.processor.proc.ProcedurePlan.requiresTransaction(ProcedurePlan.java:881)
> at org.teiid.query.processor.relational.PlanExecutionNode.requiresTransaction(PlanExecutionNode.java:184)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:283)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:269)
> at org.teiid.dqp.internal.process.Request.getTransactionContext(Request.java:374)
> at org.teiid.dqp.internal.process.Request.createProcessor(Request.java:350)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:485)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:657)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:338)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (TEIID-5001) TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5001?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5001:
---------------------------------------
The NPE was addressed by TEIID-4993. I'll investigate the "No value was available" issue.
> TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIID-5001
> URL: https://issues.jboss.org/browse/TEIID-5001
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.3
> Environment: teiid-9.3.0.Final on WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Priority: Blocker
> Attachments: emptydateranges.csv
>
>
> Running the following query:
> {code:sql}
> SELECT id FROM
> (SELECT d.id FROM (
> SELECT 'l1' as domain
> ) dim_md_domains_to_load, table(CALL testcase.proc_web_avg_visit_duration_empty("domain" => domain)) x
> JOIN testcase.dim_md_date_ranges d ON true
> UNION
> SELECT id FROM testcase.dim_md_date_ranges
> ) z
> {code}
> when using the following procedure:
> {code:sql}
> CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
> domain string
> ) RETURNS (i integer) AS
> BEGIN
> select 1;
> END
> {code}
> leads to the following error message:
> {code}
> 2017-07-19 19:57:12,608 ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue15) FOgTHY5kk50l TEIID30019 Unexpected exception for request FOgTHY5kk50l.1: org.teiid.core.TeiidCo
> mponentException: TEIID30328 Unable to evaluate dim_md_domains_to_load.domain: No value was available
> at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:514)
> at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:766)
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:726)
> at org.teiid.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:857)
> at org.teiid.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:225)
> at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:82)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
> at org.teiid.query.processor.relational.NestedTableJoinStrategy.openLeft(NestedTableJoinStrategy.java:74)
> at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.UnionAllNode.open(UnionAllNode.java:123)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.DupRemoveNode.open(DupRemoveNode.java:53)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.LimitNode.open(LimitNode.java:146)
> at org.teiid.query.processor.relational.RelationalPlan.open(RelationalPlan.java:136)
> at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:231)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:138)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:477)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:349)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> and when using the following procedure:
> {code:sql}
> CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
> domain string
> ) RETURNS (i integer) AS
> BEGIN
> END
> {code}
> leads to the following error message:
> {code}
> 2017-07-19 19:51:09,898 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue6) W9VMA4B+d8Gd TEIID30019 Unexpected exception for request W9VMA4B+d8Gd.1: java.lang.NullPointerEx
> ception
> at org.teiid.query.processor.proc.Program.instructionsRequireTransaction(Program.java:307)
> at org.teiid.query.processor.proc.Program.requiresTransaction(Program.java:301)
> at org.teiid.query.processor.proc.ProcedurePlan.requiresTransaction(ProcedurePlan.java:881)
> at org.teiid.query.processor.relational.PlanExecutionNode.requiresTransaction(PlanExecutionNode.java:184)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:283)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
> at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:269)
> at org.teiid.dqp.internal.process.Request.getTransactionContext(Request.java:374)
> at org.teiid.dqp.internal.process.Request.createProcessor(Request.java:350)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:485)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:657)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:338)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (TEIID-4995) Investigate use of org.apache.poi.ss.usermodel.DataFormatter in Excel translator
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4995?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4995:
---------------------------------------
> as the current default behavior is essentially corrupting the data unless the user alters the data source
It is not corrupting; it's a question of what the user sees. The data model for excel is down to the cell level, the logic simply reflects that. If you alter the format for the cell the underlying value will not change, just what the user sees.
We can get the format string for each cell at runtime, so scratch my metadata concern. However defaults are locale dependent, which is not stored with the sheet/workbook (for example 123.4 in the us and 123,4 in czechia). This could be captured if needed as a translator or extension metadata property.
The initial proposed solution will just be a translator property called formatStrings defaulting to false.
> Investigate use of org.apache.poi.ss.usermodel.DataFormatter in Excel translator
> --------------------------------------------------------------------------------
>
> Key: TEIID-4995
> URL: https://issues.jboss.org/browse/TEIID-4995
> Project: Teiid
> Issue Type: Enhancement
> Components: Misc. Connectors
> Affects Versions: 8.7.12.6_2, 8.12.11.6_3, 9.2.4
> Environment: Excel translator
> Integer values in string columns
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
>
> For integer values in a string column, values are displayed as a decimal value (for example, a value "5" is displayed as "5.0"). It looks like org.apache.poi.ss.usermodel.DataFormatter [1] by default attempts to format values in the same manner as Excel would display it [2], and would result in the integer value "5" being displayed as "5". In the case of string columns, this would avoid the user needing to modify source data to compensate as indicated as workarounds in TEIID-3947.
> [1] https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataFormatter....
> [2] The default number format will mimic the Excel General format: "#" for whole numbers and "#.##########" for decimal numbers.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (TEIID-5001) TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
by dalex dalex (JIRA)
dalex dalex created TEIID-5001:
----------------------------------
Summary: TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
Key: TEIID-5001
URL: https://issues.jboss.org/browse/TEIID-5001
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 9.3
Environment: teiid-9.3.0.Final on WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
Reporter: dalex dalex
Assignee: Steven Hawkins
Priority: Blocker
Attachments: emptydateranges.csv
Running the following query:
{code:sql}
SELECT id FROM
(SELECT d.id FROM (
SELECT 'l1' as domain
) dim_md_domains_to_load, table(CALL testcase.proc_web_avg_visit_duration_empty("domain" => domain)) x
JOIN testcase.dim_md_date_ranges d ON true
UNION
SELECT id FROM testcase.dim_md_date_ranges
) z
{code}
when using the following procedure:
{code:sql}
CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
domain string
) RETURNS (i integer) AS
BEGIN
select 1;
END
{code}
leads to the following error message:
{code}
2017-07-19 19:57:12,608 ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue15) FOgTHY5kk50l TEIID30019 Unexpected exception for request FOgTHY5kk50l.1: org.teiid.core.TeiidCo
mponentException: TEIID30328 Unable to evaluate dim_md_domains_to_load.domain: No value was available
at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:514)
at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:766)
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:726)
at org.teiid.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:857)
at org.teiid.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:225)
at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:82)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
at org.teiid.query.processor.relational.NestedTableJoinStrategy.openLeft(NestedTableJoinStrategy.java:74)
at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.UnionAllNode.open(UnionAllNode.java:123)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.DupRemoveNode.open(DupRemoveNode.java:53)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.LimitNode.open(LimitNode.java:146)
at org.teiid.query.processor.relational.RelationalPlan.open(RelationalPlan.java:136)
at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:231)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:138)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:477)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:349)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{code}
and when using the following procedure:
{code:sql}
CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
domain string
) RETURNS (i integer) AS
BEGIN
END
{code}
leads to the following error message:
{code}
2017-07-19 19:51:09,898 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue6) W9VMA4B+d8Gd TEIID30019 Unexpected exception for request W9VMA4B+d8Gd.1: java.lang.NullPointerEx
ception
at org.teiid.query.processor.proc.Program.instructionsRequireTransaction(Program.java:307)
at org.teiid.query.processor.proc.Program.requiresTransaction(Program.java:301)
at org.teiid.query.processor.proc.ProcedurePlan.requiresTransaction(ProcedurePlan.java:881)
at org.teiid.query.processor.relational.PlanExecutionNode.requiresTransaction(PlanExecutionNode.java:184)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:283)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:269)
at org.teiid.dqp.internal.process.Request.getTransactionContext(Request.java:374)
at org.teiid.dqp.internal.process.Request.createProcessor(Request.java:350)
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:485)
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:657)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:338)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (TEIID-4995) Investigate use of org.apache.poi.ss.usermodel.DataFormatter in Excel translator
by Marc Shirley (JIRA)
[ https://issues.jboss.org/browse/TEIID-4995?page=com.atlassian.jira.plugin... ]
Marc Shirley commented on TEIID-4995:
-------------------------------------
My thoughts were that this could potentially be applied with the default formatting for any string type column, as the current default behavior is essentially corrupting the data unless the user alters the data source. The example for corruption in the current behavior is stock symbols for Asian markets where the symbol/code is an integer value.
As well, I believe DataFormatter might be formatting it in line with the formatting rules already applied towards the spreadsheet if the user has applied formatting to individual cells, so would still fall in line with what I would assume is the expectation of the average user.
> Investigate use of org.apache.poi.ss.usermodel.DataFormatter in Excel translator
> --------------------------------------------------------------------------------
>
> Key: TEIID-4995
> URL: https://issues.jboss.org/browse/TEIID-4995
> Project: Teiid
> Issue Type: Enhancement
> Components: Misc. Connectors
> Affects Versions: 8.7.12.6_2, 8.12.11.6_3, 9.2.4
> Environment: Excel translator
> Integer values in string columns
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
>
> For integer values in a string column, values are displayed as a decimal value (for example, a value "5" is displayed as "5.0"). It looks like org.apache.poi.ss.usermodel.DataFormatter [1] by default attempts to format values in the same manner as Excel would display it [2], and would result in the integer value "5" being displayed as "5". In the case of string columns, this would avoid the user needing to modify source data to compensate as indicated as workarounds in TEIID-3947.
> [1] https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataFormatter....
> [2] The default number format will mimic the Excel General format: "#" for whole numbers and "#.##########" for decimal numbers.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months