[JBoss JIRA] (TEIID-2317) Primitive byte and char arrays always converted to binary/clob representation
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2317?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2317.
---------------------------------
> Primitive byte and char arrays always converted to binary/clob representation
> -----------------------------------------------------------------------------
>
> Key: TEIID-2317
> URL: https://issues.jboss.org/browse/TEIID-2317
> Project: Teiid
> Issue Type: Enhancement
> Components: Connector API
> Affects Versions: 8.2
> Environment: Windows 7 x64
> Reporter: Stanley Roberts
> Assignee: Steven Hawkins
> Fix For: 8.3
>
> Original Estimate: 2 hours
> Remaining Estimate: 2 hours
>
> Teiid automatically converts char[] and byte[] to binary/clob representations as there are many cases where drivers return these values. That conversion is taking place however without consulting the target type. It would probably be better to delay this conversion for char[]/byte[] instances until an explicit cast is performed.
--
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
12 years, 10 months
[JBoss JIRA] (TEIID-2337) Source Hints documenation states source hints can be used in user and transformation queries
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2337?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2337.
---------------------------------
> Source Hints documenation states source hints can be used in user and transformation queries
> ---------------------------------------------------------------------------------------------
>
> Key: TEIID-2337
> URL: https://issues.jboss.org/browse/TEIID-2337
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Driver, Query Engine
> Affects Versions: 7.7.2, 8.2
> Reporter: Johnathon Lee
> Assignee: Johnathon Lee
>
> Per [1], 15.2.13.4 states that user queries can contain source hints.
> Using hints in transformations as follows [2], I can see the HINT being passed to source. Using a SQL client such as SQuirreL and the Teiid Driver the START USER COMMAND does not show the HINT being passed in.
> [1]
> https://access.redhat.com/knowledge/docs/en-US/JBoss_Enterprise_Data_Serv...
> [2]
> I have completed a few steps in order to verify the source hint can be passed along using a test vdb (bqt using SLNTDS08.mw.lab.eng.bos.redhat.com).
> Created a view (SourceView.SMALLA) with the transformation [1a]. Note that there seems to be an issue with designer recognizing the format of the hint in the SQL statement and discarding (which is why the /*+sh:'general hint' has been included). Note that "Source:" is the Source Name specified by the Translator (this can be seen when viewing the vdb in designer).
> Turned up the logging to trace for org.teiid in the logging subsystem [2a].
> Verified via the logging that the hint is being passed to the source system [3a]
> [1a]
> SELECT /*+sh:'general hint' Source:'FIRST_ROWS(10)' */
> *
> FROM
> Source.SmallA
> [2a]
> ...
> <logger category="org.teiid">
> <level name="TRACE"/>
> </logger>
> ...
> [3a]
> 8:54:01,592 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue6) Source-specific command: SELECT /*+ FIRST_ROWS(10) */ g_0.INTKEY FROM SMALLA g_0
> [3]
> 2012-12-31 08:48:20,413 DEBUG [org.teiid.COMMAND_LOG] (New I/O server worker #1-1) START USER COMMAND: startTime=2012-12-31 08:48:20.413 requestID=Rg1eL+X/XzJ3.5 txID=null sessionID=Rg1eL+X/XzJ3 applicationName=JDBC principal=admin@teiid-security vdbName=bqt vdbVersion=1 sql=SELECT
> *
> FROM
> Source.SmallA
--
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
12 years, 10 months
[JBoss JIRA] (TEIID-2358) NullPointer in EnhancedSortMergeJoinStrategy
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2358?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2358.
---------------------------------
> NullPointer in EnhancedSortMergeJoinStrategy
> --------------------------------------------
>
> Key: TEIID-2358
> URL: https://issues.jboss.org/browse/TEIID-2358
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.1
> Reporter: RAKESH BALGURI
> Assignee: Steven Hawkins
> Attachments: EnhancedSortMergeJoinStrategyTestCases_Updated.zip
>
>
> java.lang.NullPointerException
> at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy$SingleTupleSource.get(EnhancedSortMergeJoinStrategy.java:79)
> at org.teiid.query.processor.relational.ListNestedSortComparator.compare(ListNestedSortComparator.java:149)
> at org.teiid.query.processor.relational.ListNestedSortComparator.compare(ListNestedSortComparator.java:59)
> at java.util.Collections.indexedBinarySearch(Collections.java:377)
> at java.util.Collections.binarySearch(Collections.java:365)
> at org.teiid.common.buffer.SPage.search(SPage.java:140)
> at org.teiid.common.buffer.STree.find(STree.java:245)
> at org.teiid.common.buffer.TupleBrowser.setPage(TupleBrowser.java:144)
> at org.teiid.common.buffer.TupleBrowser.nextTuple(TupleBrowser.java:203)
> at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.process(EnhancedSortMergeJoinStrategy.java:377)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70)
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69)
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82)
> at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91)
> at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:149)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.UnionAllNode.nextBatchDirect(UnionAllNode.java:90)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
> at org.teiid.query.processor.relational.SourceState.getTupleBuffer(SourceState.java:174)
> at org.teiid.query.processor.relational.SourceState.getRowCount(SourceState.java:127)
> at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.shouldIndex(EnhancedSortMergeJoinStrategy.java:306)
> at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.loadRight(EnhancedSortMergeJoinStrategy.java:253)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:198)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70)
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69)
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82)
> at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91)
> at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:149)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.UnionAllNode.nextBatchDirect(UnionAllNode.java:90)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.BatchCollector$BatchProducerTupleSource.nextTuple(BatchCollector.java:89)
> at org.teiid.query.processor.relational.GroupingNode.groupPhase(GroupingNode.java:374)
> at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:318)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
> at org.teiid.query.processor.relational.SourceState.getTupleBuffer(SourceState.java:174)
> at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.loadLeft(EnhancedSortMergeJoinStrategy.java:229)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:186)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:148)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> ... 8 more
--
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
12 years, 10 months
[JBoss JIRA] (TEIID-2511) NullPointerException in JDBCExecutionFactory.getDatabaseCalendar()
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2511?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2511.
---------------------------------
> NullPointerException in JDBCExecutionFactory.getDatabaseCalendar()
> ------------------------------------------------------------------
>
> Key: TEIID-2511
> URL: https://issues.jboss.org/browse/TEIID-2511
> Project: Teiid
> Issue Type: Bug
> Components: Embedded
> Affects Versions: 8.1
> Reporter: RAKESH BALGURI
> Assignee: Steven Hawkins
> Attachments: TestNullPointerExceptionGetDatabaseCalendar.java
>
>
> We are getting NPE in JDBCExecutionFactory.getDatabaseCalendar() when running using the Embedded Teiid Connection.
> SEVERE: Connector worker process failed for atomic-request=mAIqLopt6urZ.0.0.0
> java.lang.NullPointerException
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getDatabaseCalendar(JDBCExecutionFactory.java:468)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.retrieveValue(JDBCExecutionFactory.java:903)
> at org.teiid.translator.jdbc.JDBCQueryExecution.next(JDBCQueryExecution.java:101)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleBatch(ConnectorWorkItem.java:316)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.more(ConnectorWorkItem.java:141)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:428)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:270)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:279)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:148)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219)
> at org.teiid.dqp.internal.process.DQPCore.executeRequest(DQPCore.java:386)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:131)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:233)
> at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:129)
> at $Proxy12.executeRequest(Unknown Source)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:631)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:506)
> at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:327)
> at testcase.TestNullPointerExceptionGetDatabaseCalendar.testNullPointer(TestNullPointerExceptionGetDatabaseCalendar.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
--
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
12 years, 10 months
[JBoss JIRA] (TEIID-1648) Reading CLOB's from Teradata has issues and produces exception when stream is read from a different thread than what the clob was read from the resultset
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-1648?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-1648.
---------------------------------
> Reading CLOB's from Teradata has issues and produces exception when stream is read from a different thread than what the clob was read from the resultset
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-1648
> URL: https://issues.jboss.org/browse/TEIID-1648
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 7.4.1
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Critical
> Attachments: JDBCQueryServlet.java
>
>
> The initial problem was seen when running BQT testing against the teradata source. However, when debugging, the exception was occurring on the initial client read of the stream. After reading teradata jdbc driver doc, it talks about how its not thread safe and has issues when different threads are handling blobs/clobs. Which lead me to do a simple client test. 2 tests where run run thru a servlet that obtains the teradata connenction via jndi. Thet are as follows (attached is the sample code after the changes used for #2):
> 1. simple execute/select: execute select intkey, objectvalue from bqt1.smalla, for each row, obtain the clob and read the stream (no exception is seen)
> 2. execute select and read clob in a different thread: a new thread is created, passing in the clob, thread is started and then proceeds to try to read the stream, exceptions are seen
> I'll attach the sample code.
--
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
12 years, 10 months
[JBoss JIRA] (TEIID-2324) Error message is misleading when the model is not updatable, but an update is issued against it
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2324?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2324.
---------------------------------
> Error message is misleading when the model is not updatable, but an update is issued against it
> -----------------------------------------------------------------------------------------------
>
> Key: TEIID-2324
> URL: https://issues.jboss.org/browse/TEIID-2324
> Project: Teiid
> Issue Type: Enhancement
> Components: Server
> Affects Versions: 7.7.1
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Minor
>
> When trying to issue an update against a table that didn't have the updatable flag enabled, the following error occurred:
> Error Code:ERR.015.008.0009 Message:Remote org.teiid.api.exception.query.QueryResolverException: Error Code:ERR.015.008.0009 Message:Update is not allowed on the view US_CustomerAccounts_VBL.customer: a procedure must be defined to handle the Update.
> Is it possible to change the message such that it indicates the table isn't updatable?
--
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
12 years, 10 months
[JBoss JIRA] (TEIID-2061) Allow for object type equality
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2061?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2061.
---------------------------------
> Allow for object type equality
> ------------------------------
>
> Key: TEIID-2061
> URL: https://issues.jboss.org/browse/TEIID-2061
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.1
>
>
> Allowing for object type equality would allow for the use of object values as keys. Allowing for full comparability could be done as well, but would result in runtime errors if mixed values are used or if the type is not comparable.
> Note that we could alternatively choose to represent object values as their serialized byte[] values, in which case compatibility is implied. However that is still not the natural compare ordering nor does it account for method based equality vs. identical serialized bytes.
--
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
12 years, 10 months