Recovery Log consistency check fails using Derby as the database
----------------------------------------------------------------

         Key: SEQUOIA-1029
         URL: https://forge.continuent.org/jira/browse/SEQUOIA-1029
     Project: Sequoia
        Type: Bug

  Components: Recovery Log  
    Versions: sequoia 2.10.11    
 Environment: JAVA 1.5.0_13
Solaris 10 SPARC
Derby 10.3.2.1
    Reporter: Nick Smith


The Recovery Log consistency check fails when using Derby as the database.

The consistency check SQL should use 'LIKE' instead of '=' as this databases
databases have different ways to interpret '=' on Strings.

i.e. the SQL in 
org.continuent.sequoia.controller.recoverylog.RecoveryLog.checkRecoveryLogConsistency()
should be :

      stmt = getDatabaseConnection().prepareStatement(
          "SELECT * FROM " + getLogTableName() + " WHERE "
              + getLogTableSqlColumnName() + " LIKE ? AND "
              + "transaction_id not in (SELECT transaction_id" + " FROM "
              + getLogTableName() + " WHERE " + getLogTableSqlColumnName()
              + " LIKE ? OR " + getLogTableSqlColumnName() + " LIKE ?) ");

instead of :

      stmt = getDatabaseConnection().prepareStatement(
          "SELECT * FROM " + getLogTableName() + " WHERE "
              + getLogTableSqlColumnName() + " LIKE ? AND "
              + "transaction_id not in (SELECT transaction_id" + " FROM "
              + getLogTableName() + " WHERE " + getLogTableSqlColumnName()
              + " = ? OR " + getLogTableSqlColumnName() + " = ?) ");

      stmt.setString(1, BEGIN + "%");
      stmt.setString(2, COMMIT);
      stmt.setString(3, ROLLBACK);

Please Note!

Derby also seems to unbearably slow performing the above SQL (at least with my 
recovery log configuration).


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

_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to