Return-Path: Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: (qmail 25982 invoked from network); 16 Nov 2009 18:27:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Nov 2009 18:27:46 -0000 Received: (qmail 38978 invoked by uid 500); 16 Nov 2009 18:27:43 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 38947 invoked by uid 500); 16 Nov 2009 18:27:43 -0000 Mailing-List: contact commits-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 commits@openjpa.apache.org Received: (qmail 38896 invoked by uid 99); 16 Nov 2009 18:27:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Nov 2009 18:27:43 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Nov 2009 18:27:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6868E23889B3; Mon, 16 Nov 2009 18:27:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r880891 - in /openjpa/trunk: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java Date: Mon, 16 Nov 2009 18:27:21 -0000 To: commits@openjpa.apache.org From: ppoddar@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091116182721.6868E23889B3@eris.apache.org> Author: ppoddar Date: Mon Nov 16 18:27:20 2009 New Revision: 880891 URL: http://svn.apache.org/viewvc?rev=880891&view=rev Log: OPENJPA-1381: Ignore preapared query if lock mode changes Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java?rev=880891&r1=880890&r2=880891&view=diff ============================================================================== --- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java (original) +++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java Mon Nov 16 18:27:20 2009 @@ -751,6 +751,7 @@ em.getTransaction().begin(); Query q2 = em.createQuery(jpql); assertEquals(QueryLanguages.LANG_PREPARED_SQL, OpenJPAPersistence.cast(q2).getLanguage()); + q2.getLockMode(); q2.setLockMode(LockModeType.OPTIMISTIC); assertEquals(JPQLParser.LANG_JPQL, OpenJPAPersistence.cast(q2).getLanguage()); List authors2 = q2.getResultList(); Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java?rev=880891&r1=880890&r2=880891&view=diff ============================================================================== --- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java (original) +++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java Mon Nov 16 18:27:20 2009 @@ -377,9 +377,12 @@ */ void assertJPQLOrCriteriaQuery() { String language = getLanguage(); - if (!(JPQLParser.LANG_JPQL.equals(language) || CriteriaBuilderImpl.LANG_CRITERIA.equals(language))) { - throw new IllegalStateException(_loc.get("not-jpql-or-criteria-query").getMessage()); + if (JPQLParser.LANG_JPQL.equals(language) + || QueryLanguages.LANG_PREPARED_SQL.equals(language) + || CriteriaBuilderImpl.LANG_CRITERIA.equals(language)) { + return; } + throw new IllegalStateException(_loc.get("not-jpql-or-criteria-query").getMessage()); } public OpenJPAQuery closeAll() {