Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 8690 invoked from network); 3 Sep 2010 17:58:51 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 3 Sep 2010 17:58:51 -0000 Received: (qmail 76603 invoked by uid 500); 3 Sep 2010 17:58:51 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 76558 invoked by uid 500); 3 Sep 2010 17:58:50 -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 76550 invoked by uid 99); 3 Sep 2010 17:58:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Sep 2010 17:58:50 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [68.142.237.92] (HELO n7.bullet.re3.yahoo.com) (68.142.237.92) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 03 Sep 2010 17:58:42 +0000 Received: from [68.142.237.87] by n7.bullet.re3.yahoo.com with NNFMP; 03 Sep 2010 17:58:21 -0000 Received: from [66.196.97.152] by t3.bullet.re3.yahoo.com with NNFMP; 03 Sep 2010 17:58:20 -0000 Received: from [127.0.0.1] by omp205.mail.re3.yahoo.com with NNFMP; 03 Sep 2010 17:58:20 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 911099.31294.bm@omp205.mail.re3.yahoo.com Received: (qmail 6167 invoked by uid 60001); 3 Sep 2010 17:58:20 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1283536700; bh=VRe5DusA/U2L+TMU5oWj/wZbn6/GoxY72qbrmQuIFPE=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=PDlIMBnd0qlFVOyYIAFiENLBpYeOtUojam0aK6Zbq/LFuiiiObj+yaoGbBTXxcKEmpWgdNbDVJXQVWkOw0ztYXR3vsOsHSS79i6kCzJaO0XsrzbAEX5eoiXZPHqVZYqbcohEoEgz6Bp3klqd9gsYinlsLtbdY8EsULRGmBUYWys= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=tcVIJhYvdYhYD6yU2pHb57zHzcPfVfgV7k/ujbC5PpEMDmImL3t5HifmeJ3dRrgH2jGtWsVO6zim2aYUCopIw08twpCVMQfXq9yYrDOmdz7GPGfPIdmSxiyQu9qTK/4fRFhEE/IcNJMgjk0qR6CHKl19RCTzR0X21rU6QmY/Exc=; Message-ID: <777676.6097.qm@web55904.mail.re3.yahoo.com> X-YMail-OSG: u80EwL8VM1m3hS0udL2rpD0YHaJ15Ug.ucpbwAS2_UwwzY5 9HHTF7XrQfeNZGOBJtznWytdWUb238Pe4UdsIYzb9pfKQ940geiLyw2n37p6 GMWf.nORsugbDOhiD5eBkFMVkOasag1N4NgWFBSX8eGJJrjqWaN1ku86cq6M VhiaEvfIrcO5G9I0TSOGMJt8F7QT3UecuWSgo_8quDDwwCNUBCNEvcibnVgB 4LFyXlDl_o2o6ASm_x3b3aAvR1CGDwPcYehSljwFudgzfwp08UTE2q.al4fn 4OpP.2Df9UUL3PR89w88rVFAddnqCFeVJ5Fe.SPuC Received: from [32.97.110.64] by web55904.mail.re3.yahoo.com via HTTP; Fri, 03 Sep 2010 10:58:20 PDT X-Mailer: YahooMailRC/470 YahooMailWebService/0.8.105.279950 References: <14782448.8451283504013284.JavaMail.jira@thor> Date: Fri, 3 Sep 2010 10:58:20 -0700 (PDT) From: Fay Wang Subject: Re: [jira] Updated: (OPENJPA-1781) OpenJPA 2.0 supports count(*) or not? To: dev@openjpa.apache.org In-Reply-To: <14782448.8451283504013284.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii According to JIRA-1440, you might want to add the following property to persistence.xml to fix the count(*) problem: ----- Original Message ---- From: Kai Feng Zhang (JIRA) To: dev@openjpa.apache.org Sent: Fri, September 3, 2010 1:53:33 AM Subject: [jira] Updated: (OPENJPA-1781) OpenJPA 2.0 supports count(*) or not? [ https://issues.apache.org/jira/browse/OPENJPA-1781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kai Feng Zhang updated OPENJPA-1781: ------------------------------------ Description: Today I encountered a jpql parse exception thrown from openjpa 2.0. I searched here and found some links talking about count(*), but seems 2.0 still has such issue. https://issues.apache.org/jira/browse/OPENJPA-566 https://issues.apache.org/jira/browse/OPENJPA-1440 My select statement is: "select count(*) from PersonDb p where p.objectId in (select f.friend.objectId from PersonDb p, FriendDb f where p.objectId = f.person.objectId and p.id in (?1)) ". In JPQLParser.java, it will parse this jpql, and then throw exception: public Object parse(String ql, ExpressionStoreQuery query) { if (query.getContext().getParameterDeclaration() != null) throw new UserException(_loc.get("param-decs-invalid")); try { return new JPQLExpressionBuilder.ParsedJPQL(ql); } catch (ParseException e) { throw new ParseException(_loc.get("jpql-parse-error", ql, e.getMessage()).getMessage(), e); } } Exception stack is here: org.apache.openjpa.persistence.ArgumentException: "Encountered "count ( *" at character 8, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "CASE", "COALESCE", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DISTINCT", "ENTRY", "INDEX", "KEY", "LENGTH", "LOCATE", "LOWER", "MAX", "MIN", "MOD", "NEW", "NULLIF", "OBJECT", "SIZE", "SQRT", "SUBSTRING", "SUM", "TRIM", "TYPE", "UPPER", "VALUE", , , , , , , , ]." while parsing JPQL "select count(*) from PersonDb p where p.objectId in (select f.friend.objectId from PersonDb p, FriendDb f where p.objectId = f.person.objectId and p.id in (?1))". See nested stack trace for original parse error. at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:51) at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:150) at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:670) at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:652) at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:618) at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:680) at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:587) at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:985) at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:971) at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:100) at org.apache.shindig.social.opensocial.jpa.spi.JPQLUtils.createQuery(JPQLUtils.java:112) at org.apache.shindig.social.opensocial.jpa.spi.JPQLUtils.getTotalResults(JPQLUtils.java:98) at org.apache.shindig.social.opensocial.jpa.spi.PersonServiceDb.getPeople(PersonServiceDb.java:135) at org.apache.shindig.social.opensocial.service.PersonHandler.get(PersonHandler.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.shindig.protocol.DefaultHandlerRegistry$MethodCaller.call(DefaultHandlerRegistry.java:483) at org.apache.shindig.protocol.DefaultHandlerRegistry$RpcInvocationHandler.execute(DefaultHandlerRegistry.java:301) at org.apache.shindig.protocol.DefaultHandlerRegistry$RpcInvocationWrapper.execute(DefaultHandlerRegistry.java:325) at org.apache.shindig.protocol.JsonRpcServlet.dispatchBatch(JsonRpcServlet.java:185) at org.apache.shindig.protocol.JsonRpcServlet.service(JsonRpcServlet.java:130) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.shindig.auth.AuthenticationServletFilter.callChain(AuthenticationServletFilter.java:125) at org.apache.shindig.auth.AuthenticationServletFilter.doFilter(AuthenticationServletFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.openjpa.persistence.ArgumentException: Encountered "count ( *" at character 8, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "CASE", "COALESCE", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DISTINCT", "ENTRY", "INDEX", "KEY", "LENGTH", "LOCATE", "LOWER", "MAX", "MIN", "MOD", "NEW", "NULLIF", "OBJECT", "SIZE", "SQRT", "SUBSTRING", "SUM", "TRIM", "TYPE", "UPPER", "VALUE", , , , , , , , ]. at org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:13087) at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:12961) at org.apache.openjpa.kernel.jpql.JPQL.select_expression(JPQL.java:1001) at org.apache.openjpa.kernel.jpql.JPQL.select_expressions(JPQL.java:930) at org.apache.openjpa.kernel.jpql.JPQL.select_clause(JPQL.java:865) at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:87) at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:2371) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.(JPQLExpressionBuilder.java:2358) at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:49) ... 39 more Can you please tell me if openjpa support count(*) or not, or if not then will fix the method in JPQLUtil.java? Thank you. was: Today I encountered a jpql parse exception thrown from openjpa 2.0. I searched here and found some links talking about count(*), but seems 2.0 still has such issue. https://issues.apache.org/jira/browse/OPENJPA-566 https://issues.apache.org/jira/browse/OPENJPA-1440 My select statement is: "select count(*) from PersonDb p where p.objectId in (select f.friend.objectId from PersonDb p, FriendDb f where p.objectId = f.person.objectId and p.id in (?1)) ". Please note that the count(*) in it is added by openjpa code itself, in JPQLUtil.java, there is a hardcoded "count(*)" in this method: public static Long getTotalResults(EntityManager entityManager, String query, List parametersValues) { int fromIndex = 0; String queryInUpperCase = query.toUpperCase(); // If JPA query starts with FROM then fromIndex as 0 is correct, // otherwise find where FROM keyword starts in the query string and set the fromIndex. if (!queryInUpperCase.startsWith("FROM ")) { fromIndex = queryInUpperCase.indexOf(" FROM "); if (fromIndex == -1) { // Couldn't find the FROM keyword in the query throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Invalid query [" + query + ']'); } } query = "select count(*) " + query.substring(fromIndex, query.length()); Query q = createQuery(entityManager, query, parametersValues); return (Long) q.getSingleResult(); } But in JPQLParser.java, it will parse this jpql, and then throw exception: public Object parse(String ql, ExpressionStoreQuery query) { if (query.getContext().getParameterDeclaration() != null) throw new UserException(_loc.get("param-decs-invalid")); try { return new JPQLExpressionBuilder.ParsedJPQL(ql); } catch (ParseException e) { throw new ParseException(_loc.get("jpql-parse-error", ql, e.getMessage()).getMessage(), e); } } Exception stack is here: org.apache.openjpa.persistence.ArgumentException: "Encountered "count ( *" at character 8, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "CASE", "COALESCE", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DISTINCT", "ENTRY", "INDEX", "KEY", "LENGTH", "LOCATE", "LOWER", "MAX", "MIN", "MOD", "NEW", "NULLIF", "OBJECT", "SIZE", "SQRT", "SUBSTRING", "SUM", "TRIM", "TYPE", "UPPER", "VALUE", , , , , , , , ]." while parsing JPQL "select count(*) from PersonDb p where p.objectId in (select f.friend.objectId from PersonDb p, FriendDb f where p.objectId = f.person.objectId and p.id in (?1))". See nested stack trace for original parse error. at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:51) at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:150) at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:670) at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:652) at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:618) at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:680) at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:587) at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:985) at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:971) at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:100) at org.apache.shindig.social.opensocial.jpa.spi.JPQLUtils.createQuery(JPQLUtils.java:112) at org.apache.shindig.social.opensocial.jpa.spi.JPQLUtils.getTotalResults(JPQLUtils.java:98) at org.apache.shindig.social.opensocial.jpa.spi.PersonServiceDb.getPeople(PersonServiceDb.java:135) at org.apache.shindig.social.opensocial.service.PersonHandler.get(PersonHandler.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.shindig.protocol.DefaultHandlerRegistry$MethodCaller.call(DefaultHandlerRegistry.java:483) at org.apache.shindig.protocol.DefaultHandlerRegistry$RpcInvocationHandler.execute(DefaultHandlerRegistry.java:301) at org.apache.shindig.protocol.DefaultHandlerRegistry$RpcInvocationWrapper.execute(DefaultHandlerRegistry.java:325) at org.apache.shindig.protocol.JsonRpcServlet.dispatchBatch(JsonRpcServlet.java:185) at org.apache.shindig.protocol.JsonRpcServlet.service(JsonRpcServlet.java:130) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.shindig.auth.AuthenticationServletFilter.callChain(AuthenticationServletFilter.java:125) at org.apache.shindig.auth.AuthenticationServletFilter.doFilter(AuthenticationServletFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.openjpa.persistence.ArgumentException: Encountered "count ( *" at character 8, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "CASE", "COALESCE", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DISTINCT", "ENTRY", "INDEX", "KEY", "LENGTH", "LOCATE", "LOWER", "MAX", "MIN", "MOD", "NEW", "NULLIF", "OBJECT", "SIZE", "SQRT", "SUBSTRING", "SUM", "TRIM", "TYPE", "UPPER", "VALUE", , , , , , , , ]. at org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:13087) at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:12961) at org.apache.openjpa.kernel.jpql.JPQL.select_expression(JPQL.java:1001) at org.apache.openjpa.kernel.jpql.JPQL.select_expressions(JPQL.java:930) at org.apache.openjpa.kernel.jpql.JPQL.select_clause(JPQL.java:865) at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:87) at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:2371) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.(JPQLExpressionBuilder.java:2358) at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:49) ... 39 more Can you please tell me if openjpa support count(*) or not, or if not then will fix the method in JPQLUtil.java? Thank you. > OpenJPA 2.0 supports count(*) or not? > ------------------------------------- > > Key: OPENJPA-1781 > URL: https://issues.apache.org/jira/browse/OPENJPA-1781 > Project: OpenJPA > Issue Type: Bug > Components: query > Affects Versions: 2.0.0 > Environment: JDK 1.6, OpenJPA 2.0, Shindig 2.0 > Reporter: Kai Feng Zhang > Priority: Critical > Original Estimate: 2h > Remaining Estimate: 2h > > Today I encountered a jpql parse exception thrown from openjpa 2.0. I searched >here and found some links talking about count(*), but seems 2.0 still has such >issue. > https://issues.apache.org/jira/browse/OPENJPA-566 > https://issues.apache.org/jira/browse/OPENJPA-1440 > My select statement is: "select count(*) from PersonDb p where p.objectId in >(select f.friend.objectId from PersonDb p, FriendDb f where p.objectId = >f.person.objectId and p.id in (?1)) ". > In JPQLParser.java, it will parse this jpql, and then throw exception: > > public Object parse(String ql, ExpressionStoreQuery query) { > if (query.getContext().getParameterDeclaration() != null) > throw new UserException(_loc.get("param-decs-invalid")); > try { > return new JPQLExpressionBuilder.ParsedJPQL(ql); > } catch (ParseException e) { > throw new ParseException(_loc.get("jpql-parse-error", > ql, e.getMessage()).getMessage(), e); > } > } > Exception stack is here: > >org.apache.openjpa.persistence.ArgumentException: "Encountered "count ( *" at >character 8, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "CASE", >"COALESCE", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", >"CURRENT_TIMESTAMP", "DISTINCT", "ENTRY", "INDEX", "KEY", "LENGTH", "LOCATE", >"LOWER", "MAX", "MIN", "MOD", "NEW", "NULLIF", "OBJECT", "SIZE", "SQRT", >"SUBSTRING", "SUM", "TRIM", "TYPE", "UPPER", "VALUE", , >, , , , >, , ]." while parsing JPQL >"select count(*) from PersonDb p where p.objectId in (select f.friend.objectId >from PersonDb p, FriendDb f where p.objectId = f.person.objectId and p.id in >(?1))". See nested stack trace for original parse error. > at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:51) > at >org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:150) > > at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:670) > at >org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:652) > at >org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:618) > at >org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:680) > at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:587) > at >org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:985) > > at >org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:971) > > at >org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:100) > > at >org.apache.shindig.social.opensocial.jpa.spi.JPQLUtils.createQuery(JPQLUtils.java:112) > > at >org.apache.shindig.social.opensocial.jpa.spi.JPQLUtils.getTotalResults(JPQLUtils.java:98) > > at >org.apache.shindig.social.opensocial.jpa.spi.PersonServiceDb.getPeople(PersonServiceDb.java:135) > > at >org.apache.shindig.social.opensocial.service.PersonHandler.get(PersonHandler.java:86) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at >sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at >sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > at >org.apache.shindig.protocol.DefaultHandlerRegistry$MethodCaller.call(DefaultHandlerRegistry.java:483) > > at >org.apache.shindig.protocol.DefaultHandlerRegistry$RpcInvocationHandler.execute(DefaultHandlerRegistry.java:301) > > at >org.apache.shindig.protocol.DefaultHandlerRegistry$RpcInvocationWrapper.execute(DefaultHandlerRegistry.java:325) > > at >org.apache.shindig.protocol.JsonRpcServlet.dispatchBatch(JsonRpcServlet.java:185) > > at >org.apache.shindig.protocol.JsonRpcServlet.service(JsonRpcServlet.java:130) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at >org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at >org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at >org.apache.shindig.auth.AuthenticationServletFilter.callChain(AuthenticationServletFilter.java:125) > > at >org.apache.shindig.auth.AuthenticationServletFilter.doFilter(AuthenticationServletFilter.java:88) > > at >org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > > at >org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at >org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at >org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at >org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at >org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at >org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at >org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > at >org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) > at >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:619) > Caused by: >org.apache.openjpa.persistence.ArgumentException: Encountered "count ( *" at >character 8, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "CASE", >"COALESCE", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", >"CURRENT_TIMESTAMP", "DISTINCT", "ENTRY", "INDEX", "KEY", "LENGTH", "LOCATE", >"LOWER", "MAX", "MIN", "MOD", "NEW", "NULLIF", "OBJECT", "SIZE", "SQRT", >"SUBSTRING", "SUM", "TRIM", "TYPE", "UPPER", "VALUE", , >, , , , >, , ]. > at >org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:13087) > at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:12961) > at org.apache.openjpa.kernel.jpql.JPQL.select_expression(JPQL.java:1001) > at org.apache.openjpa.kernel.jpql.JPQL.select_expressions(JPQL.java:930) > at org.apache.openjpa.kernel.jpql.JPQL.select_clause(JPQL.java:865) > at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:87) > at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63) > at >org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:2371) > > at >org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.(JPQLExpressionBuilder.java:2358) > > at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:49) > ... 39 more > > Can you please tell me if openjpa support count(*) or not, or if not then will >fix the method in JPQLUtil.java? > Thank you. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.