GitHub user zellerh opened a pull request:
https://github.com/apache/incubator-trafodion/pull/518
[TRAFODION-2021] Internal error on upsert with index
In this particular case, the extra nodes added by index maintenance
and the WHERE clause interacted in a way that caused some missing
characteristic inputs, leading to the generator error. The fix is to
add the required inputs not directly to the nodes, but as "outer
references" to the BindScope, so that they get added automatically to
any nodes created in that BindScope. Since the predicates get created
by a method called at a higher level, I also needed to add a "remote
control" feature for the BindScope of a MergeUpdate node.
Also: [TRAFODION-2026] Upsert fails on table with nullable key column.
When creating the predicate that links the target clustering key with
the corresponding source values, use "special nulls" semantics for
nullable key columns, so a comparesion NULL = NULL is allowed and
yields TRUE.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zellerh/incubator-trafodion bug/1910
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-trafodion/pull/518.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #518
----
commit 2459135a3ed27d68acc2350b0da4d64132f249a2
Author: Hans Zeller <[email protected]>
Date: 2016-06-02T21:28:44Z
[TRAFODION-2021] Internal error on upsert with index
In this particular case, the extra nodes added by index maintenance
and the WHERE clause interacted in a way that caused some missing
characteristic inputs, leading to the generator error. The fix is to
add the required inputs not directly to the nodes, but as "outer
references" to the BindScope, so that they get added automatically to
any nodes created in that BindScope. Since the predicates get created
by a method called at a higher level, I also needed to add a "remote
control" feature for the BindScope of a MergeUpdate node.
Also: [TRAFODION-2026] Upsert fails on table with nullable key column.
When creating the predicate that links the target clustering key with
the corresponding source values, use "special nulls" semantics for
nullable key columns, so a comparesion NULL = NULL is allowed and
yields TRUE.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---