Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 23402 invoked from network); 7 Apr 2008 08:51:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Apr 2008 08:51:53 -0000 Received: (qmail 41917 invoked by uid 500); 7 Apr 2008 08:51:53 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 41897 invoked by uid 500); 7 Apr 2008 08:51:53 -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 41888 invoked by uid 99); 7 Apr 2008 08:51:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Apr 2008 01:51:53 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of plunchete@gmail.com designates 74.125.46.30 as permitted sender) Received: from [74.125.46.30] (HELO yw-out-2324.google.com) (74.125.46.30) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Apr 2008 08:51:11 +0000 Received: by yw-out-2324.google.com with SMTP id 3so169070ywj.63 for ; Mon, 07 Apr 2008 01:51:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=Hq4hWFoMdVN4/ey5dhYJj4ePq1v1fFvHVqm23HqBPSY=; b=QWuha5hbQDdshx596wPfBmUztXSxeqOgqwvH8A8HbqiXGX/+I7XcP/MatoeyxI2h5BNYCcW5xPvOM6T4fVOEHgyh13dSN2Nm3uU4W4SaVKFuRqjLxoNQAXZYUEhCUt6LtwtIso0qZ9n7MqBvnNPosZqDxXEVjlon851MeCvkS7Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=IvqUy+uhluLUkibBmru/HX5I273gCnepefWEevR3WkSJ+cCAy0YsSs/xjHdZIWN0T+JNq+NQjdnexD1sHmC8LoWs85uWDObxCTBxu3ib5NS0+yCnhwGvALfTzJEU77hDBQ3muYOGFba8dqfqj+w8K9ZbqHs3iX85oPlKh8FqKC8= Received: by 10.151.112.10 with SMTP id p10mr2582797ybm.143.1207558282755; Mon, 07 Apr 2008 01:51:22 -0700 (PDT) Received: by 10.66.240.7 with HTTP; Mon, 7 Apr 2008 01:51:22 -0700 (PDT) Message-ID: <41fba98d0804070151x5c3068b0re63c468edd2f261f@mail.gmail.com> Date: Mon, 7 Apr 2008 10:51:22 +0200 From: "Ignacio Andreu" To: dev@openjpa.apache.org Subject: Re: Native DELETE on MySQL In-Reply-To: <47F9DD41.2040101@etf.bg.ac.yu> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_3249_5077296.1207558282590" References: <47F9DD41.2040101@etf.bg.ac.yu> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_3249_5077296.1207558282590 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, DELETE * FROM test is wrong, the SQL sould be: DELETE FROM test I don't know if this is your error but if you want to delete an object, you can use a JPQL sentence, something like: m.createQuery("delete from test t"); Regards, - Ignacio 2008/4/7 Ognjen Blagojevic : > Hi OpenJPA developers, > > When I try to execute bulk delete using native queries on MySQL, this > piece of code: > > em.getTransaction().begin(); > try { > Query q = em.createNativeQuery("DELETE * FROM test"); > result = q.executeUpdate(); > em.getTransaction().commit(); > } catch (Exception e) { > em.getTransaction().rollback(); > } > > > seems to throw an exception "Callable statements not supported." (stack > trace below). Does anyone know why? > > Regards, > Ognjen > > ---------------------- > > 16 eUniversityPu INFO [main] openjpa.Runtime - Starting OpenJPA 1.0.2 > 282 eUniversityPu INFO [main] openjpa.jdbc.JDBC - Using dictionary > class "org.apache.openjpa.jdbc.sql.MySQLDictionary" (MySQL 4.1.16 ,MySQL-AB > JDBC Driver mysql-connector-java-5.0.4 ( $Date: 2006-10-19 17:47:48 +0200 > (Thu, 19 Oct 2006) $, $Revision: 5908 $ )). > > org.apache.openjpa.persistence.PersistenceException: Callable statements not > supported. > at > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3946) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:83) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59) > at > org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeUpdate(SQLStoreQuery.java:245) > at org.apache.openjpa.kernel.QueryImpl.update(QueryImpl.java:1039) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:803) > at > org.apache.openjpa.kernel.QueryImpl.updateAll(QueryImpl.java:878) > at > org.apache.openjpa.kernel.QueryImpl.updateAll(QueryImpl.java:874) > at > org.apache.openjpa.kernel.DelegatingQuery.updateAll(DelegatingQuery.java:565) > at > org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java:322) > at > yu.ac.bg.rcub.soleil.session.Glavni.customNativeDeleteTest(Glavni.java:657) > at yu.ac.bg.rcub.soleil.session.QueryTest.main(QueryTest.java:29) > Caused by: java.sql.SQLException: Callable statements not supported. > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) > at com.mysql.jdbc.Connection.prepareCall(Connection.java:4522) > at com.mysql.jdbc.Connection.prepareCall(Connection.java:4470) > at > org.apache.commons.dbcp.DelegatingConnection.prepareCall(DelegatingConnection.java:275) > at > org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareCall(PoolingDataSource.java:292) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareCall(DelegatingConnection.java:185) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareCall(DelegatingConnection.java:183) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareCall(DelegatingConnection.java:172) > at > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareCall(SQLBuffer.java:534) > at > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareCall(SQLBuffer.java:514) > at > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareCall(SQLBuffer.java:503) > at > org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeUpdate(SQLStoreQuery.java:226) > ... 8 more > > org.apache.openjpa.persistence.PersistenceException: Callable statements not > supported. > at > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3946) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:83) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59) > at > org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeUpdate(SQLStoreQuery.java:245) > at org.apache.openjpa.kernel.QueryImpl.update(QueryImpl.java:1039) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:803) > at > org.apache.openjpa.kernel.QueryImpl.updateAll(QueryImpl.java:878) > at > org.apache.openjpa.kernel.QueryImpl.updateAll(QueryImpl.java:874) > at > org.apache.openjpa.kernel.DelegatingQuery.updateAll(DelegatingQuery.java:565) > at > org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java:322) > at > yu.ac.bg.rcub.soleil.session.Glavni.customNativeDelete(Glavni.java:641) > at yu.ac.bg.rcub.soleil.session.QueryTest.main(QueryTest.java:33) > Caused by: java.sql.SQLException: Callable statements not supported. > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) > at com.mysql.jdbc.Connection.prepareCall(Connection.java:4522) > at com.mysql.jdbc.Connection.prepareCall(Connection.java:4470) > at > org.apache.commons.dbcp.DelegatingConnection.prepareCall(DelegatingConnection.java:275) > at > org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareCall(PoolingDataSource.java:292) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareCall(DelegatingConnection.java:185) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareCall(DelegatingConnection.java:183) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareCall(DelegatingConnection.java:172) > at > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareCall(SQLBuffer.java:534) > at > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareCall(SQLBuffer.java:514) > at > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareCall(SQLBuffer.java:503) > at > org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeUpdate(SQLStoreQuery.java:226) > ... 8 more > ------=_Part_3249_5077296.1207558282590--