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

Rick Hillegas updated DERBY-3155:
---------------------------------

    Attachment: derby-3155-03-af-backingStoreHashtableWithRowLocation.diff

Attaching derby-3155-04-ab-deleteClauseNoStore.diff. This patch incorporates 
Mike's review comments. I have run SpillHashTest as is and also with some dummy 
code which forces backing hash tables to always include RowLocations. I am 
running the full tests now.

This patch makes the following changes to the previous rev. Most of these 
changes are in BackingStoreHashtable:

1) Observes an 80 character line limit.

2) Regularizes the formatting of "if" statements: Consequents are always 
enclosed in curly braces. Consequents no longer appear on the same line as the 
"if" condition. The occasional form "if(" is replaced with "if (".

3) The makeHashValue() method has been eliminated. Its code has been inlined in 
the two places where it was called.

4) Extra comments have been added. In particular, comments have been added to 
point out that RowLocations are not currently supported for RowSource-based 
hash tables. Also, comments have been added to the elements() and get() 
methods, explaining what kind of returned Objects the caller must expect.


Touches the same files as the previous rev of the patch.


> Support for SQL:2003 MERGE statement
> ------------------------------------
>
>                 Key: DERBY-3155
>                 URL: https://issues.apache.org/jira/browse/DERBY-3155
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Trejkaz
>            Assignee: Rick Hillegas
>              Labels: derby_triage10_10
>         Attachments: derby-3155-01-ac-grammar.diff, 
> derby-3155-02-ag-fixParserWarning.diff, 
> derby-3155-03-ae-backingStoreHashtableWithRowLocation.diff, 
> derby-3155-03-af-backingStoreHashtableWithRowLocation.diff, 
> MergeStatement.html, MergeStatement.html, MergeStatement.html
>
>
> A relatively common piece of logic in a database application is to check for 
> a row's existence and then either update or insert depending on its existence.
> SQL:2003 added a MERGE statement to perform this operation.  It looks like 
> this:
>     MERGE INTO table_name USING table_name ON (condition)
>     WHEN MATCHED THEN UPDATE SET column1 = value1 [, column2 = value2 ...]
>     WHEN NOT MATCHED THEN INSERT column1 [, column2 ...] VALUES (value1 [, 
> value2 ...]) 
> At the moment, the only workaround for this would be to write a stored 
> procedure to do the same operation, or to implement the logic client-side.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to