Author: sdumitriu
Date: 2007-12-14 14:15:37 +0100 (Fri, 14 Dec 2007)
New Revision: 6378
Modified:
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
Log:
XWIKI-1954: When migrating the document archive format from 1.1 to 1.2, delete
the contents of the old XWD_ARCHIVE field
Fixed. Merged from [EMAIL PROTECTED]
Modified:
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
===================================================================
---
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
2007-12-14 13:14:08 UTC (rev 6377)
+++
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
2007-12-14 13:15:37 UTC (rev 6378)
@@ -19,6 +19,7 @@
*/
package com.xpn.xwiki.store.migration.hibernate;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
@@ -88,7 +89,7 @@
Statement stmt = session.connection().createStatement();
ResultSet rs;
try {
- rs = stmt.executeQuery("select XWD_ID, XWD_ARCHIVE,
XWD_FULLNAME from xwikidoc");
+ rs = stmt.executeQuery("select XWD_ID, XWD_ARCHIVE,
XWD_FULLNAME from xwikidoc where XWD_ARCHIVE is not null order by XWD_VERSION");
} catch (SQLException e) {
// most likely there is no XWD_ARCHIVE column, so
migration is not needed
// is there easier way to find what column is not
exist?
@@ -97,6 +98,7 @@
Transaction originalTransaction =
((XWikiHibernateVersioningStore)context.getWiki().getVersioningStore()).getTransaction(context);
((XWikiHibernateVersioningStore)context.getWiki().getVersioningStore()).setSession(null,
context);
((XWikiHibernateVersioningStore)context.getWiki().getVersioningStore()).setTransaction(null,
context);
+ PreparedStatement deleleteStatement =
session.connection().prepareStatement("update xwikidoc set XWD_ARCHIVE=null
where XWD_ID=?");
while (rs.next()) {
if (logger.isInfoEnabled()) {
@@ -104,13 +106,13 @@
}
long docId = Long.parseLong(rs.getString(1));
String sArchive = rs.getString(2);
- if (sArchive==null) {
- continue;
- }
XWikiDocumentArchive docArchive = new
XWikiDocumentArchive(docId);
docArchive.setArchive(sArchive);
context.getWiki().getVersioningStore().saveXWikiDocArchive(docArchive, true,
context);
+ deleleteStatement.setLong(1, docId);
+ deleleteStatement.executeUpdate();
}
+ deleleteStatement.close();
stmt.close();
((XWikiHibernateVersioningStore)context.getWiki().getVersioningStore()).setSession(session,
context);
((XWikiHibernateVersioningStore)context.getWiki().getVersioningStore()).setTransaction(originalTransaction,
context);
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications