[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to TEIID30253 error
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4423?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4423:
---------------------------------------
If id is not unique, then marking it as a pk/unique won't work. So in general the only approach here would be to add pushdown support for the uuid function and just use:
id = uuid()
> update test.textagg_test_2 set id =(select uuid()) where id = 'xxxx'
Specifically for that case the workaround would be:
update test.textagg_test_2 set id =(with u (id) as (select uuid()) select id from u) where id = 'xxxx'
That will force a single value for the uuid function / subquery.
> UPDATE command with non-pushdown functions leads to TEIID30253 error
> --------------------------------------------------------------------
>
> Key: TEIID-4423
> URL: https://issues.jboss.org/browse/TEIID-4423
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
> teiid-9.0.3 on WildFly Full 9.0.2.Final
> Reporter: dalex dalex
> Assignee: Steven Hawkins
>
> Running the following queries:
> {code:sql}
> update test.textagg_test_2 set id =(select uuid());;
> {code}
> or
> {code:sql}
> update test.textagg_test_2 set id =(select rand());;
> {code}
> leads to the following errors:
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> and
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> though the following query:
> {code:sql}
> update test.textagg_test_2 set id =(select now());;
> {code}
> works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to TEIID30253 error
by dalex dalex (JIRA)
[ https://issues.jboss.org/browse/TEIID-4423?page=com.atlassian.jira.plugin... ]
dalex dalex commented on TEIID-4423:
------------------------------------
[~shawkins] 1. I played with the update without any special intent. But I can imagine such situation when we have many rows with the same uuid and want to update old uuid on new ones using the following query:
{code:sql}
update test.textagg_test_2 set id =(select uuid()) where id = 'xxxx';;
{code}
where 'xxxx' is some uuid which we would like to change.
2. Correct, in this case we have very simple table, without primary key.
> UPDATE command with non-pushdown functions leads to TEIID30253 error
> --------------------------------------------------------------------
>
> Key: TEIID-4423
> URL: https://issues.jboss.org/browse/TEIID-4423
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
> teiid-9.0.3 on WildFly Full 9.0.2.Final
> Reporter: dalex dalex
> Assignee: Steven Hawkins
>
> Running the following queries:
> {code:sql}
> update test.textagg_test_2 set id =(select uuid());;
> {code}
> or
> {code:sql}
> update test.textagg_test_2 set id =(select rand());;
> {code}
> leads to the following errors:
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> and
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> though the following query:
> {code:sql}
> update test.textagg_test_2 set id =(select now());;
> {code}
> works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4424) Error when factory overrides initCapabilities due WrappedConnection is what Teiid is passing
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4424?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4424:
----------------------------------
Fix Version/s: 9.1
9.0.4
Affects Version/s: 8.4
(was: 9.2)
> Error when factory overrides initCapabilities due WrappedConnection is what Teiid is passing
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-4424
> URL: https://issues.jboss.org/browse/TEIID-4424
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.4
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 9.1, 9.0.4
>
>
> The infinispan hotrod translator factory class is trying to override initCapabililties(Connection) but is seeing the following error on the server:
> 20:34:22,861 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue5) zLiKTbTSLJkH TEIID30019 Unexpected exception for request zLiKTbTSLJkH.0: java.lang.ClassCastException: org.teiid.resource.spi.WrappedConnection cannot be cast to org.teiid.translator.object.ObjectConnection
> at org.teiid.translator.infinispan.hotrod.InfinispanHotRodExecutionFactory.initCapabilities(InfinispanHotRodExecutionFactory.java:53)
> at org.teiid.dqp.internal.datamgr.ConnectorManager.buildCapabilities(ConnectorManager.java:186)
> at org.teiid.dqp.internal.datamgr.ConnectorManager.getCapabilities(ConnectorManager.java:163)
> at org.teiid.dqp.internal.process.CachedFinder.findCapabilities(CachedFinder.java:108)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to TEIID30253 error
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4423?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4423:
----------------------------------
Priority: Major (was: Blocker)
There are several things that come into play here.
now works while uuid does not because now is considered a command deterministic function, but uuid is non-deterministic. So Teiid is trying to give each id it's own UUID - that is your intent?
The next issue is that the update logic when it can't be pushed down looks to compensate by creating a procedure that will walk through affected rows and apply the update based upon the primary key. There is no primary key in this case correct?
> UPDATE command with non-pushdown functions leads to TEIID30253 error
> --------------------------------------------------------------------
>
> Key: TEIID-4423
> URL: https://issues.jboss.org/browse/TEIID-4423
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
> teiid-9.0.3 on WildFly Full 9.0.2.Final
> Reporter: dalex dalex
> Assignee: Steven Hawkins
>
> Running the following queries:
> {code:sql}
> update test.textagg_test_2 set id =(select uuid());;
> {code}
> or
> {code:sql}
> update test.textagg_test_2 set id =(select rand());;
> {code}
> leads to the following errors:
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> and
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> though the following query:
> {code:sql}
> update test.textagg_test_2 set id =(select now());;
> {code}
> works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4424) Error when factory overrides initCapabilities due WrappedConnection is what Teiid is passing
by Van Halbert (JIRA)
Van Halbert created TEIID-4424:
----------------------------------
Summary: Error when factory overrides initCapabilities due WrappedConnection is what Teiid is passing
Key: TEIID-4424
URL: https://issues.jboss.org/browse/TEIID-4424
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 9.2
Reporter: Van Halbert
Assignee: Steven Hawkins
Priority: Critical
The infinispan hotrod translator factory class is trying to override initCapabililties(Connection) but is seeing the following error on the server:
20:34:22,861 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue5) zLiKTbTSLJkH TEIID30019 Unexpected exception for request zLiKTbTSLJkH.0: java.lang.ClassCastException: org.teiid.resource.spi.WrappedConnection cannot be cast to org.teiid.translator.object.ObjectConnection
at org.teiid.translator.infinispan.hotrod.InfinispanHotRodExecutionFactory.initCapabilities(InfinispanHotRodExecutionFactory.java:53)
at org.teiid.dqp.internal.datamgr.ConnectorManager.buildCapabilities(ConnectorManager.java:186)
at org.teiid.dqp.internal.datamgr.ConnectorManager.getCapabilities(ConnectorManager.java:163)
at org.teiid.dqp.internal.process.CachedFinder.findCapabilities(CachedFinder.java:108)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to TEIID30253 error
by dalex dalex (JIRA)
[ https://issues.jboss.org/browse/TEIID-4423?page=com.atlassian.jira.plugin... ]
dalex dalex updated TEIID-4423:
-------------------------------
Summary: UPDATE command with non-pushdown functions leads to TEIID30253 error (was: UPDATE command with non-pushdown functions leads to error)
> UPDATE command with non-pushdown functions leads to TEIID30253 error
> --------------------------------------------------------------------
>
> Key: TEIID-4423
> URL: https://issues.jboss.org/browse/TEIID-4423
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
> teiid-9.0.3 on WildFly Full 9.0.2.Final
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Priority: Blocker
>
> Running the following queries:
> {code:sql}
> update test.textagg_test_2 set id =(select uuid());;
> {code}
> or
> {code:sql}
> update test.textagg_test_2 set id =(select rand());;
> {code}
> leads to the following errors:
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> and
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> though the following query:
> {code:sql}
> update test.textagg_test_2 set id =(select now());;
> {code}
> works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to error
by dalex dalex (JIRA)
dalex dalex created TEIID-4423:
----------------------------------
Summary: UPDATE command with non-pushdown functions leads to error
Key: TEIID-4423
URL: https://issues.jboss.org/browse/TEIID-4423
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.12.x
Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
teiid-9.0.3 on WildFly Full 9.0.2.Final
Reporter: dalex dalex
Assignee: Steven Hawkins
Priority: Blocker
Running the following queries:
{code:sql}
update test.textagg_test_2 set id =(select uuid());;
{code}
or
{code:sql}
update test.textagg_test_2 set id =(select rand());;
{code}
leads to the following errors:
{code}
TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
{code}
and
{code}
TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
{code}
though the following query:
{code:sql}
update test.textagg_test_2 set id =(select now());;
{code}
works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4421) Teiid Translator per source/version
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4421?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4421:
---------------------------------------
Can you elaborate on how the exact vdb configuration here? If the source names are different, then we already this should not occur.
> Teiid Translator per source/version
> -----------------------------------
>
> Key: TEIID-4421
> URL: https://issues.jboss.org/browse/TEIID-4421
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Mark Tawk
> Assignee: Steven Hawkins
>
> Teiid actually uses a single translator to connect to a single source/version. However in the case of translators that auto-configure to the given version it is expected to manage creating new instances when necessary.
> Case reproduced when connecting to 2 DBs, one on SQL Server 2012 and another on SQL Server 2008. The pagination SQL translation of SQL Server 2012 does not work on 2008.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-3825) Add a wildfly-swarm-teiid Fraction for running teiid as an uberjar
by Kylin Soong (JIRA)
[ https://issues.jboss.org/browse/TEIID-3825?page=com.atlassian.jira.plugin... ]
Kylin Soong updated TEIID-3825:
-------------------------------
Description:
Fractions within WildFly Swarm are roughly equivalent to subsystems within WildFly, we have teiid subsystem in Server mode, so I think a Fraction is necessary to run teiid with Swarm.
||Task||Status||Note||
|Teiid feature pack |Pending |in high priority, faction develop and modules generation depend on this |
|Config api |Done |N/A|
|Fraction Dev |Pending | this block on feature pack |
|Modules(translator and connector) |Pending |n/a |
|Examples and Documents |Pending |n/a |
was:Fractions within WildFly Swarm are roughly equivalent to subsystems within WildFly, we have teiid subsystem in Server mode, so I think a Fraction is necessary to run teiid with Swarm.
> Add a wildfly-swarm-teiid Fraction for running teiid as an uberjar
> ------------------------------------------------------------------
>
> Key: TEIID-3825
> URL: https://issues.jboss.org/browse/TEIID-3825
> Project: Teiid
> Issue Type: Feature Request
> Components: Embedded
> Affects Versions: 9.0
> Reporter: Kylin Soong
> Assignee: Kylin Soong
> Fix For: 9.x
>
>
> Fractions within WildFly Swarm are roughly equivalent to subsystems within WildFly, we have teiid subsystem in Server mode, so I think a Fraction is necessary to run teiid with Swarm.
> ||Task||Status||Note||
> |Teiid feature pack |Pending |in high priority, faction develop and modules generation depend on this |
> |Config api |Done |N/A|
> |Fraction Dev |Pending | this block on feature pack |
> |Modules(translator and connector) |Pending |n/a |
> |Examples and Documents |Pending |n/a |
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (TEIID-4404) Add a maven plugin which can start, stop teiid serrver
by Kylin Soong (JIRA)
[ https://issues.jboss.org/browse/TEIID-4404?page=com.atlassian.jira.plugin... ]
Kylin Soong closed TEIID-4404.
------------------------------
Resolution: Won't Do
Wildfly maven plugin add artifacts can be used to start and stop Teiid Server as below
{code}
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<executions>
<execution>
<id>start</id>
<goals>
<goal>start</goal>
</goals>
<phase>validate</phase>
<configuration>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid</artifactId>
<version>${version.teiid}</version>
<classifier>wildfly-server</classifier>
<packaging>zip</packaging>
<server-config>standalone-teiid.xml</server-config>
</configuration>
</execution>
<execution>
<id>stop</id>
<goals>
<goal>shutdown</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
{code}
> Add a maven plugin which can start, stop teiid serrver
> ------------------------------------------------------
>
> Key: TEIID-4404
> URL: https://issues.jboss.org/browse/TEIID-4404
> Project: Teiid
> Issue Type: Feature Request
> Components: Embedded
> Reporter: Kylin Soong
> Assignee: Kylin Soong
> Fix For: 9.1
>
>
> The wildfly maven plugin can start, stop wildfly server
> {code}
> <plugin>
> <groupId>org.wildfly.plugins</groupId>
> <artifactId>wildfly-maven-plugin</artifactId>
> <version>${version.org.wildfly.plugins.maven}</version>
> <executions>
> <execution>
> <id>start</id>
> <goals>
> <goal>start</goal>
> </goals>
> <phase>validate</phase>
> <configuration>
> <version>${version.wildfly}</version>
> <server-config>standalone-full-ha.xml</server-config>
> </configuration>
> </execution>
> <execution>
> <id>stop</id>
> <goals>
> <goal>shutdown</goal>
> </goals>
> <phase>package</phase>
> </execution>
> </executions>
> </plugin>
> {code}
> This Issue will add a teiid maven plugin, which can start, stop teiid server, in develop swarm teiid, generate config api [1] depend on runtime teiid server, add this will made swarm develop more automatic.
> [1] https://github.com/teiid/wildfly-swarm-teiid/tree/master/config-api
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months