[JBoss JIRA] (TEIID-2445) vdb.xml usability enhancements
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-2445:
-----------------------------------
Summary: vdb.xml usability enhancements
Key: TEIID-2445
URL: https://issues.jboss.org/browse/TEIID-2445
Project: Teiid
Issue Type: Enhancement
Components: Server
Reporter: Ramesh Reddy
Assignee: Steven Hawkins
Couple of usability enhancements need to be done on the -vdb.xml to make the intent clear
UseConnectorMetadata=true/cached
- The true case could be removed entirely. The notion of metadata caching could be handled by a model property and should probably be more baked into the MetadataRepository facility (such as passing the cached metadata in for update).
supports-multi-source-bindings=true/false
- Since we have mostly removed the binding terminology, it would make more sense to call this just multi-source or multisource (which is consistent with the multisource.columnName and addColumn properties). We could also automatically infer it to be true when there are multiple sources listed for a single model (which is currently an error case without this property) so that it would only be needed if you wanted a single source to appear as if it were a multisource model.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (TEIID-2444) Teiid should be deployable in EAP 6.1 bits
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-2444:
-----------------------------------
Summary: Teiid should be deployable in EAP 6.1 bits
Key: TEIID-2444
URL: https://issues.jboss.org/browse/TEIID-2444
Project: Teiid
Issue Type: Task
Components: Build/Kits, Server
Affects Versions: 8.4
Reporter: Ramesh Reddy
Assignee: Ramesh Reddy
Priority: Blocker
Fix For: 8.4
EAP 6.1 Alpha 1 is available in community, Teiid must be able to layered on top of this version to make use this version.
EAP 6.1 alpaha1, fixes few major issues that were discovered on AS 7.1.1 version.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (TEIID-2443) Support Language feature for "With Rollup"
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-2443:
-----------------------------------
Summary: Support Language feature for "With Rollup"
Key: TEIID-2443
URL: https://issues.jboss.org/browse/TEIID-2443
Project: Teiid
Issue Type: Feature Request
Components: Query Engine
Reporter: Ramesh Reddy
Assignee: Steven Hawkins
It would be useful to provide the clause 'WITH ROLLUP' in Teiid for analytical type queries. Example:
{code}
Group Name SalesYTD
North America Northwest 123237.00
North America Northwest 37534.00
North America Northwest 48003.00
North America Southwest 164232.00
North America Southeast 39667.00
North America Southeast 105810.00
Europe France 74569.00
Europe Germany 59456.00
Pacific Australia 93403.00
Europe United Kingdom 78327.00
{code}
With query like
{code:SQL}
SELECT [Group], [Name], SUM([SalesYTD]) AS 'Total Sales'
FROM Table
GROUP BY [Group], [Name] WITH ROLLUP
{code}
will produce
{code}
Group Name Total Sales
Europe France 74569.00
Europe Germany 59456.00
Europe United Kingdom 78327.00
Europe NULL 212352.00
North America Northwest 208774.00
North America Southeast 145477.00
North America Southwest 164232.00
North America NULL 518483.00
Pacific Australia 93403.00
Pacific NULL 93403.00
NULL NULL 824238.00
{code}
4 rows have been added, 3 for sub total of each [Group], and 1 row for grand total.
Teiid needa to build it's analytical function library to be useful in reporting situations.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (TEIID-2377) Query results are lost
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2377?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2377.
---------------------------------
> Query results are lost
> -----------------------
>
> Key: TEIID-2377
> URL: https://issues.jboss.org/browse/TEIID-2377
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.1
> Reporter: Vineela Gampa
> Assignee: Steven Hawkins
> Attachments: stackTrace.txt
>
>
> Hi Steve,
> We are seeing some problem incase of one usecase.
> 1)User issues a query - and server issues a query
> SELECT chorus_results.CHORUS_H_healthstate, chorus_results.userid, chorus_results.sysid, chorus_results.CHORUS_C_notesForObject, chorus_results.name, chorus_results.age, 'demodata.user' AS "__objecttype__" FROM (EXEC data_window('SELECT CHORUS_H_healthstate, userid, sysid, CHORUS_C_notesForObject, name, age, ''demodata.user'' AS "__objecttype__" FROM (SELECT /*+sh:''data_window'' */ CHORUS_B.*, (SELECT COALESCE(MIN(healthstatefkey), 10) FROM healthstatestream.latest_health_states WHERE latest_health_states.objfkeyxml = replace(primary_key(''demodata.user'', ''userid'', cast(CHORUS_B.userid AS String), ''sysid'', cast(CHORUS_B.sysid AS String)), ''"'', '''''''')) AS CHORUS_H_healthstate, (SELECT COUNT(*) FROM (SELECT * FROM chorus_notes.RETRIEVE_NOTES WHERE OBJECT_PKEY = primary_key(''demodata.user'', ''userid'', CHORUS_B.userid, ''sysid'', CHORUS_B.sysid)) AS foo) AS CHORUS_C_notesForObject, ''demodata.user'' AS "__objecttype__" FROM (SELECT CHORUS_B.* FROM (SELECT * FROM demodata."user") AS CHORUS_B, (SELECT * FROM chorus_time.timetable WHERE period = 30000) AS chorus_refresh_expression) AS CHORUS_B LIMIT 100) AS CHORUS_B LIMIT 18', ?)) AS chorus_data_window, ARRAYTABLE(chorus_data_window.tuple COLUMNS sysid string, userid string, name string, phone string, zip string, age biginteger, salary bigdecimal, CHORUS_H_healthstate integer, CHORUS_C_notesForObject integer, "__objecttype__" string) AS chorus_results LIMIT 18
> 2)User scrolls down the page to fetch more results
> SELECT chorus_results.CHORUS_H_healthstate, chorus_results.userid, chorus_results.sysid, chorus_results.CHORUS_C_notesForObject, chorus_results.name, chorus_results.age, 'demodata.user' AS "__objecttype__" FROM (EXEC data_window('SELECT CHORUS_H_healthstate, userid, sysid, CHORUS_C_notesForObject, name, age, ''demodata.user'' AS "__objecttype__" FROM (SELECT /*+sh:''data_window'' */ CHORUS_B.*, (SELECT COALESCE(MIN(healthstatefkey), 10) FROM healthstatestream.latest_health_states WHERE latest_health_states.objfkeyxml = replace(primary_key(''demodata.user'', ''userid'', cast(CHORUS_B.userid AS String), ''sysid'', cast(CHORUS_B.sysid AS String)), ''"'', '''''''')) AS CHORUS_H_healthstate, (SELECT COUNT(*) FROM (SELECT * FROM chorus_notes.RETRIEVE_NOTES WHERE OBJECT_PKEY = primary_key(''demodata.user'', ''userid'', CHORUS_B.userid, ''sysid'', CHORUS_B.sysid)) AS foo) AS CHORUS_C_notesForObject, ''demodata.user'' AS "__objecttype__" FROM (SELECT CHORUS_B.* FROM (SELECT * FROM demodata."user") AS CHORUS_B, (SELECT * FROM chorus_time.timetable WHERE period = 30000) AS chorus_refresh_expression) AS CHORUS_B LIMIT 100) AS CHORUS_B LIMIT 18, 18', ?)) AS chorus_data_window, ARRAYTABLE(chorus_data_window.tuple COLUMNS sysid string, userid string, name string, phone string, zip string, age biginteger, salary bigdecimal, CHORUS_H_healthstate integer, CHORUS_C_notesForObject integer, "__objecttype__" string) AS chorus_results LIMIT 18, 18
> Above queries are issues using preparedstatement.exuecute . We are calling a translator storedproc which inturn executes a asynchronous (submitExecute) query to fetch the results and store 100 records in temptable.Incase of 1 we get the results normally . Incase of 2 as the data is already stored in temptables we execute results against temptable. From the logs its evident that teiid processed the data. But the resultset output from ps.ExecuteQuery has resultset of size 0.
> Any idea of what could be hapennign would greatly help. Will attach the entire log for the second query.
> snippet of logs
> 04 Feb 2013 23:01:45,092 PST DEBUG [org.teiid.BUFFER_MGR] (http--127.0.0.1-8080-2) Creating TupleBuffer: 1483 [chorus_results.CHORUS_H_healthstate, chorus_results.userid, chorus_results.sysid, chorus_results.CHORUS_C_notesForObject, chorus_results.name, chorus_results.age] [class java.lang.Integer, class java.lang.String, class java.lang.String, class java.lang.Integer, class java.lang.String, class java.math.BigInteger] of type PROCESSOR
> 04 Feb 2013 23:01:45,094 PST DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue2395) 5L+SB5Q54KWY.44.4.1084 Processing Close : EXEC data_window('SELECT CHORUS_H_healthstate, userid, sysid, CHORUS_C_notesForObject, name, age, ''demodata.user'' AS "__objecttype__" FROM (SELECT /*+sh:''data_window'' */ CHORUS_B.*, (SELECT COALESCE(MIN(healthstatefkey), 10) FROM healthstatestream.latest_health_states WHERE latest_health_states.objfkeyxml = replace(primary_key(''demodata.user'', ''userid'', cast(CHORUS_B.userid AS String), ''sysid'', cast(CHORUS_B.sysid AS String)), ''"'', '''''''')) AS CHORUS_H_healthstate, (SELECT COUNT(*) FROM (SELECT * FROM chorus_notes.RETRIEVE_NOTES WHERE OBJECT_PKEY = primary_key(''demodata.user'', ''userid'', CHORUS_B.userid, ''sysid'', CHORUS_B.sysid)) AS foo) AS CHORUS_C_notesForObject, ''demodata.user'' AS "__objecttype__" FROM (SELECT CHORUS_B.* FROM (SELECT * FROM demodata."user") AS CHORUS_B, (SELECT * FROM chorus_time.timetable WHERE period = 30000) AS chorus_refresh_expression) AS CHORUS_B LIMIT 100) AS CHORUS_B LIMIT 18, 18', '[]')
> 04 Feb 2013 23:01:45,102 PST DEBUG [org.teiid.BUFFER_MGR] (http--127.0.0.1-8080-2) Removing TupleBuffer: 1483
> 04 Feb 2013 23:01:45,113 PST DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue2395) END SRC COMMAND: endTime=2013-02-04 23:01:45.113 requestID=5L+SB5Q54KWY.44 sourceCommandID=4 txID=null modelName=datapipe translatorName=datapipe.delegated-translator sessionID=5L+SB5Q54KWY principal=admin@chorus-login-security finalRowCount=18
> 04 Feb 2013 23:01:45,114 PST DEBUG [org.teiid.BUFFER_MGR] (http--127.0.0.1-8080-2) Creating TupleBuffer: 1484 [chorus_results.CHORUS_H_healthstate, chorus_results.userid, chorus_results.sysid, chorus_results.CHORUS_C_notesForObject, chorus_results.name, chorus_results.age] [class java.lang.Integer, class java.lang.String, class java.lang.String, class java.lang.Integer, class java.lang.String, class java.math.BigInteger] of type PROCESSOR
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (TEIID-2376) NPE when executinga a query
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2376?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2376.
---------------------------------
> NPE when executinga a query
> ---------------------------
>
> Key: TEIID-2376
> URL: https://issues.jboss.org/browse/TEIID-2376
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.1
> Reporter: Vineela Gampa
> Assignee: Steven Hawkins
>
> Message1: org.teiid.core.TeiidException org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:113) org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:70) org.teiid.jdbc.ResultSetImpl.processBatch(ResultSetImpl.java:402) org.teiid.jdbc.ResultSetImpl.access$000(ResultSetImpl.java:63) org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:230) org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:130) org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:37) org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75) org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:808) org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:483) org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:318) org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49) org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219) org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249) org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123) org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) java.lang.Thread.run(Thread.java:779) Caused by: org.teiid.core.TeiidException org.teiid.client.ResultsMessage.setException(ResultsMessage.java:172) org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:806) org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:483) org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:318) org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49) org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219) org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249) org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123) org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) java.lang.Thread.run(Thread.java:779) Caused by: java.lang.NullPointerException org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy$SingleTupleSource.get(EnhancedSortMergeJoinStrategy.java:79) org.teiid.query.processor.relational.ListNestedSortComparator.compare(ListNestedSortComparator.java:149) org.teiid.query.processor.relational.ListNestedSortComparator.compare(ListNestedSortComparator.java:59) java.util.Collections.indexedBinarySearch(Collections.java:388) java.util.Collections.binarySearch(Collections.java:376) org.teiid.common.buffer.SPage.search(SPage.java:140) org.teiid.common.buffer.STree.find(STree.java:245) org.teiid.common.buffer.TupleBrowser.setPage(TupleBrowser.java:144) org.teiid.common.buffer.TupleBrowser.nextTuple(TupleBrowser.java:203) org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.process(EnhancedSortMergeJoinStrategy.java:377) org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70) org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69) org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82) org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91) org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:149) org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.UnionAllNode.nextBatchDirect(UnionAllNode.java:90) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70) org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69) org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82) org.teiid.common.buffer.AbstractTupleSource.nextTuple(AbstractTupleSource.java:48) org.teiid.query.processor.relational.SortUtility.initialSort(SortUtility.java:247) org.teiid.query.processor.relational.SortUtility.sort(SortUtility.java:184) org.teiid.query.processor.relational.SourceState.sort(SourceState.java:211) org.teiid.query.processor.relational.MergeJoinStrategy.loadRight(MergeJoinStrategy.java:345) org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:198) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.UnionAllNode.nextBatchDirect(UnionAllNode.java:90) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.BatchCollector$BatchProducerTupleSource.nextTuple(BatchCollector.java:89) org.teiid.query.processor.relational.GroupingNode.groupPhase(GroupingNode.java:374) org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:318) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153) org.teiid.query.processor.relational.SourceState.getTupleBuffer(SourceState.java:174) org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.loadLeft(EnhancedSortMergeJoinStrategy.java:229) org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:186) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70) org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69) org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82) org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91) org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:149) org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279) org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:148) org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146) org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112) org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153) org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382) org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291) org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49) org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219) org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249) org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123) org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) java.lang.Thread.run(Thread.java:779)
> org.teiid.core.TeiidException org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:...
> Version:
> 3.0.1-SNAPSHOT [Production (Build 3490); 2013/02/04 15:00; vm9444]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (TEIID-2349) Cannot execute Two-Phase Commit using Multi-Source Model Dynamic VDB
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2349?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2349.
---------------------------------
> Cannot execute Two-Phase Commit using Multi-Source Model Dynamic VDB
> --------------------------------------------------------------------
>
> Key: TEIID-2349
> URL: https://issues.jboss.org/browse/TEIID-2349
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.7.1
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Fix For: 8.1, 7.7.4
>
>
> Description of problem:
> 2nd connection to Multi-Source Model Dynamic VDB is not Two-Phase Commit.
> How reproducible:
> Always
> Steps to Reproduce:
> Execute a update query via Multi-Source Model Dynamic VDB.
> ex)
> vdb - maseter-vdb.xml
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <vdb name="MASTER-VDB" version="1">
> <description>A Dynamic VDB</description>
> <property name="UseConnectorMetadata" value="true" />
> <model visible="true" type="PHYSICAL" name="VDB1">
> <property name="supports-multi-source-bindings" value="true" />
> <source name="db02" translator-name="postgresql" connection-jndi-name="java:/PostgresXADS02" />
> <source name="db01" translator-name="postgresql" connection-jndi-name="java:/PostgresXADS01" />
> </model>
> </vdb>
>
> Additional info:
> Set the multisourceUpdate flag as first query plan creating.
> org.teiid.dqp.internal.process.multisource.MultiSourcePlanToProcessConverter.java
> 90: @Override
> 91: public synchronized RelationalPlan convert(PlanNode planNode)
> 92: throws QueryPlannerException, TeiidComponentException {
> 93: RelationalPlan result = null;
> 94: try {
> 95: result = super.convert(planNode);
> 96: return result;
> 97: } finally {
> 98: if (result != null && update && multiSource) {
> -> 99: result.setMultisourceUpdate(true);
> 100: }
> 101: update = false;
> 102: multiSource = false;
> 103: }
> 104: }
> If multisourceUpdate is true, transactionService is started by teiid engine. But, second connects does not set the multisourceUpdate flag. Therefore, teiid engine does not start transactionService.
> org.teiid.dqp.internal.process.Request.java
> 338: private void createProcessor() throws TeiidComponentException {
> --- snip ---
> 349: if(RequestMessage.TXN_WRAP_ON.equals(requestMsg.getTxnAutoWrapMode())){
> 350: startAutoWrapTxn = true;
> 351: } else if (RequestMessage.TXN_WRAP_DETECT.equals(requestMsg.getTxnAutoWrapMode())){
> 352: boolean transactionalRead = requestMsg.getTransactionIsolation() == Connection.TRANSACTION_REPEATABLE_READ
> 353: || requestMsg.getTransactionIsolation() == Connection.TRANSACTION_SERIALIZABLE;
> -> 354: startAutoWrapTxn = processPlan.requiresTransaction(transactionalRead);
> 355: }
> 356:
> 357: if (startAutoWrapTxn) {
> 358: try {
> -> 359: transactionService.begin(tc);
> 360: } catch (XATransactionException err) {
> 361: throw new TeiidComponentException(err);
> 362: }
> 363: }
> 364: }
> org.teiid.query.processor.relational.RelationalPlan.java
> 254: @Override
> 255: public boolean requiresTransaction(boolean transactionalReads) {
> 256: if (multisourceUpdate) {
> -> 257: return true;
> 258: }
> 259: if (this.with != null) {
> 260: if (transactionalReads) {
> 261: return true;
> 262: }
> 263: for (WithQueryCommand withCommand : this.with) {
> 264: if (withCommand.getCommand().getProcessorPlan().requiresTransaction(transactionalReads)) {
> 265: return true;
> 266: }
> 267: }
> 268: }
> 279: return requiresTransaction(transactionalReads, root);
> 270: }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (TEIID-2399) Rewriting And-Conjunction does not work properly
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2399?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2399.
---------------------------------
> Rewriting And-Conjunction does not work properly
> ------------------------------------------------
>
> Key: TEIID-2399
> URL: https://issues.jboss.org/browse/TEIID-2399
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 7.7.1, 8.2
> Environment: EDS 5.3.0
> Reporter: Hisanobu Okuda
> Assignee: Steven Hawkins
>
> The following query should return no row, but returns 1 row actually.
> {code}
> select * from (select 1 f1) x where x.f1 = 1 and x.f1 != 1;
> {code}
> The Query Processor rewrites the criteria to x.f1 = 1.
> The following query should return 1 row, but returns no row actually.
> {code}
> select * from (select 1 f1) x where x.f1 = 1 and x.f1 < 2;
> {code}
> The Query Processor rewrites the criteria to 1 = 0.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months