[
https://issues.apache.org/jira/browse/DERBY-4433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773211#action_12773211
]
Knut Anders Hatlen commented on DERBY-4433:
-------------------------------------------
Before DERBY-1644, a PRN was inserted on top of SetOperatorNodes. Perhaps
reintroducing parts of the old code would help. The case DERBY-1644 solved by
removing the PRN, was a UnionNode that represented a multi-row VALUES clause.
I'll see if inserting a PRN for all SetOperatorNodes, except UnionNodes whose
tableConstructor() method returns true, solves this issue and at the same time
doesn't break the DERBY-1644 cases. If that works, the approach could be
extended to other node types as well, which may be helpful for DERBY-4 (both
removing the need for OrderByColumn.findNewPos() and solving the problem with
early evaluation of identity columns).
> Cannot insert from EXCEPT/INTERSECT when target table has more columns than
> the source
> --------------------------------------------------------------------------------------
>
> Key: DERBY-4433
> URL: https://issues.apache.org/jira/browse/DERBY-4433
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.6.0.0
> Reporter: Knut Anders Hatlen
>
> If an INSERT statement takes the rows to insert from an EXCEPT query or an
> INTERSECT query, the statement fails with "Column position 'X' out of range"
> if the target table contains more columns than the result returned from
> EXCEPT or INTERSECT.
> Example:
> ij> create table t (x int, y int);
> 0 rows inserted/updated/deleted
> ij> insert into t(x) select x from t except select x from t;
> ERROR 42X77: Column position '2' is out of range for the query expression.
> ij> insert into t(x) select x from t intersect select x from t;
> ERROR 42X77: Column position '2' is out of range for the query expression.
> The corresponding UNION query works:
> ij> insert into t(x) select x from t union select x from t;
> 0 rows inserted/updated/deleted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.