[JBoss JIRA] (TEIID-3411) LDAP translator and multi-valued arrays
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-3411?page=com.atlassian.jira.plugin... ]
Van Halbert updated TEIID-3411:
-------------------------------
Fix Version/s: 8.7.1.6_2
> LDAP translator and multi-valued arrays
> ---------------------------------------
>
> Key: TEIID-3411
> URL: https://issues.jboss.org/browse/TEIID-3411
> Project: Teiid
> Issue Type: Feature Request
> Components: LDAP Connector
> Reporter: Debbie Steigner
> Assignee: Steven Hawkins
> Fix For: 8.7.1.6_2, 8.11
>
>
> The problem is with how multi-valued attribute from the LDAP response is handled. They don't want to have the data mapped to an array or multivalued-concat and then transformed into another table to get the unique values. There is an issue with the translator as it should handle multivalued attribute, by simply creating multiple rows for each value of the multivalued attribute.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 7 months
[JBoss JIRA] (TEIID-3457) Teiid 8.9.1 throw null exception when use AVG function on jboss-eap 6.3
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3457?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3457:
---------------------------------------
Yes, this was addressed by a later commit on TEIID-3119 which came after 8.9.1. There is also an 8.10.1 being released today if you want to stay with a fix release.
> Teiid 8.9.1 throw null exception when use AVG function on jboss-eap 6.3
> -----------------------------------------------------------------------
>
> Key: TEIID-3457
> URL: https://issues.jboss.org/browse/TEIID-3457
> Project: Teiid
> Issue Type: Bug
> Reporter: Xian Liu
> Assignee: Steven Hawkins
>
> 13:21:26,858 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue20) N8zPomvnqZWy TEIID30019 Unexpected exception for request N8zPomvnqZWy.8: java.lang.NullPointerException
> at java.util.ArrayList.addAll(ArrayList.java:559) [rt.jar:1.7.0_71]
> at org.teiid.query.function.aggregate.Avg.getStateTypes(Avg.java:104) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.GroupingNode.collectionPhase(GroupingNode.java:415) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:337) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:449) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:331) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:259) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.9.1.jar:8.9.1]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> teiid installer: teiid-8.9.1-jboss-dist.zip
> jboss installer: jboss-eap-6.3.0.zip
> original mysql data:
> DROP TABLE IF EXISTS `time_function_test`;
> CREATE TABLE `time_function_test` (
> `id` int(11) NOT NULL,
> `start_time` timestamp NULL DEFAULT NULL,
> `end_time` timestamp NULL DEFAULT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> LOCK TABLES `time_function_test` WRITE;
> INSERT INTO `time_function_test` VALUES (1,'2007-12-31 16:00:01','2009-12-31 16:00:01'),(2,NULL,NULL);
> UNLOCK TABLES;
> vdb definition:
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <vdb name="test" version="1">
> <description>raw db data</description>
> <model name="TeiidTest">
> <property name="importer.useFullSchemaName" value="false"/>
> <property name="importer.tableTypes" value="TABLE,VIEW"/>
> <source name="test" translator-name="mysql5" connection-jndi-name="java:jboss/datasources/teiid-test-DS"/>
> </model>
> <data-role name="ReadOnly" allow-create-temporary-tables="true">
> <description>Allow ReadOnly access to all data for any teiid-admins user</description>
> <permission>
> <resource-name>TeiidTest</resource-name>
> <allow-create>false</allow-create>
> <allow-read>true</allow-read>
> <allow-update>false</allow-update>
> </permission>
> <mapped-role-name>teiid-role</mapped-role-name>
> </data-role>
> </vdb>
> teiid query:
> SELECT
> AVG(TIMESTAMPDIFF(SQL_TSI_SECOND, tf.start_time, tf.end_time))
> FROM
> time_function_test tf
> GROUP BY id
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 7 months
[JBoss JIRA] (TEIID-3457) Teiid 8.9.1 throw null exception when use AVG function on jboss-eap 6.3
by Kylin Soong (JIRA)
[ https://issues.jboss.org/browse/TEIID-3457?page=com.atlassian.jira.plugin... ]
Kylin Soong commented on TEIID-3457:
------------------------------------
Xian Liu
This issue seems be fixed in teiid 8.10.0.Alpha3, Can you test with version later 8.10.0.Alpha3?
> Teiid 8.9.1 throw null exception when use AVG function on jboss-eap 6.3
> -----------------------------------------------------------------------
>
> Key: TEIID-3457
> URL: https://issues.jboss.org/browse/TEIID-3457
> Project: Teiid
> Issue Type: Bug
> Reporter: Xian Liu
> Assignee: Steven Hawkins
>
> 13:21:26,858 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue20) N8zPomvnqZWy TEIID30019 Unexpected exception for request N8zPomvnqZWy.8: java.lang.NullPointerException
> at java.util.ArrayList.addAll(ArrayList.java:559) [rt.jar:1.7.0_71]
> at org.teiid.query.function.aggregate.Avg.getStateTypes(Avg.java:104) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.GroupingNode.collectionPhase(GroupingNode.java:415) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:337) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:449) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:331) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:259) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.9.1.jar:8.9.1]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> teiid installer: teiid-8.9.1-jboss-dist.zip
> jboss installer: jboss-eap-6.3.0.zip
> original mysql data:
> DROP TABLE IF EXISTS `time_function_test`;
> CREATE TABLE `time_function_test` (
> `id` int(11) NOT NULL,
> `start_time` timestamp NULL DEFAULT NULL,
> `end_time` timestamp NULL DEFAULT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> LOCK TABLES `time_function_test` WRITE;
> INSERT INTO `time_function_test` VALUES (1,'2007-12-31 16:00:01','2009-12-31 16:00:01'),(2,NULL,NULL);
> UNLOCK TABLES;
> vdb definition:
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <vdb name="test" version="1">
> <description>raw db data</description>
> <model name="TeiidTest">
> <property name="importer.useFullSchemaName" value="false"/>
> <property name="importer.tableTypes" value="TABLE,VIEW"/>
> <source name="test" translator-name="mysql5" connection-jndi-name="java:jboss/datasources/teiid-test-DS"/>
> </model>
> <data-role name="ReadOnly" allow-create-temporary-tables="true">
> <description>Allow ReadOnly access to all data for any teiid-admins user</description>
> <permission>
> <resource-name>TeiidTest</resource-name>
> <allow-create>false</allow-create>
> <allow-read>true</allow-read>
> <allow-update>false</allow-update>
> </permission>
> <mapped-role-name>teiid-role</mapped-role-name>
> </data-role>
> </vdb>
> teiid query:
> SELECT
> AVG(TIMESTAMPDIFF(SQL_TSI_SECOND, tf.start_time, tf.end_time))
> FROM
> time_function_test tf
> GROUP BY id
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 7 months
[JBoss JIRA] (TEIID-3378) Malformed query with SalesForce when Inner join used
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3378?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3378:
------------------------------------------------
Matus Makovy <mmakovy(a)redhat.com> changed the Status of [bug 1201521|https://bugzilla.redhat.com/show_bug.cgi?id=1201521] from MODIFIED to VERIFIED
> Malformed query with SalesForce when Inner join used
> ----------------------------------------------------
>
> Key: TEIID-3378
> URL: https://issues.jboss.org/browse/TEIID-3378
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 8.9
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: alpha1
> Fix For: 8.7.2, 8.7.1.6_2, 8.11
>
>
> There is "AND" clause missing after implicit "!= NULL" call
> {code}
> USER COMMAND:
> SELECT A.Name, O.Id FROM importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O WHERE (A.Id = O.AccountId) AND (A.OracleAccountNumber__c = '540840')
> ----------------------------------------------------------------------------
> OPTIMIZE:
> SELECT A.Name, O.Id FROM importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O WHERE (A.Id = O.AccountId) AND (A.OracleAccountNumber__c = '540840')
> ----------------------------------------------------------------------------
> GENERATE CANONICAL:
> SELECT A.Name, O.Id FROM importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O WHERE (A.Id = O.AccountId) AND (A.OracleAccountNumber__c = '540840')
> CANONICAL PLAN:
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id]})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840'})
> Select(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SELECT_CRITERIA=A.Id = O.AccountId})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=CROSS JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[]})
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING PlaceAccess
> AFTER:
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id]})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840'})
> Select(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SELECT_CRITERIA=A.Id = O.AccountId})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=CROSS JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[]})
> Access(groups=[importVDBSrcModel.Account AS A], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000})
> Source(groups=[importVDBSrcModel.Account AS A])
> Access(groups=[importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000})
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING PushSelectCriteria
> AFTER:
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id]})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId]})
> Access(groups=[importVDBSrcModel.Account AS A], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840'})
> Source(groups=[importVDBSrcModel.Account AS A])
> Access(groups=[importVDBSrcModel.Opportunity AS O])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING PushNonJoinCriteria
> AFTER:
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId]})
> Access(groups=[importVDBSrcModel.Account AS A])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Access(groups=[importVDBSrcModel.Opportunity AS O])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING CleanCriteria
> AFTER:
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id], OUTPUT_COLS=null})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId], OUTPUT_COLS=null})
> Access(groups=[importVDBSrcModel.Account AS A], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=null})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=null})
> Source(groups=[importVDBSrcModel.Account AS A], props={OUTPUT_COLS=null})
> Access(groups=[importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=null})
> Source(groups=[importVDBSrcModel.Opportunity AS O], props={OUTPUT_COLS=null})
> ============================================================================
> EXECUTING RaiseAccess
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null})
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id], OUTPUT_COLS=null})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId], OUTPUT_COLS=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=null})
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O], props={OUTPUT_COLS=null})
> ============================================================================
> EXECUTING CopyCriteria
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId], OUTPUT_COLS=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, IS_COPIED=true})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=null, IS_COPIED=true})
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING CleanCriteria
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null})
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id], OUTPUT_COLS=null})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId], OUTPUT_COLS=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, IS_COPIED=true})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=null, IS_COPIED=true})
> Source(groups=[importVDBSrcModel.Account AS A], props={OUTPUT_COLS=null})
> Source(groups=[importVDBSrcModel.Opportunity AS O], props={OUTPUT_COLS=null})
> ============================================================================
> EXECUTING PlanJoins
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING PushSelectCriteria
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=null, IS_COPIED=true})
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING RaiseAccess
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING ChooseJoinStrategy
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING ChooseDependent
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING AssignOutputElements
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=[A.Name, O.Id], CONFORMED_SOURCES=null})
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id], OUTPUT_COLS=[A.Name, O.Id]})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId], OUTPUT_COLS=[A.Name, O.Id], MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, IS_COPIED=true})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=[A.Id, A.Name], IS_COPIED=true})
> Source(groups=[importVDBSrcModel.Account AS A], props={OUTPUT_COLS=[A.OracleAccountNumber__c, A.Id, A.Name]})
> Source(groups=[importVDBSrcModel.Opportunity AS O], props={OUTPUT_COLS=[O.AccountId, O.Id]})
> ============================================================================
> EXECUTING CalculateCost
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=[A.Name, O.Id], CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0})
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={PROJECT_COLS=[A.Name, O.Id], OUTPUT_COLS=[A.Name, O.Id], EST_CARDINALITY=-1.0})
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[A.Id = O.AccountId], OUTPUT_COLS=[A.Name, O.Id], MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0})
> Select(groups=[importVDBSrcModel.Account AS A], props={SELECT_CRITERIA=A.OracleAccountNumber__c = '540840', OUTPUT_COLS=[A.Id, A.Name], IS_COPIED=true, EST_CARDINALITY=-1.0})
> Source(groups=[importVDBSrcModel.Account AS A], props={OUTPUT_COLS=[A.OracleAccountNumber__c, A.Id, A.Name], EST_COL_STATS={A.OracleAccountNumber__c=[-1.0, -1.0], A.Id=[-1.0, -1.0], A.Name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})
> Source(groups=[importVDBSrcModel.Opportunity AS O], props={OUTPUT_COLS=[O.AccountId, O.Id], EST_COL_STATS={O.AccountId=[-1.0, -1.0], O.Id=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})
> ============================================================================
> EXECUTING ImplementJoinStrategy
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING MergeCriteria
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING PlanSorts
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Project(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Join(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O])
> Select(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Account AS A])
> Source(groups=[importVDBSrcModel.Opportunity AS O])
> ============================================================================
> EXECUTING CollapseSource
> AFTER:
> Access(groups=[importVDBSrcModel.Account AS A, importVDBSrcModel.Opportunity AS O], props={SOURCE_HINT=null, MODEL_ID=Schema name=importVDBSrcModel, nameInSource=null, uuid=tid:171d0fcff042-1eabba54-00000000, OUTPUT_COLS=[A.Name, O.Id], CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0, ATOMIC_REQUEST=SELECT A.Name, O.Id FROM importVDBSrcModel.Account AS A INNER JOIN importVDBSrcModel.Opportunity AS O ON A.Id = O.AccountId WHERE A.OracleAccountNumber__c = '540840'})
> ============================================================================
> CONVERTING PLAN TREE TO PROCESS TREE
> PROCESS PLAN =
> AccessNode(0) output=[A.Name, O.Id] SELECT importVDBSrcModel.Account.Name, importVDBSrcModel.Opportunity.Id FROM importVDBSrcModel.Account INNER JOIN importVDBSrcModel.Opportunity ON importVDBSrcModel.Account.Id = importVDBSrcModel.Opportunity.AccountId WHERE importVDBSrcModel.Account.OracleAccountNumber__c = '540840'
> ============================================================================
> ----------------------------------------------------------------------------
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> AccessNode(0) output=[A.Name, O.Id] SELECT importVDBSrcModel.Account.Name, importVDBSrcModel.Opportunity.Id FROM importVDBSrcModel.Account INNER JOIN importVDBSrcModel.Opportunity ON importVDBSrcModel.Account.Id = importVDBSrcModel.Opportunity.AccountId WHERE importVDBSrcModel.Account.OracleAccountNumber__c = '540840'
> ============================================================================
> 11:14:08,728 WARN [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue4) Connector worker process failed for atomic-request=KrZqiapoESB1.0.0.1: org.teiid.translator.TranslatorException: com.sforce.soap.partner.MalformedQueryFault: MALFORMED_QUERY:
> WHERE Opportunity.AccountId != NULLAccount.OracleAccountNumber__c
> ^
> ERROR at Row:1:Column:84
> Bind variables only allowed in Apex code
> at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:162)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:325) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:110) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:107) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_65]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:58) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.7.1.redhat-3.jar:8.7.1.redhat-3]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]
> Caused by: javax.resource.ResourceException: com.sforce.soap.partner.MalformedQueryFault: MALFORMED_QUERY:
> WHERE Opportunity.AccountId != NULLAccount.OracleAccountNumber__c
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 7 months
[JBoss JIRA] (TEIID-3457) Teiid 8.9.1 throw null exception when use AVG function on jboss-eap 6.3
by Xian Liu (JIRA)
[ https://issues.jboss.org/browse/TEIID-3457?page=com.atlassian.jira.plugin... ]
Xian Liu updated TEIID-3457:
----------------------------
Description:
13:21:26,858 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue20) N8zPomvnqZWy TEIID30019 Unexpected exception for request N8zPomvnqZWy.8: java.lang.NullPointerException
at java.util.ArrayList.addAll(ArrayList.java:559) [rt.jar:1.7.0_71]
at org.teiid.query.function.aggregate.Avg.getStateTypes(Avg.java:104) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.GroupingNode.collectionPhase(GroupingNode.java:415) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:337) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:449) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:331) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:259) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.9.1.jar:8.9.1]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.9.1.jar:8.9.1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
teiid installer: teiid-8.9.1-jboss-dist.zip
jboss installer: jboss-eap-6.3.0.zip
original mysql data:
DROP TABLE IF EXISTS `time_function_test`;
CREATE TABLE `time_function_test` (
`id` int(11) NOT NULL,
`start_time` timestamp NULL DEFAULT NULL,
`end_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
LOCK TABLES `time_function_test` WRITE;
INSERT INTO `time_function_test` VALUES (1,'2007-12-31 16:00:01','2009-12-31 16:00:01'),(2,NULL,NULL);
UNLOCK TABLES;
vdb definition:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vdb name="test" version="1">
<description>raw db data</description>
<model name="TeiidTest">
<property name="importer.useFullSchemaName" value="false"/>
<property name="importer.tableTypes" value="TABLE,VIEW"/>
<source name="test" translator-name="mysql5" connection-jndi-name="java:jboss/datasources/teiid-test-DS"/>
</model>
<data-role name="ReadOnly" allow-create-temporary-tables="true">
<description>Allow ReadOnly access to all data for any teiid-admins user</description>
<permission>
<resource-name>TeiidTest</resource-name>
<allow-create>false</allow-create>
<allow-read>true</allow-read>
<allow-update>false</allow-update>
</permission>
<mapped-role-name>teiid-role</mapped-role-name>
</data-role>
</vdb>
teiid query:
SELECT
AVG(TIMESTAMPDIFF(SQL_TSI_SECOND, tf.start_time, tf.end_time))
FROM
time_function_test tf
GROUP BY id
> Teiid 8.9.1 throw null exception when use AVG function on jboss-eap 6.3
> -----------------------------------------------------------------------
>
> Key: TEIID-3457
> URL: https://issues.jboss.org/browse/TEIID-3457
> Project: Teiid
> Issue Type: Bug
> Reporter: Xian Liu
> Assignee: Steven Hawkins
>
> 13:21:26,858 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue20) N8zPomvnqZWy TEIID30019 Unexpected exception for request N8zPomvnqZWy.8: java.lang.NullPointerException
> at java.util.ArrayList.addAll(ArrayList.java:559) [rt.jar:1.7.0_71]
> at org.teiid.query.function.aggregate.Avg.getStateTypes(Avg.java:104) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.GroupingNode.collectionPhase(GroupingNode.java:415) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:337) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:449) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:331) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:259) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.9.1.jar:8.9.1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.9.1.jar:8.9.1]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> teiid installer: teiid-8.9.1-jboss-dist.zip
> jboss installer: jboss-eap-6.3.0.zip
> original mysql data:
> DROP TABLE IF EXISTS `time_function_test`;
> CREATE TABLE `time_function_test` (
> `id` int(11) NOT NULL,
> `start_time` timestamp NULL DEFAULT NULL,
> `end_time` timestamp NULL DEFAULT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> LOCK TABLES `time_function_test` WRITE;
> INSERT INTO `time_function_test` VALUES (1,'2007-12-31 16:00:01','2009-12-31 16:00:01'),(2,NULL,NULL);
> UNLOCK TABLES;
> vdb definition:
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <vdb name="test" version="1">
> <description>raw db data</description>
> <model name="TeiidTest">
> <property name="importer.useFullSchemaName" value="false"/>
> <property name="importer.tableTypes" value="TABLE,VIEW"/>
> <source name="test" translator-name="mysql5" connection-jndi-name="java:jboss/datasources/teiid-test-DS"/>
> </model>
> <data-role name="ReadOnly" allow-create-temporary-tables="true">
> <description>Allow ReadOnly access to all data for any teiid-admins user</description>
> <permission>
> <resource-name>TeiidTest</resource-name>
> <allow-create>false</allow-create>
> <allow-read>true</allow-read>
> <allow-update>false</allow-update>
> </permission>
> <mapped-role-name>teiid-role</mapped-role-name>
> </data-role>
> </vdb>
> teiid query:
> SELECT
> AVG(TIMESTAMPDIFF(SQL_TSI_SECOND, tf.start_time, tf.end_time))
> FROM
> time_function_test tf
> GROUP BY id
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 7 months