Hi Glenn,

Thank you for your persistence.
I would really rather to have a test case for each patch I commit.

If patch writer don't do a test, I would do it myself, even if it means
the latency takes very long. A test case would ensure the quality
of a patch. But even more important, ensure other developers don't
create the same bug, or break the submitted feature in later time. If
anyone think that his patch being broken is not a concern, I would
think it is safe to assume his patch doesn't worthwhile to be
committed.

I would said Castor JDO is a pretty large project to be understood
as once. We need a good test suite to help developers and users
to ensure that the patch, modification or enhancement they're making
is working well with the rest of the project. I don't think it is a good
idea for the project that only 1 or 2 developer is able to review patches.
I think a test suite should give a reasonably good assurance.

I know many people don't like to write test cases, maybe some patch
writers even think that they're "scapegoat" to be asked a test case.
However, I will not feel guilty asking them numerous times for it.
Because when they bother to fix and submit a patch, it means they
need the patch themselves. It is very essential for themselves to take
action and keep what they need in the future by writing a test case or
two. I will shamelessly ask for test case whenever I have chance.



Thomas

-----Original Message-----
>From: Keith Visco [mailto:[EMAIL PROTECTED]]
>Sent: Monday, February 11, 2002 8:41 PM
>To: [EMAIL PROTECTED]
>Subject: Re: [castor-dev] parentheses in raw SQL statements
>
>
>Hi Glenn,
>
>I'd check it in myself, but I don't mess around with Castor JDO. Perhaps
>Thomas, Bruce or Ned (The JDO guys) can review your patch and commit it.
>
>Thanks,
>
>--Keith
>
>Glenn Nielsen wrote:
>>
>> I have posted several times a simple 1 line patch that fixes the
>> CALL SQL select parenthesis bug.  The most recent was last week.
>>
>> Here is is again, this patch was generated for the version in CVS
>> from last week.
>>
>> And even though I have submitted this patch numerous times, it
>> still isn't in CVS. :-(
>>
>> Regards,
>>
>> Glenn
>>
>> Jon Burford wrote:
>> >
>> > I hate to be a pest, but I have tried and tried to get Castor to pass
an SQL
>> > query through that contains parentheses without removing all text in
the
>> > parens, but it simply just does not happen.  Has no one else
experienced
>> > this problem?  If not, any suggestions at all as to what might be going
on?
>> > All my other SQL statements work just fine when I use the "CALL SQL"
method.
>> > Again, my example is:
>> >
>> > LQuery oql = db.getOQLQuery("CALL SQL select * from a where a.b =
(select
>> > MAX(x) from y) AS classA");
>> > OQLQueryImpl oqli = (OQLQueryImpl)oql;
>> > System.out.println("resulting SQL for Sybase is <"+oqli.getSQL()+">");
>> > QueryResults results = oql.execute();
>> >
>> > And I get the following output:
>> >
>> > resulting SQL for Sybase is <SQL select * from a where a.b = ()>
>> > com.sybase.jdbc2.jdbc.SybSQLException: Incorrect syntax near ')'.
>> >         at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2535)
>> >         at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:1916)
>> >         at
com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
>> >         at
com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:201)
>> >         at
com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:182)
>> >         at
com.sybase.jdbc2.jdbc.SybStatement.queryLoop(SybStatement.java:1455)
>> >         at
com.sybase.jdbc2.jdbc.SybStatement.executeQuery(SybStatement.java:1440)
>> >         at
>> >
com.sybase.jdbc2.jdbc.SybPreparedStatement.executeQuery(SybPreparedStatement
>> > .java:70)
>> >         at
>> >
org.exolab.castor.jdo.engine.SQLEngine$SQLQuery.execute(SQLEngine.java:1584)
>> >         at
>> >
org.exolab.castor.persist.TransactionContext.query(TransactionContext.java:6
>> > 68)
>> >         at
org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:458)
>> >         at
org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:405)
>> >         at AppFrameworkTest.main(AppFrameworkTest.java:35)
>> >
>> > I am not sure whether OQLQueryImpl.getSQL() returns exactly what is
being
>> > sent to the RDBMS (Sybase) or not, but if I take the SQL I print out
above
>> > and execute it in a Sybase ISQL shell, I get the same error.  So, it
seems
>> > like my raw SQL is getting parsed and modified before it gets sent to
>> > Sybase.  In particular, ANYTHING inside a pair of parentheses is
removed
>> > before the query is sent to Sybase.  Is there a work around for this or
a
>> > reason why this might be happening?  Is it possibly specific to the
Sybase
>> > implementation?  Has anyone else experienced this problem?  Basically,
we
>> > use the raw SQL interface quite a lot, and it is very limiting not to
be
>> > able to use parentheses in any of our raw SQL queries.  I appreciate
the
>> > link to the SQL example in the FAQ, but we have been using the "CALL
SQL"
>> > method of sending raw SQL for some time successfully.  The only
problems we
>> > have had is the parentheses issue.  Any help or insight on this problem
>> > would be much appreciated.  Does SQLEngine.createQuery or
>> > ParseTreeWalker.getQueryExpression modify the SQL when we use "CALL
SQL"?
>> >
>> > Thanks in advance, I love your work!
>> > Jon
>> >
>> > -----------------------------------------------------------
>> > If you wish to unsubscribe from this mailing, send mail to
>> > [EMAIL PROTECTED] with a subject of:
>> >         unsubscribe castor-dev
>>
>> --
>> ----------------------------------------------------------------------
>> Glenn Nielsen             [EMAIL PROTECTED] | /* Spelin donut madder    |
>> MOREnet System Programming               |  * if iz ina coment.      |
>> Missouri Research and Education Network  |  */                       |
>> ----------------------------------------------------------------------
>>
>>   -----------------------------------------------------------------------
-
>> Index: src/main/org/exolab/castor/jdo/engine/OQLQueryImpl.java
>> ===================================================================
>> RCS file:
/cvs/castor/castor/src/main/org/exolab/castor/jdo/engine/OQLQueryImpl.java,v
>> retrieving revision 1.67
>> diff -u -r1.67 OQLQueryImpl.java
>> --- src/main/org/exolab/castor/jdo/engine/OQLQueryImpl.java     11 Dec
2001 09:38:49 -0000      1.67
>> +++ src/main/org/exolab/castor/jdo/engine/OQLQueryImpl.java     9 Feb
2002 22:14:48 -0000
>> @@ -332,7 +332,7 @@
>>          sql = new StringBuffer();
>>          paramCnt = 0;
>>          _paramInfo = new Hashtable();
>> -        if ( leftParen < 0 && rightParen < 0 ) {
>> +        if ( oql.startsWith("CALL SQL") || (leftParen < 0 && rightParen
< 0) ) {
>>              sql.append( oql.substring( 5, as ) );
>>          } else {
>>              if ( ( leftParen < 0 && rightParen >= 0 )
>
>-----------------------------------------------------------
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
>        unsubscribe castor-dev
>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to