ozeigermann    2004/12/10 04:52:09

  Modified:    src/stores/org/apache/slide/store/impl/rdbms
                        SQLServerRDBMSAdapter.java MySqlRDBMSAdapter.java
                        PostgresRDBMSAdapter.java
  Log:
  Added support repeat of conflicting transactions to
  SQL Server and
  PostgreSQL store.
  
  Revision  Changes    Path
  1.8       +9 -6      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/SQLServerRDBMSAdapter.java
  
  Index: SQLServerRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/SQLServerRDBMSAdapter.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SQLServerRDBMSAdapter.java        10 Aug 2004 10:14:16 -0000      1.7
  +++ SQLServerRDBMSAdapter.java        10 Dec 2004 12:52:08 -0000      1.8
  @@ -36,6 +36,7 @@
   import org.apache.slide.content.NodeRevisionDescriptor;
   import org.apache.slide.content.RevisionDescriptorNotFoundException;
   import org.apache.slide.macro.ConflictException;
  +import org.apache.slide.store.ConcurrencyConflictException;
   import org.apache.slide.util.logger.Logger;
   
   /**
  @@ -61,12 +62,14 @@
           switch (e.getErrorCode()) {
               case 1205 : // thread was deadlock victim
                   getLogger().log(e.getErrorCode() + ": Deadlock resolved on " 
+ uri, LOG_CHANNEL, Logger.WARNING);
  -                return new ServiceAccessException(service, new 
ConflictException(uri));
  +//                return new ServiceAccessException(service, new 
ConflictException(uri));
  +                throw new ConcurrencyConflictException(e, uri);
   
               case 547 : // referential integraty constaint was violated (like 
in storeObject on table URI )
               case 2627 : // primary key constraint violation (like in 
storeContent on table VERSION_CONTENT)
                   getLogger().log(e.getErrorCode() + ": Low isolation conflict 
for " + uri, LOG_CHANNEL, Logger.WARNING);
  -                return new ServiceAccessException(service, new 
ConflictException(uri));
  +//                return new ServiceAccessException(service, new 
ConflictException(uri));
  +                throw new ConcurrencyConflictException(e, uri);
   
               default :
                   getLogger().log(
  
  
  
  1.12      +5 -5      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/MySqlRDBMSAdapter.java
  
  Index: MySqlRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/MySqlRDBMSAdapter.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- MySqlRDBMSAdapter.java    7 Dec 2004 17:03:02 -0000       1.11
  +++ MySqlRDBMSAdapter.java    10 Dec 2004 12:52:08 -0000      1.12
  @@ -62,8 +62,8 @@
           switch (e.getErrorCode()) {
               case 1213 : // thread was deadlock victim
                   getLogger().log(e.getErrorCode() + ": Deadlock resolved on " 
+ uri, LOG_CHANNEL, Logger.WARNING);
  +//              return new ServiceAccessException(this, new 
ConflictException(uri));
                   throw new ConcurrencyConflictException(e, uri);
  -//              throw new ServiceAccessException(this, new 
ConflictException(uri));
   
               default :
                   getLogger().log(
  
  
  
  1.13      +10 -6     
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/PostgresRDBMSAdapter.java
  
  Index: PostgresRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/PostgresRDBMSAdapter.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PostgresRDBMSAdapter.java 5 Oct 2004 20:53:31 -0000       1.12
  +++ PostgresRDBMSAdapter.java 10 Dec 2004 12:52:08 -0000      1.13
  @@ -37,6 +37,7 @@
   import org.apache.slide.lock.NodeLock;
   import org.apache.slide.macro.ConflictException;
   import org.apache.slide.security.NodePermission;
  +import org.apache.slide.store.ConcurrencyConflictException;
   import org.apache.slide.structure.ObjectNode;
   import org.apache.slide.structure.ObjectNotFoundException;
   import org.apache.slide.util.logger.Logger;
  @@ -320,13 +321,16 @@
               if (sqlstate.startsWith("23")) {
                   getLogger().log(e.getErrorCode() + ": Deadlock resolved on " 
+ uri,
                       LOG_CHANNEL, Logger.WARNING);
  -                return new ServiceAccessException(service, new 
ConflictException(uri));
  +//                return new ServiceAccessException(service, new 
ConflictException(uri));
  +                throw new ConcurrencyConflictException(e, uri);
  +
               } else if (sqlstate.startsWith("40")) {
                   getLogger().log(
                       e.getErrorCode() + ": Deadlock resolved on " + uri,
                       LOG_CHANNEL,
                       Logger.WARNING);
  -                return new ServiceAccessException(service, new 
ConflictException(uri));
  +//                return new ServiceAccessException(service, new 
ConflictException(uri));
  +                throw new ConcurrencyConflictException(e, uri);
               } else {
                   getLogger().log(
                       "SQL error "
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to