[ 
https://issues.apache.org/jira/browse/DERBY-481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-481:
--------------------------------

    Attachment: derby-481-09-aa-dummyDefaults.diff

Attaching derby-481-09-aa-dummyDefaults.diff. This patch addresses a bug found 
by Dag: If you tried to poke the literal DEFAULT into a generated column using 
an INSERT without a target list (meaning all values in the row had to be 
specified), then we bombed trying to bind the generation clause prematurely.


Touches the following files:

M      java/engine/org/apache/derby/impl/sql/compile/ResultColumnList.java

At the point where we substitute default values for DEFAULT literals, we just 
substitute an untyped NULL for generation clauses. Later on, when we have 
enough context to bind the generation clauses, we replace these NULLs with the 
actual generation clauses.


M      
java/testing/org/apache/derbyTesting/functionTests/tests/lang/GeneratedColumnsTest.java

Tests for the problem case which Dag found.


> implement SQL generated columns
> -------------------------------
>
>                 Key: DERBY-481
>                 URL: https://issues.apache.org/jira/browse/DERBY-481
>             Project: Derby
>          Issue Type: New Feature
>          Components: SQL
>    Affects Versions: 10.0.2.1
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: derby-481-00-aa-prototype.diff, 
> derby-481-01-aa-catalog.diff, derby-481-02-aa-utilities.diff, 
> derby-481-03-aa-grammar.diff, derby-481-04-aa-insert.diff, 
> derby-481-05-aa-update.diff, derby-481-06-aa-genreferences.diff, 
> derby-481-07-aa-noSQLinRoutines.diff, derby-481-07-ab-noSQLinRoutines.diff, 
> derby-481-08-aa-castToDeclaredType.diff, derby-481-09-aa-dummyDefaults.diff, 
> GeneratedColumns.html
>
>
> Satheesh has pointed out that generated columns, a SQL 2003 feature, would 
> satisfy the performance requirements of Expression Indexes (bug 455). 
> Generated columns may not be as elegant as Expression Indexes, but they are 
> easier to implement. We would allow the following new kind of column 
> definition in CREATE TABLE and ALTER TABLE statements:
>     columnName GENERATED ALWAYS AS ( expression )
> If expression were an indexableExpression (as defined in bug 455), then we 
> could create indexes on it. There is no work for the optimizer to do here. 
> The Language merely has to compute the generated column at INSERT/UPDATE time.

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

Reply via email to