Sean Legassick wrote:
> 
> On Thu, Jun 29, 2000 at 09:09:04AM -0700, John McNally wrote:
> > I think that the transaction support should be general.  There is only one
> > column in Turbine, at the moment, that requires a transaction on one
> > database.  There should be a generic adaptor method supportsTransactions or
> > hasTransactions.  In the code that updates this column we check for support
> > and then use a transaction if it is ok.
> 
> If I understand you correctly, the problem with this is that it
> introduces the overhead of a transaction when reading/writing the object
> data column for *any* database that supports transactions, not just
> Postgres. This seems undesirable to me.
> 

Are you both saying that BasePeer should remain as it is in the last
patch I submitted, with transactions, but with no special code for large
object support? Then the large object hack should go in the higher level
peer class, but use a method on the db which says hasTransactions()? 
Also, I call your attintion to the fact that there already is database
specific code in the TurbineUserPeer: 

   168          if (
TurbineResources.getString("database.default.driver", "" )
   169              .startsWith("oracle") )
   170          {
   171              id = getNextId(SEQUENCE_NAME);
   172              criteria.add(VISITOR_ID, id);
   173              BasePeer.doInsert(criteria);
   174          }                          

If that's OK, we can also put code in there which calls the transaction
methods if:

TurbineResources.getString("database.default.driver", "" )
             .startsWith("org.postgres")

In any event, I think the BasePeer portion of the patch should be
applied, since it is generic support of transactions...

        -Nissim


------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to