Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 27487 invoked from network); 11 May 2006 11:38:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 11 May 2006 11:38:26 -0000 Received: (qmail 83987 invoked by uid 500); 11 May 2006 11:38:22 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 83961 invoked by uid 500); 11 May 2006 11:38:22 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 83950 invoked by uid 99); 11 May 2006 11:38:22 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [63.208.196.171] (HELO outbound.mailhop.org) (63.208.196.171) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 May 2006 04:38:22 -0700 Received: from cpe-071-070-252-011.nc.res.rr.com ([71.70.252.11] helo=[192.168.1.2]) by outbound.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.51) id 1Fe9TJ-0005OS-NU for user@geronimo.apache.org; Thu, 11 May 2006 07:36:45 -0400 X-Mail-Handler: MailHop Outbound by DynDNS X-Originating-IP: 71.70.252.11 X-Report-Abuse-To: abuse@dyndns.com (see http://www.mailhop.org/outbound/abuse.html for abuse reporting information) X-MHO-User: hogndos Message-ID: <446321CC.9030406@hogstrom.org> Date: Thu, 11 May 2006 07:36:44 -0400 From: Matt Hogstrom User-Agent: Thunderbird 1.5.0.2 (Macintosh/20060308) MIME-Version: 1.0 To: user@geronimo.apache.org Subject: Re: ejb transaction exception..!! References: <4690875E336998438DF43A78B8E38CF2E4F578@BLRKECMSG01.ad.infosys.com> In-Reply-To: <4690875E336998438DF43A78B8E38CF2E4F578@BLRKECMSG01.ad.infosys.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I think that CASE as a performance optimization made sense in theory but the major databases do not support it in its current form. I think we can accomplish the same thing in TranQL with a more portable implementation. Santosh Koti wrote: > Thanks, Matt. > I referred ur earlier post & resolved it. > > By the way, in the same post (I guess, not sure) some people were > speaking about the 'CASE' & its importance in performance. > > What is ur stand on that ? (in future releases) > > Thanks for ur time, > > Santosh. > "Don't talk about yourself; it will be done when you leave. " > > > -----Original Message----- > From: Matt Hogstrom [mailto:matt@hogstrom.org] > Sent: Thursday, May 11, 2006 8:25 AM > To: user@geronimo.apache.org > Subject: Re: ejb transaction exception..!! > > The CASE syntax is a poor choice and we will address it. For DB2 and > Oracle there are alternate > syntax factories that are available. Here is a sample from the > DayTrader deployment plan. > > > > jdbc/TradeDataSource > > > com.tranql.sql.ejbcompiler.OracleEJBQLCompilerF > actory > > com.tranql.sql.oracle.OracleDBSyntaxFactory x-factory> > > This will generate code that is not using the CASE Statement > > > > Santosh Koti wrote: >> Hi Folks, >> >> >> >> I am facing a problem in running ejb based transaction. >> >> >> >> Here is stack trace for my exception (in parts): >> >> >> >> javax.ejb.TransactionRolledbackLocalException >> >> at >> > org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolic >> y.java:123) >> >> at >> > org.openejb.transaction.TransactionContextInterceptor.invoke(Transaction >> ContextInterceptor.java:80) >> >> at >> > org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor >> .java:82) >> >> at >> org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) >> >> ....... >> >> ....... >> >> >> >> Caused by: javax.ejb.EJBException: Error executing statement: UPDATE >> AccountDetails SET bankID = CASE WHEN ? THEN ? ELSE bank >> >> at >> > com.infosys.j2ee.setlbank.appservice.accounts.impl.AccountsInfoEJB.credi >> t(AccountsInfoEJB.java:322) >> >> >> >> ....... >> >> ....... >> >> Caused by: javax.ejb.FinderException: Error executing statement: > UPDATE >> AccountDetails SET bankID = CASE WHEN ? THEN >> >> at >> > org.openejb.entity.cmp.SingleValuedFinder.execute(SingleValuedFinder.jav >> a:83) >> >> at >> > org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java >> :72) >> >> at >> > org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(Compo >> nentContextInterceptor.java:56) >> >> ....... >> >> ....... >> >> >> >> Caused by: org.tranql.ql.QueryException: Error executing statement: >> UPDATE AccountDetails SET bankID = CASE WHEN ? THEN ? ELSE >> >> at >> > org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:69) >> at >> > org.tranql.cache.SimpleFlushStrategy.flush(SimpleFlushStrategy.java:64) >> >> >> >> >> Caused by: java.sql.SQLException: ORA-00920: invalid relational > operator >> ....... >> >> ....... >> >> >> >> at >> oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) >> >> at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) >> >> at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) >> >> >> >> >> >> >> >> I think the key word : 'CASE' is giving problem, because it is not > been >> recognized by Oracle during the execution of the query. >> >> >> >> But any ways to remove that , or can any1 suggest some workarounds >> which will be of great help...!! >> >> I tried many options , but no luck :-( >> >> Thanks, >> >> Santosh. >> >> "Don't talk about yourself; it will be done when you leave. " >> >> >> >> >> >> **************** CAUTION - Disclaimer ***************** >> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended > solely for the use of the addressee(s). If you are not the intended > recipient, please notify the sender by e-mail and delete the original > message. Further, you are not to copy, disclose, or distribute this > e-mail or its contents to any other person and any such actions are > unlawful. This e-mail may contain viruses. Infosys has taken every > reasonable precaution to minimize this risk, but is not liable for any > damage you may sustain as a result of any virus in this e-mail. You > should carry out your own virus checks before opening the e-mail or > attachment. Infosys reserves the right to monitor and review the content > of all messages sent to or from this e-mail address. Messages sent to or > from this e-mail address may be stored on the Infosys e-mail system. >> ***INFOSYS******** End of Disclaimer ********INFOSYS*** > > >