Sybase does not support "select for update".

Standard SQL dictates (and Sybase supports) a "select at serializable"
mechanism which will change the isolation level on the transaction to
serializable. 

Of course, Oracle does not support serializable isolation.

-jim

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]] On 
> Behalf Of David Budworth
> Sent: Saturday, November 24, 2001 1:22 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [JBoss-dev] what DBMS's support select for update?
> 
> 
> I would totally disagree with you on this one.
> 
> select for update is the only way (AFAIK) to ensure DB 
> consistency in a multi host web environment.
> 
> example: Load balances web servers, client clicks "submit" 
> twice, sending the request to 2 different web hosts.  If 
> select for update is not used, each host will step on the 
> other.  This is partly why poorly coded ecomerce sites end up 
> double charging credit cards.
> 
> As for performance, I'm not sure how MySQL implements this, 
> but in Oracle, you get a performance boost, since any row 
> that was "select for update" enabled, remains in cache, so 
> updates to it are quicker, since the row(s) in questions, are 
> already bound to the session, and no lookup is required.  
> 
> It does, however, place a slight resource drain on your DB if 
> you use it 100% of the time, but rarely make updates.
> 
> But since EJB has no concept of "open read/write" vs. "open 
> readonly" (unless you deploy the bean twice with different 
> descriptors), you don't really get much of a choice.
> 
> In a clustered situation you could make sure no two app 
> servers are using the same bean at the same time, but that's 
> much more expensive than using select for update.  Plus, I 
> can't imagine any real enterprise application being the only 
> accessor of the DB.  Other apps (ie CRM systems), use select 
> for update to play nice with eachother and avoid dirty writes.
> 
> It does add some work for the DBA, since they are usually the 
> only ones that can tell you why your code keeps locking up 
> (like, server 1 locks on submit, because server2 decided to 
> select for update and then go into an infinite loop).  But 
> that is far easier than trying to figure out why, every time 
> you click submit, your data doesn't store, even though you 
> server.log shows the update happening.
> 
> Not using it would be acceptable if there was only one 
> process talking to the db.
> 
> Just my opinion.
> 
> -David
> 
> 
> On Sat, 24 Nov 2001, Ignacio Coloma wrote:
> 
> > MySQL does too.
> > 
> > SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] 
> > [SQL_BUFFER_RESULT]
> >        [HIGH_PRIORITY]
> >        [DISTINCT | DISTINCTROW | ALL]
> >     select_expression,...
> >     [INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
> >     [FROM table_references
> >         [WHERE where_definition]
> >         [GROUP BY {unsigned_integer | col_name | formula} 
> [ASC | DESC], ...]
> >         [HAVING where_definition]
> >         [ORDER BY {unsigned_integer | col_name | formula} 
> [ASC | DESC] ,...]
> >         [LIMIT [offset,] rows]
> >         [PROCEDURE procedure_name]
> >         [FOR UPDATE | LOCK IN SHARE MODE]]
> > 
> > My personal feelings about it:
> > (a) IIRC it's SQL-92 standard
> > (b) I would never recommend using it, even less in a web-enabled 
> > system. It degrades performance and you have to be aware about 
> > administration issues such as row-level locking and autogenerated 
> > keys.
> > 
> > Of course, it also supports this even with the new 
> transaction-aware 
> > table types (InnoDB et al).
> > 
> > Ignacio.
> > 
> > > -----Mensaje original-----
> > > De: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED]]En 
> nombre de 
> > > David Jencks Enviado el: sábado, 24 de noviembre de 2001 5:08
> > > Para: [EMAIL PROTECTED]
> > > CC: Jboss-User @ Lists . Sourceforge . Net; 
> Jboss-Development @ Lists .
> > > Sourceforge . Net
> > > Asunto: Re: [JBoss-dev] what DBMS's support select for update?
> > >
> > >
> > > Firebird/interbase supports select for update. I don't know much 
> > > about it. The documentation I found says:
> > >
> > > syntax... at the end of select statement,
> > >
> > > [FOR UPDATE [OF col [, col...]]]
> > >
> > > FOR UPDATE specifies columns listed after the SELECT cluase of a 
> > > DECLARE CURSOR statement that can be updated using a 
> WHERE CURRENT 
> > > OF clause.
> > >
> > > I don't know if the interclient driver supports this.  If 
> it doesn't 
> > > work yet, I'd want to add something appropriate to the jca-jdbc 
> > > driver. How do you use this stuff?
> > >
> > > david jencks
> > > \
> > > On 2001.11.23 23:05:05 -0500 Bill Burke wrote:
> > > > Oracle does,
> > > >
> > > > What about Informix, Sybase, Postgres, MySQL, HypersonicSQL, 
> > > > etc....Who knows the syntax for this on these platforms too?  
> > > > Thanks in advance.
> > > >
> > > >
> > > > Bill
> > > >
> > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
> > > > <HTML><HEAD> <META http-equiv=Content-Type content="text/html; 
> > > > charset=iso-8859-1"> <META content="MSHTML 5.50.4807.2300" 
> > > > name=GENERATOR></HEAD> <BODY>
> > > > <DIV><SPAN class=750430304-24112001><FONT face=Arial 
> size=2>Oracle
> > > > does,</FONT></SPAN></DIV>
> > > > <DIV><SPAN class=750430304-24112001><FONT face=Arial
> > > > size=2></FONT></SPAN>&nbsp;</DIV>
> > > > <DIV><SPAN class=750430304-24112001><FONT face=Arial 
> size=2>What about
> > > > Informix,
> > > > Sybase, Postgres, MySQL, HypersonicSQL, etc....Who 
> knows the syntax for
> > > > this on
> > > > these platforms too?&nbsp; Thanks in 
> advance.</FONT></SPAN></DIV>
> > > > <DIV><SPAN class=750430304-24112001><FONT face=Arial
> > > > size=2></FONT></SPAN>&nbsp;</DIV>
> > > > <DIV><SPAN class=750430304-24112001><FONT face=Arial
> > > > size=2></FONT></SPAN>&nbsp;</DIV>
> > > > <DIV><SPAN class=750430304-24112001><FONT face=Arial
> > > > size=2>Bill</FONT></SPAN></DIV></BODY></HTML>
> > > >
> > >
> > > _______________________________________________
> > > Jboss-development mailing list 
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/jboss-development
> > >
> > >
> > 
> > 
> > _______________________________________________
> > Jboss-development mailing list 
> [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> _______________________________________________
> Jboss-development mailing list [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to