You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2007/06/27 20:28:25 UTC

[jira] Created: (OPENJPA-269) Informix doesn't support subselects or using table aliases in a delete statement.

Informix doesn't support subselects or using table aliases in a delete statement. 
----------------------------------------------------------------------------------

                 Key: OPENJPA-269
                 URL: https://issues.apache.org/jira/browse/OPENJPA-269
             Project: OpenJPA
          Issue Type: Bug
            Reporter: Michael Dick


Informix doesn't support using table aliases in a delete statement if you have an index on the table.  For example if we issue the SQL statement : 
"delete from quoteejb t0" a Syntax error will be thrown by the Informix JDBC driver. Whereas "delete from quoteejb" would work. 

This problem seems to be fixed by setting allowAliasInBulkClause to false in InformixDBDictionary. Another possibility is to check whether there is an index on the table, if no index is present we should be able to use the alias. I haven't verified whether that approach works though. 

A second problem occurred when we tried to issue the following statement : 
DELETE FROM holdingejb WHERE holdingID IN (SELECT DISTINCT t0.holdingID FROM holdingejb t0 WHERE (t0.ACCOUNT_ACCOUNTID IS NULL))

The second problem was resolved by setting supportsSubselect to false in InformixDBDictionary. 

In the current implementation when supportsSubselect is false we never check allowAliasInBulkClause so the first change might not be necessary. If the implementation changes we might run into the problem again, so I'd prefer to change both variables.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (OPENJPA-269) Informix doesn't support subselects or using table aliases in a delete statement.

Posted by "Michael Dick (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dick resolved OPENJPA-269.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.0.0
         Assignee: Michael Dick

> Informix doesn't support subselects or using table aliases in a delete statement. 
> ----------------------------------------------------------------------------------
>
>                 Key: OPENJPA-269
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-269
>             Project: OpenJPA
>          Issue Type: Bug
>            Reporter: Michael Dick
>            Assignee: Michael Dick
>             Fix For: 1.0.0
>
>
> Informix doesn't support using table aliases in a delete statement if you have an index on the table.  For example if we issue the SQL statement : 
> "delete from quoteejb t0" a Syntax error will be thrown by the Informix JDBC driver. Whereas "delete from quoteejb" would work. 
> This problem seems to be fixed by setting allowAliasInBulkClause to false in InformixDBDictionary. Another possibility is to check whether there is an index on the table, if no index is present we should be able to use the alias. I haven't verified whether that approach works though. 
> A second problem occurred when we tried to issue the following statement : 
> DELETE FROM holdingejb WHERE holdingID IN (SELECT DISTINCT t0.holdingID FROM holdingejb t0 WHERE (t0.ACCOUNT_ACCOUNTID IS NULL))
> The second problem was resolved by setting supportsSubselect to false in InformixDBDictionary. 
> In the current implementation when supportsSubselect is false we never check allowAliasInBulkClause so the first change might not be necessary. If the implementation changes we might run into the problem again, so I'd prefer to change both variables.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (OPENJPA-269) Informix doesn't support subselects or using table aliases in a delete statement.

Posted by "Michael Dick (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dick closed OPENJPA-269.
--------------------------------


> Informix doesn't support subselects or using table aliases in a delete statement. 
> ----------------------------------------------------------------------------------
>
>                 Key: OPENJPA-269
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-269
>             Project: OpenJPA
>          Issue Type: Bug
>            Reporter: Michael Dick
>            Assignee: Michael Dick
>             Fix For: 1.0.0
>
>
> Informix doesn't support using table aliases in a delete statement if you have an index on the table.  For example if we issue the SQL statement : 
> "delete from quoteejb t0" a Syntax error will be thrown by the Informix JDBC driver. Whereas "delete from quoteejb" would work. 
> This problem seems to be fixed by setting allowAliasInBulkClause to false in InformixDBDictionary. Another possibility is to check whether there is an index on the table, if no index is present we should be able to use the alias. I haven't verified whether that approach works though. 
> A second problem occurred when we tried to issue the following statement : 
> DELETE FROM holdingejb WHERE holdingID IN (SELECT DISTINCT t0.holdingID FROM holdingejb t0 WHERE (t0.ACCOUNT_ACCOUNTID IS NULL))
> The second problem was resolved by setting supportsSubselect to false in InformixDBDictionary. 
> In the current implementation when supportsSubselect is false we never check allowAliasInBulkClause so the first change might not be necessary. If the implementation changes we might run into the problem again, so I'd prefer to change both variables.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.