]
Mark Tawk commented on TEIID-4479:
----------------------------------
Query plan:
<?xml version='1.0' encoding='UTF-8'?><node
name="ProjectNode"><property name="Relational Node
ID"><value>2</value></property><property name="Output
Columns"><value>JPVPricedSecurities_Contract
(bigdecimal)</value><value>DAYOFMONTHSRequestPerVendor_
(integer)</value></property><property
name="Statistics"><value>Node Output Rows:
0</value><value>Node Next Batch Process Time: 0</value><value>Node
Cumulative Next Batch Process Time: 16</value><value>Node Cumulative Process
Time: 0</value><value>Node Next Batch Calls: 1</value><value>Node
Blocks: 1</value></property><property name="Cost
Estimates"><value>Estimated Node Cardinality:
-1.0</value></property><property name="Child 0"><node
name="GroupingNode"><property name="Relational Node
ID"><value>3</value></property><property name="Output
Columns"><value>agg0 (bigdecimal)</value><value>gcol0
(integer)</value></property><property
name="Statistics"><value>Node Output Rows:
0</value><value>Node Next Batch Process Time: 0</value><value>Node
Cumulative Next Batch Process Time: 16</value><value>Node Cumulative Process
Time: 0</value><value>Node Next Batch Calls: 1</value><value>Node
Blocks: 1</value></property><property name="Cost
Estimates"><value>Estimated Node Cardinality:
-1.0</value></property><property name="Child 0"><node
name="JoinNode"><property name="Relational Node
ID"><value>4</value></property><property name="Output
Columns"><value>gcol1 (integer)</value><value>agg0
(bigdecimal)</value></property><property
name="Statistics"><value>Node Output Rows:
0</value><value>Node Next Batch Process Time: 0</value><value>Node
Cumulative Next Batch Process Time: 16</value><value>Node Cumulative Process
Time: 0</value><value>Node Next Batch Calls: 1</value><value>Node
Blocks: 1</value></property><property name="Cost
Estimates"><value>Estimated Node Cardinality:
-1.0</value></property><property name="Child 0"><node
name="AccessNode"><property name="Relational Node
ID"><value>5</value></property><property name="Output
Columns"><value>VendorID
(integer)</value></property><property
name="Statistics"><value>Node Output Rows:
2</value><value>Node Next Batch Process Time: 0</value><value>Node
Cumulative Next Batch Process Time: 0</value><value>Node Cumulative Process
Time: 16</value><value>Node Next Batch Calls: 2</value><value>Node
Blocks: 1</value></property><property name="Cost
Estimates"><value>Estimated Node Cardinality:
1.0</value></property><property
name="Query"><value>SELECT g_0.VendorID AS c_0 FROM
datamarketModel_MM.datamarket.Vendor AS g_0 WHERE (g_0.Vendor IS NOT NULL) AND
(g_0.VendorID IN (10, 2)) ORDER BY c_0</value></property><property
name="Model
Name"><value>datamarketModel_MM</value></property></node></property><property
name="Child 1"><node name="DependentAccessNode"><property
name="Relational Node
ID"><value>6</value></property><property name="Output
Columns"><value>gcol0 (integer)</value><value>gcol1
(integer)</value><value>agg0
(bigdecimal)</value></property><property
name="Statistics"><value>Node Output Rows:
0</value><value>Node Next Batch Process Time: 0</value><value>Node
Cumulative Next Batch Process Time: 0</value><value>Node Cumulative Process
Time: 0</value><value>Node Next Batch Calls: 0</value><value>Node
Blocks: 0</value></property><property name="Cost
Estimates"><value>Estimated Node Cardinality:
-1.0</value></property><property
name="Query"><value>SELECT v_0.c_0, v_0.c_1, SUM(v_0.c_2) FROM (SELECT
g_1.Reply_VendorID AS c_0, year(g_0.SRequest_DateTime) AS c_1, g_1.ContractLine_Cost AS
c_2 FROM datamarketModel_jX.datamarket.SRequestPerVendor AS g_0,
datamarketModel_jX.datamarket.JPVPricedSecurities AS g_1 WHERE (g_0.SRequest_AssetID =
g_1.Reply_AssetID) AND (g_1.Reply_VendorID IN (10, 2)) AND (g_1.Reply_VendorID IN
(<dependent values>))) AS v_0 GROUP BY v_0.c_0,
v_0.c_1</value></property><property name="Model
Name"><value>datamarketModel_jX</value></property></node></property><property
name="Dependent
Join"><value>true</value></property><property name="Join
Strategy"><value>ENHANCED SORT JOIN [SEMI] RAN AS SORT MERGE
(ALREADY_SORTED/SORT)</value></property><property name="Join
Type"><value>INNER JOIN</value></property><property
name="Join
Criteria"><value>Vendor.VendorID=anon_grp1.gcol0</value></property></node></property><property
name="Grouping
Columns"><value>anon_grp1.gcol1</value></property><property
name="Grouping
Mapping"><value>anon_grp0.gcol0=anon_grp1.gcol1</value><value>anon_grp0.agg0=SUM(anon_grp1.agg0)</value></property><property
name="Sort
Mode"><value>false</value></property></node></property><property
name="Select Columns"><value>anon_grp0.agg0 AS
JPVPricedSecurities_Contract</value><value>anon_grp0.gcol0 AS
DAYOFMONTHSRequestPerVendor_</value></property><property name="Data
Bytes Sent"><value>0</value></property><property
name="Planning
Time"><value>15</value></property></node>
Teiid Exception on multiple values criteria
-------------------------------------------
Key: TEIID-4479
URL:
https://issues.jboss.org/browse/TEIID-4479
Project: Teiid
Issue Type: Bug
Reporter: Mark Tawk
Assignee: Steven Hawkins
I'm using Teiid 9.0.0 with mysql
I'm getting an exception on the query below when putting more then one value in the
criteria : ("JPVPricedSecurities"."Reply_VendorID" IN (10, 2))
if the criteria is on one value, the query executes with success;
The case is specifically related to the query.
select SUM("JPVPricedSecurities"."ContractLine_Cost") as
"JPVPricedSecurities_Contract",
year("SRequestPerVendor"."SRequest_DateTime") as
"DAYOFMONTHSRequestPerVendor_"
from "DataMarketBusinessModel"."SRequestPerVendor"
"SRequestPerVendor"
LEFT JOIN "DataMarketBusinessModel"."JPVPricedSecurities"
"JPVPricedSecurities" ON
"SRequestPerVendor"."SRequest_AssetID" =
"JPVPricedSecurities"."Reply_AssetID"
LEFT JOIN "datamarketModel_MM"."datamarket"."Vendor"
"Vendor" ON "JPVPricedSecurities"."Reply_VendorID" =
"Vendor"."VendorID"
where ("JPVPricedSecurities"."Reply_VendorID" IN (10, 2) )
AND ("Vendor"."Vendor" IS NOT null )
group by
year("SRequestPerVendor"."SRequest_DateTime")
Here is the exception stack:
Daemon Thread [http-bio-8080-exec-2] (Suspended (exception NullPointerException))
owns: Object (id=23929)
owns: SocketWrapper<E> (id=23848)
LanguageBridgeFactory.translate(DependentSetCriteria) line: 426
LanguageBridgeFactory.translate(Criteria) line: 418
LanguageBridgeFactory.translate(CompoundCriteria) line: 494
LanguageBridgeFactory.translate(Criteria) line: 402
LanguageBridgeFactory.translate(Query) line: 281
LanguageBridgeFactory.translate(QueryCommand) line: 226
LanguageBridgeFactory.translate(SubqueryFromClause) line: 386
LanguageBridgeFactory.translate(FromClause) line: 344
LanguageBridgeFactory.translate(Query) line: 276
LanguageBridgeFactory.translate(Command) line: 184
ConnectorWorkItem.<init>(AtomicRequestMessage, ConnectorManager) line: 175
EmbeddedServer$ProviderAwareConnectorManagerRepository$1(ConnectorManager).registerRequest(AtomicRequestMessage)
line: 203
DataTierManagerImpl.registerRequest(CommandContext, Command, String,
RegisterRequestParameter) line: 1011
TempTableDataManager.registerRequest(CommandContext, Command, String,
RegisterRequestParameter) line: 179
DependentAccessNode(AccessNode).registerRequest(Command) line: 500
DependentAccessNode(AccessNode).openInternal() line: 268
DependentAccessNode(AccessNode).open() line: 171
EnhancedSortMergeJoinStrategy(JoinStrategy).openRight() line: 105
JoinNode.nextBatchDirect() line: 223
JoinNode(RelationalNode).nextBatch() line: 282
GroupingNode$ProjectingTupleSource(BatchCollector$BatchProducerTupleSource).nextTuple()
line: 94
GroupingNode.groupSortPhase() line: 490
GroupingNode.nextBatchDirect() line: 366
GroupingNode(RelationalNode).nextBatch() line: 282
ProjectNode.nextBatchDirect() line: 150
ProjectNode(RelationalNode).nextBatch() line: 282
RelationalPlan.nextBatch() line: 145
QueryProcessor.nextBatchDirect() line: 151
QueryProcessor.nextBatch() line: 114
RequestWorkItem$1(BatchCollector).collectTuples(boolean) line: 164
RequestWorkItem$1(BatchCollector).collectTuples() line: 146
RequestWorkItem.processMore() line: 472
RequestWorkItem.process() line: 348
RequestWorkItem(AbstractWorkItem).run() line: 51
RequestWorkItem.run() line: 274
DQPCore.executeRequest(long, RequestMessage, Long) line: 313
DQPCore.executeRequest(long, RequestMessage) line: 245
GeneratedMethodAccessor393.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 606
LocalServerConnection$1$1.call() line: 177
FutureTask<V>.run() line: 262
DQPWorkContext.runInContext(Runnable) line: 276
DQPWorkContext.runInContext(Callable<V>) line: 260
LocalServerConnection$1.invoke(Object, Method, Object[]) line: 175
$Proxy29.executeRequest(long, RequestMessage) line: not available
StatementImpl.execute(RequestMessage, boolean) line: 673
StatementImpl.executeSql(String[], boolean, ResultsMode, boolean, RequestOptions,
boolean) line: 539
StatementImpl.execute(String, int) line: 1060
StatementImpl.execute(String) line: 323