db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-6690) ROW_NUMBER should not be allowed in generation clause
Date Wed, 06 Aug 2014 22:13:13 GMT

     [ 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
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:
>            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

View raw message