openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pinaki Poddar (JIRA)" <j...@apache.org>
Subject [jira] Updated: (OPENJPA-799) slices: can not handle multiple projections in one query ( select count(*), max(fieldA) .......)
Date Sat, 20 Dec 2008 06:43:44 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Pinaki Poddar updated OPENJPA-799:
----------------------------------

    Component/s:     (was: kernel)
                 slice

> slices: can not handle multiple projections in one query ( select count(*), max(fieldA)
.......)
> ------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-799
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-799
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: slice
>    Affects Versions: 2.0.0
>            Reporter: Fernando
>            Assignee: Pinaki Poddar
>            Priority: Critical
>         Attachments: slices_aggregates.diff
>
>
> I got this exception while running my program, and eventually I figured out that the
existing UniqueResultObjectProvider that was doing the aggregation would loop through the
result sets, but would do it one per column.. (twice in my case), but it would not reset the
resultsets after each loop...
> I will look at just writing it from scratch (calling it AggregatingResultObjectProvider,
to be closer to what it actually does ).  I'll submit a patch soon.
> <openjpa-2.0.0-SNAPSHOT-r422266:721073M nonfatal user error> org.apache.openjpa.persistence.ArgumentException:
Failed to execute query "select count( this ), max( this.createTime ) from com.protrade.fandom.data.entities.CheerStatus
this  where this.teamFan = :p0 AND this.createTime > :p1 AND this.createTime <= :p2
AND this.points > 0". Check the query syntax for correctness. See nested exception for
details. 
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:857)
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779)
>         at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
>         at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:257)
>         at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:452)
>         at com.protrade.common.persistence.JPAUtil.execute(JPAUtil.java:181)
>         at com.protrade.common.persistence.JPAUtil.executeUnique(JPAUtil.java:162)
>         at com.protrade.common.persistence.JPADQuery.uniqueResult(JPADQuery.java:32)
>         at com.protrade.common.persistence.BaseRootDAOBase.runUniqueQueryNCS(BaseRootDAOBase.java:290)
>         at com.protrade.common.persistence.BaseDAOBase.runUniqueQueryNCS(BaseDAOBase.java:132)
>         at com.protrade.fandom.data.FandomCoreDAO.getCheerStatusCountLastDate(FandomCoreDAO.java:567)
>         at com.protrade.fandom.data.FandomCoreDAO.getTeamFanBasePointsCount(FandomCoreDAO.java:532)
>         at com.protrade.fanwars.base.services.FanwarsAppEventHandlerWorker.doRefreshTeamFanBasePoints(FanwarsAppEventHandlerWorker.java:794)
>         at com.protrade.fanwars.base.services.FanwarsAppEventHandler$11.run2(FanwarsAppEventHandler.java:270)
>         at com.protrade.fanwars.base.services.FanwarsAppEventHandler$FanwarsWorkerRunnable.run(FanwarsAppEventHandler.java:441)
>         at com.protrade.common.spring.OpenEMFilter$BindThreadRunnable.run(OpenEMFilter.java:129)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:65)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:168)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.sql.SQLException: After end of result set
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
>         at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815)
>         at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4725)
>         at org.apache.openjpa.lib.jdbc.DelegatingResultSet.getObject(DelegatingResultSet.java:266)
>         at org.apache.openjpa.jdbc.sql.DBDictionary.getObject(DBDictionary.java:756)
>         at org.apache.openjpa.jdbc.sql.ResultSetResult.getObjectInternal(ResultSetResult.java:445)
>         at org.apache.openjpa.jdbc.sql.AbstractResult.getObject(AbstractResult.java:689)
>         at org.apache.openjpa.jdbc.kernel.exps.UnaryOp.load(UnaryOp.java:116)
>         at org.apache.openjpa.jdbc.kernel.ProjectionResultObjectProvider.getResultObject(ProjectionResultObjectProvider.java:78)
>         at org.apache.openjpa.slice.jdbc.UniqueResultObjectProvider.next(UniqueResultObjectProvider.java:92)
>         at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1292)
>         at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1226)
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:995)
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848)
>         ... 23 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message