[
https://issues.apache.org/jira/browse/DERBY-6690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dag H. Wanvik updated DERBY-6690:
---------------------------------
Attachment: derby-6690.diff
Uploading patch [^derby-6690.diff] which makes this illegal by adding a check
in TableElementList#bindAndValidateGeneration. I had to add an acceptChildren
method to GenerationClauseNode for the visitor to reach down into the
generation clause. Added a test to OLAPTest#testBasicOperations for both CREATE
TABLE and ALTER TABLE ADD COLUMN.
Regressions passed.
> ROW_NUMBER should not be allowed in generation clause
> -----------------------------------------------------
>
> Key: DERBY-6690
> URL: https://issues.apache.org/jira/browse/DERBY-6690
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.10.2.0
> Reporter: Knut Anders Hatlen
> Attachments: derby-6690.diff
>
>
> The generation clause is allowed to have a call to the ROW_NUMBER function.
> But it fails when a new row is inserted. It should be disallowed in CREATE
> TABLE and ALTER TABLE ADD COLUMN.
> {noformat}
> ij> create table t (x int generated always as (row_number() over ()));
> 0 rows inserted/updated/deleted
> ij> insert into t values default;
> ERROR XJ001: Java exception: 'ASSERT FAILED cannot get interface without
> operand: org.apache.derby.shared.common.sanity.AssertFailure'.
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)