Thanks Armin, But, that was another problem. That was caused by below line in my code. query.addGroupBy("DATE_FORMAT(DATE, \"%Y/%m/%d\")"); # DATE_FORMAT() is mysql function
And SqlHelper.java: colName = betweenBraces.substring(colBegin + 1, colEnd); colBegin is created by.. colBegin = betweenBraces.indexOf(" "); So, colBegin will be 5 with aPath="DATE_FORMAT(DATE, \"%Y/%m/%d\")" . And colEnd indicates ","'s place. then colEnd is 4. SqlHelper will try substring with condition colBeling > colEnd. That is the problem. Just for me, removing white space from above query is enough. But I want you to fix it. I wanted to write a patch, but I don't know expected work of SqlHelper. Thanks. On Friday 06 February 2004 20:14, Armin Waibel wrote: > Hi, > > I think (but I'm not sure) this is fixed in CVS HEAD (not 1.0_branch). > See > http://www.mail-archive.com/ojb-user%40db.apache.org/msg07835.html > > regards, > Armin > > shivaken wrote: > > Hi, > > > > At imigrating to rc5 from rc4, I got StringIndexOutOfBoundsException. > > I read SqlHelper.java. But I couldn't find any wrong thing. > > > > Please help me. > > > > # I'm using J2sdk1.4.2_03, db-ojb-rc5 > > > > # I did > > Criteria criteria = new Criteria(); > > String[] columns = { "sum(TIME)" }; > > QueryByCriteria query = > > new ReportQueryByCriteria(Call.class, columns, criteria); > > query.addGroupBy("DATE_FORMAT(DATE, \"%Y/%m/%d\")"); > > > > # stack trace > > java.lang.StringIndexOutOfBoundsException: String index out of range: -2 > > at java.lang.String.substring(String.java:1444) > > at org.apache.ojb.broker.util.SqlHelper.splitPath(Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.getAttributeI\ > > nfo(Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.appendColName\ > > (Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.ensureColumns\ > > (Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.sql.SqlSelectStatement.getStatement\ > > (Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.getPrep\ > > aredSelectStatement(Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown\ > > Source) > > at > > org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown \ > > Source) > > at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown > > Source) at > > org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.<init>(Unknow\ > > n Source) > > at > > org.apache.ojb.broker.core.ReportRsIteratorFactoryImpl.createRsIterat\ > > or(Unknown Source) > > at > > org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQue\ > > ry(Unknown Source) > > at > > org.apache.ojb.broker.core.PersistenceBrokerImpl.getReportQueryIterat\ > > orFromQuery(Unknown Source) > > at > > org.apache.ojb.broker.core.PersistenceBrokerImpl.getReportQueryIterat\ > > orByQuery(Unknown Source) > > at > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.getReportQuery\ > > IteratorByQuery(Unknown Source) > > at > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.getReportQuery\ > > IteratorByQuery(Unknown Source) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- -- shivaken antshell: Ant command line front end http://www.antshell.org --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]