db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3570) Implement DETERMINISTIC keyword for procedures and functions
Date Tue, 23 Sep 2008 09:16:47 GMT

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

Rick Hillegas updated DERBY-3570:

    Attachment: derby-3570-01-aa-introduceDeterminismField.diff

Attaching derby-3570-01-aa-introduceDeterminismField.diff. This allocates a bit in RoutineAliasInfo
so that we can record whether a routine is deterministic. If this patch seems ok and is checked
in, then the actual persistent representation of this information can be changed. I believe
that Dan expressed an interest in reworking this (see the comments on the related DERBY-481
issue). Regression tests run cleanly for me. Touches the following files:

M      java/engine/org/apache/derby/catalog/types/RoutineAliasInfo.java

Allocates a bit out of the sqlAllowed field in order to record whether a routine is deterministic
and changes the constructors to allow callers to declare whether a routine is deterministic.
To rework the internal bits of this class, just look for the field sqlOptions.

M      java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java

Uses the new determinism-aware constructors of RoutineAliasInfo. All system procedures are
created as non-deterministic. All system functions are created as deterministic except for

M      java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java
M      java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj

All user-created routines are marked as the default right now, that is, as non-deterministic.

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

A small test which verifies that, by default, user-created routines are non-deterministic
and that all system procedures are non-deterministic.

> Implement DETERMINISTIC keyword for procedures and functions
> ------------------------------------------------------------
>                 Key: DERBY-3570
>                 URL: https://issues.apache.org/jira/browse/DERBY-3570
>             Project: Derby
>          Issue Type: New Feature
>          Components: SQL
>            Reporter: Rick Hillegas
>         Attachments: derby-3570-01-aa-introduceDeterminismField.diff
> We will need DETERMINISTIC functions when we implement generated columns (DERBY-481).
The syntax and behavior of the DETERMINISTIC keyword are defined in the functional spec attached
to DERBY-481.

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

View raw message