[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