[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5371) Add support for REVEND_TSTMP which will enable SQL table partitioning by time

Erik-Berndt Scheper (JIRA) noreply at atlassian.com
Wed Sep 8 05:03:19 EDT 2010


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=38328#action_38328 ] 

Erik-Berndt Scheper commented on HHH-5371:
------------------------------------------

And with regard to the rationale behind this functionality:

Partitioning offers a lot of advantages, including:
* Improved query performance by selectively moving rows to various partitions (or even purging old rows)
* Faster data loads, index creation, etc. 

See for example: 
* The Oracle partitioning manual (http://download.oracle.com/docs/cd/B10500_01/server.920/a96524/c12parti.htm)
* IBM DB2 400 manual (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/dbmult/partitionedtables.htm)


Without this patch it is _impossible_ to partition audit tables, because a table can only be partitioned using a column _*inside*_ the table.
I.e. you cannot create a partition based on the join of the end-revision column (of the audit table) with the timestamp of the revision table.
(even though this technically results in the same value).

Note: the test in the revised patch does verify that the end-revision-timestamp has the same value as the timestamp of the corresponding row in the revision table.


> Add support for REVEND_TSTMP which will enable SQL table partitioning by time
> -----------------------------------------------------------------------------
>
>                 Key: HHH-5371
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5371
>             Project: Hibernate Core
>          Issue Type: New Feature
>          Components: envers
>    Affects Versions: 3.6.0.Beta1
>            Reporter: Matthew B. Jones
>            Assignee: Adam Warski
>         Attachments: HHH-5371-revend_tstmp-documentation-20100908.patch, HHH-5371-revend_tstmp-revised-20100908.patch, revend_tstmp.txt
>
>
> There is strong desire to be able to purge old records out of a relational database by using table partitioning. In order to partition a table, you need to partition it on a column that exists within the table. So, in order to partition the _AUD tables by expired time, the timestamp of REVEND must be present within the table.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list