Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 12404 invoked from network); 4 Dec 2008 02:28:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Dec 2008 02:28:05 -0000 Received: (qmail 49659 invoked by uid 500); 4 Dec 2008 02:28:17 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 49626 invoked by uid 500); 4 Dec 2008 02:28:17 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 49606 invoked by uid 99); 4 Dec 2008 02:28:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Dec 2008 18:28:17 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Dec 2008 02:26:56 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 38221234C2A1 for ; Wed, 3 Dec 2008 18:27:44 -0800 (PST) Message-ID: <615979937.1228357664214.JavaMail.jira@brutus> Date: Wed, 3 Dec 2008 18:27:44 -0800 (PST) From: "Fernando (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Created: (OPENJPA-812) slices: aggregate queries fail if any slice has empty results MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org slices: aggregate queries fail if any slice has empty results ------------------------------------------------------------- Key: OPENJPA-812 URL: https://issues.apache.org/jira/browse/OPENJPA-812 Project: OpenJPA Issue Type: Bug Components: kernel Affects Versions: 2.0.0 Reporter: Fernando Priority: Critical NPE when doing aggregate queries. I can only guess that it's because the results from a slice is null. Easy fix. I will attach a very small patch. 2008-12-03 18:14:13,348 [pool-2-thread-2] ERROR com.protrade.fanwars.base.services.FanwarsAppEventHandlerWorker - doRefreshTeamFanBasePoints: Trouble loading TeamFan: <> 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:582) at com.protrade.fandom.data.FandomCoreDAO.getTeamFanBasePointsCount(FandomCoreDAO.java:547) at com.protrade.fanwars.base.services.FanwarsAppEventHandlerWorker.doRefreshTeamFanBasePoints(FanwarsAppEventHandlerWorker.java:795) 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.lang.NullPointerException at org.apache.openjpa.slice.jdbc.UniqueResultObjectProvider.max(UniqueResultObjectProvider.java:126) at org.apache.openjpa.slice.jdbc.UniqueResultObjectProvider.next(UniqueResultObjectProvider.java:98) 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.