[JBoss JIRA] (TEIID-2930) SCROLL keyword for DECLARE CURSOR not being parsed correctly
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2930?page=com.atlassian.jira.plugin... ]
Johnathon Lee reopened TEIID-2930:
----------------------------------
fix fix version
> SCROLL keyword for DECLARE CURSOR not being parsed correctly
> ------------------------------------------------------------
>
> Key: TEIID-2930
> URL: https://issues.jboss.org/browse/TEIID-2930
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: ODBC
> Affects Versions: 7.7.8
> Reporter: Johnathon Lee
> Assignee: Steven Hawkins
> Fix For: 7.7.10, 8.8, 8.7.1
>
>
> The DECLARE cursor is defined as [1]. However, in [2] line #155, the SCROLL keyword is not being matched. Correction would be to match the pattern fully as defined in [1]
> [1]
> http://www.postgresql.org/docs/8.4/static/sql-declare.html
> [2]
> https://github.com/teiid/teiid/blob/master/runtime/src/main/java/org/teii...
> Example of error:
> TRACE [org.teiid.ODBC] (New I/O server worker #3-1) invoking server method: executeQuery [BEGIN;declare "SQL_CUR0x11ad4120" scroll cursor for <SQL QUERY>;fetch 100 in "SQL_CUR0x11ad4120"]
> DEBUG [org.teiid.ODBC] (New I/O server worker #3-1) Modified Query: START TRANSACTION
> FINER [org.teiid.jdbc] (New I/O server worker #3-1) Executing: requestID -1 commands: [START TRANSACTION] expecting: EITHER
> FINER [org.teiid.jdbc] (New I/O server worker #3-1) Executing as transaction statement
> TRACE [org.teiid.ODBC] (New I/O server worker #3-1) invoking client method: sendUpdateCount [BEGIN, 0]
> FINER [org.teiid.jdbc] (New I/O server worker #3-1) Executing: requestID -1 commands: [show client_encoding] expecting: RESULTSET
> FINER [org.teiid.jdbc] (New I/O server worker #3-1) Executing as show statement
> FINER [org.teiid.jdbc] (New I/O server worker #3-1) Creating ResultSet requestID: -1 beginRow: 1 resultsColumns: 1 parameters: 0
> TRACE [org.teiid.ODBC] (New I/O server worker #3-1) invoking client method: setEncoding [UTF-8]
> FINE [org.teiid.jdbc] (New I/O server worker #3-1) Statement closed successfully.
> DEBUG [org.teiid.ODBC] (New I/O server worker #3-1) Modified Query: declare "SQL_CUR0x11ad4120" scroll cursor for <SQL QUERY>
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
11 years, 3 months
[JBoss JIRA] (TEIID-2985) odbc script reader does not handle extra statement delimiters
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2985?page=com.atlassian.jira.plugin... ]
Johnathon Lee updated TEIID-2985:
---------------------------------
Fix Version/s: 7.7.11
> odbc script reader does not handle extra statement delimiters
> -------------------------------------------------------------
>
> Key: TEIID-2985
> URL: https://issues.jboss.org/browse/TEIID-2985
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: ODBC
> Affects Versions: 7.7
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.8, 8.7.1, 7.7.11
>
>
> If sent the block of statements:
> BEGIN;declare "SQL_CUR0x1e4ba50" cursor with hold for select * from pg_proc;;fetch 1 in "SQL_CUR0x1e4ba50"
> We'll stop processing at the extra ; after the declare.
> In older branches such as 7.7 we'll attempt to process an empty sql statement, which will throw an exception.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
11 years, 3 months
[JBoss JIRA] (TEIID-2985) odbc script reader does not handle extra statement delimiters
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2985?page=com.atlassian.jira.plugin... ]
Johnathon Lee closed TEIID-2985.
--------------------------------
Resolution: Done
> odbc script reader does not handle extra statement delimiters
> -------------------------------------------------------------
>
> Key: TEIID-2985
> URL: https://issues.jboss.org/browse/TEIID-2985
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: ODBC
> Affects Versions: 7.7
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.7.1, 7.7.11, 8.8
>
>
> If sent the block of statements:
> BEGIN;declare "SQL_CUR0x1e4ba50" cursor with hold for select * from pg_proc;;fetch 1 in "SQL_CUR0x1e4ba50"
> We'll stop processing at the extra ; after the declare.
> In older branches such as 7.7 we'll attempt to process an empty sql statement, which will throw an exception.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
11 years, 3 months
[JBoss JIRA] (TEIID-2985) odbc script reader does not handle extra statement delimiters
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2985?page=com.atlassian.jira.plugin... ]
Johnathon Lee reopened TEIID-2985:
----------------------------------
adding fix version
> odbc script reader does not handle extra statement delimiters
> -------------------------------------------------------------
>
> Key: TEIID-2985
> URL: https://issues.jboss.org/browse/TEIID-2985
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: ODBC
> Affects Versions: 7.7
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.8, 8.7.1
>
>
> If sent the block of statements:
> BEGIN;declare "SQL_CUR0x1e4ba50" cursor with hold for select * from pg_proc;;fetch 1 in "SQL_CUR0x1e4ba50"
> We'll stop processing at the extra ; after the declare.
> In older branches such as 7.7 we'll attempt to process an empty sql statement, which will throw an exception.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
11 years, 3 months
[JBoss JIRA] (TEIID-3102) Provide a facility to restrict OData access to defined VDB
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-3102:
-----------------------------------
Summary: Provide a facility to restrict OData access to defined VDB
Key: TEIID-3102
URL: https://issues.jboss.org/browse/TEIID-3102
Project: Teiid
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Components: OData
Reporter: Ramesh Reddy
Assignee: Ramesh Reddy
The current OData interface in the Teiid provides one context for the web-application, thus restricting additional security/per VDB.
The alternative proposed is restrict the current web-app to single VDB, then provide a mechanism to alter the context and any necessary security domain stuff.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
11 years, 3 months
[JBoss JIRA] (TEIID-3101) Assertion failed with UNION then EXCEPT
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3101?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-3101.
-----------------------------------
Fix Version/s: 8.7.1
8.9
Resolution: Done
The plan creation logic was treating the root except as if it were a union all and adding all of the children to it which created an invalid plan.
> Assertion failed with UNION then EXCEPT
> ---------------------------------------
>
> Key: TEIID-3101
> URL: https://issues.jboss.org/browse/TEIID-3101
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Query Engine
> Affects Versions: 8.9
> Reporter: Tom Arnold
> Assignee: Steven Hawkins
> Fix For: 8.7.1, 8.9
>
>
> Ran into this when playing with set operations. Teiid 8.9.0.Alpha2 from Git.
> Query:
> {code:sql}
> (select 'a' union select 'b') except select 'c';
> {code}
> Trace:
> {code}
> 03:18:45,467 DEBUG [org.teiid.COMMAND_LOG] (New I/O worker #12) WEI32e8Ynv+s START USER COMMAND: startTime=2014-08-27 03:18:45.467 requestID=WEI32e8Ynv+s.70 txID=null sessionID=WEI32e8Ynv+s applicationName=JDBCprincipal=user@teiid-security vdbName=Foo vdbVersion=1 sql=(select 'a' union select 'b') except select 'c'
> 03:18:45,470 INFO [org.teiid.PLANNER] (Worker13_QueryProcessorQueue748) WEI32e8Ynv+s
> ============================================================================
> USER COMMAND:
> SELECT 'a' UNION SELECT 'b' EXCEPT SELECT 'c'
> ----------------------------------------------------------------------------
> OPTIMIZE:
> SELECT 'a' UNION SELECT 'b' EXCEPT SELECT 'c'
> ----------------------------------------------------------------------------
> GENERATE CANONICAL:
> SELECT 'a' UNION SELECT 'b' EXCEPT SELECT 'c'
> CANONICAL PLAN:
> SetOperation(groups=[], props={SET_OPERATION=EXCEPT, USE_ALL=false})
> SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false})
> Project(groups=[], props={PROJECT_COLS=['a']})
> Project(groups=[], props={PROJECT_COLS=['b']})
> Project(groups=[], props={PROJECT_COLS=['c']})
> ============================================================================
> EXECUTING PlaceAccess
> AFTER:
> SetOperation(groups=[], props={SET_OPERATION=EXCEPT, USE_ALL=false})
> SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false})
> Project(groups=[], props={PROJECT_COLS=['a']})
> Project(groups=[], props={PROJECT_COLS=['b']})
> Project(groups=[], props={PROJECT_COLS=['c']})
> ============================================================================
> EXECUTING PlanUnions
> AFTER:
> SetOperation(groups=[], props={SET_OPERATION=EXCEPT, USE_ALL=false})
> SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=true})
> Project(groups=[])
> Project(groups=[])
> Project(groups=[])
> ============================================================================
> EXECUTING RaiseAccess
> AFTER:
> SetOperation(groups=[])
> SetOperation(groups=[])
> Project(groups=[])
> Project(groups=[])
> Project(groups=[])
> ============================================================================
> EXECUTING AssignOutputElements
> AFTER:
> SetOperation(groups=[], props={SET_OPERATION=EXCEPT, USE_ALL=false, OUTPUT_COLS=['a']})
> SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=true, OUTPUT_COLS=['a']})
> Project(groups=[], props={PROJECT_COLS=['a'], OUTPUT_COLS=['a']})
> Project(groups=[], props={PROJECT_COLS=['b'], OUTPUT_COLS=['b']})
> Project(groups=[], props={PROJECT_COLS=['c'], OUTPUT_COLS=['c']})
> ============================================================================
> EXECUTING CalculateCost
> AFTER:
> SetOperation(groups=[], props={SET_OPERATION=EXCEPT, USE_ALL=false, OUTPUT_COLS=['a'], EST_CARDINALITY=1.0, EST_COL_STATS={'a'=[1.0, 1.0]}})
> SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=true, OUTPUT_COLS=['a'], EST_CARDINALITY=2.0, EST_COL_STATS={'a'=[1.5, 0.0]}})
> Project(groups=[], props={PROJECT_COLS=['a'], OUTPUT_COLS=['a'], EST_CARDINALITY=1.0, EST_COL_STATS={'a'=[1.0, 0.0]}})
> Project(groups=[], props={PROJECT_COLS=['b'], OUTPUT_COLS=['b'], EST_CARDINALITY=1.0, EST_COL_STATS={'b'=[1.0, 0.0]}})
> Project(groups=[], props={PROJECT_COLS=['c'], OUTPUT_COLS=['c'], EST_CARDINALITY=1.0, EST_COL_STATS={'c'=[1.0, 0.0]}})
> ============================================================================
> EXECUTING PlanSorts
> AFTER:
> SetOperation(groups=[], props={SET_OPERATION=EXCEPT, USE_ALL=false, OUTPUT_COLS=['a'], EST_CARDINALITY=1.0, EST_COL_STATS={'a'=[1.0, 1.0]}})
> SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=true, OUTPUT_COLS=['a'], EST_CARDINALITY=2.0, EST_COL_STATS={'a'=[1.5, 0.0]}})
> Project(groups=[])
> Project(groups=[])
> Project(groups=[])
> ============================================================================
> EXECUTING CollapseSource
> AFTER:
> SetOperation(groups=[])
> SetOperation(groups=[])
> Project(groups=[])
> Project(groups=[])
> Project(groups=[])
> ============================================================================
> CONVERTING PLAN TREE TO PROCESS TREE
> PROCESS PLAN =
> JoinNode(0) [MERGE JOIN (SORT_DISTINCT/SORT_DISTINCT)] [ANTI SEMI JOIN] criteria=['a'='c'] output=['a']
> ProjectNode(2) output=['a'] ['a']
> ProjectNode(3) output=['b'] ['b']
> ProjectNode(4) output=['c'] ['c']
> ============================================================================
> ----------------------------------------------------------------------------
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> JoinNode(0) [MERGE JOIN (SORT_DISTINCT/SORT_DISTINCT)] [ANTI SEMI JOIN] criteria=['a'='c'] output=['a']
> ProjectNode(2) output=['a'] ['a']
> ProjectNode(3) output=['b'] ['b']
> ProjectNode(4) output=['c'] ['c']
> ============================================================================
> 03:18:45,473 DEBUG [org.teiid.COMMAND_LOG] (Worker13_QueryProcessorQueue748) WEI32e8Ynv+s ERROR USER COMMAND: endTime=2014-08-27 03:18:45.472 requestID=WEI32e8Ynv+s.70 txID=null sessionID=WEI32e8Ynv+s principal=user@teiid-security vdbName=Foo vdbVersion=1 finalRowCount=null
> 03:18:45,473 ERROR [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue748) WEI32e8Ynv+s TEIID30019 Unexpected exception for request WEI32e8Ynv+s.70: java.lang.AssertionError: Assertion failed.
> at org.teiid.core.util.Assertion.failed(Assertion.java:73) [teiid-common-core-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.core.util.Assertion.assertTrue(Assertion.java:68) [teiid-common-core-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.core.util.Assertion.assertTrue(Assertion.java:60) [teiid-common-core-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.SortUtility.<init>(SortUtility.java:158) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.SortUtility.<init>(SortUtility.java:194) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.SourceState.sort(SourceState.java:287) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.MergeJoinStrategy.loadRight(MergeJoinStrategy.java:359) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:208) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:444) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:326) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:254) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214) [teiid-engine-8.9.0.Alpha2-SNAPSHOT.jar:8.9.0.Alpha2-SNAPSHOT]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_02]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_02]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
11 years, 3 months