Return-Path: Delivered-To: apmail-incubator-open-jpa-dev-archive@locus.apache.org Received: (qmail 30214 invoked from network); 17 Oct 2006 20:57:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 Oct 2006 20:57:51 -0000 Received: (qmail 18752 invoked by uid 500); 17 Oct 2006 20:57:51 -0000 Delivered-To: apmail-incubator-open-jpa-dev-archive@incubator.apache.org Received: (qmail 18730 invoked by uid 500); 17 Oct 2006 20:57:50 -0000 Mailing-List: contact open-jpa-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: open-jpa-dev@incubator.apache.org Delivered-To: mailing list open-jpa-dev@incubator.apache.org Received: (qmail 18721 invoked by uid 99); 17 Oct 2006 20:57:50 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Oct 2006 13:57:50 -0700 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of mprudhomapache@gmail.com designates 66.249.92.170 as permitted sender) Received: from [66.249.92.170] (HELO ug-out-1314.google.com) (66.249.92.170) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Oct 2006 13:57:44 -0700 Received: by ug-out-1314.google.com with SMTP id y2so53052uge for ; Tue, 17 Oct 2006 13:57:22 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:mime-version:in-reply-to:references:content-type:message-id:content-transfer-encoding:from:subject:date:to:x-mailer:sender; b=k3R9P1/MxU2dpBaRrKQTm8KpJfkb0DUrmH0peok91akKCyo7tXt7PEidjSUEUYazIjjgmU3lfTP4BwD0fWuJi9/ydIADmzVj5DiX5DQAWSrKgcMIKGpVcAirka2M5Xq91MetxTJ6AbEFK86q8GcMYJnajlW5f8BghOh0UKoL1vY= Received: by 10.78.204.1 with SMTP id b1mr9983119hug; Tue, 17 Oct 2006 13:57:22 -0700 (PDT) Received: from ?10.32.7.135? ( [66.248.222.242]) by mx.google.com with ESMTP id 37sm171139hua.2006.10.17.13.56.59; Tue, 17 Oct 2006 13:57:21 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: <49BF64BA795F6A498EC2F04F39BAA8D3D97EDE@ptint5.peacetech.com> References: <49BF64BA795F6A498EC2F04F39BAA8D3D97EDE@ptint5.peacetech.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <7251A8C0-5C1D-45CE-9DDD-BBF651232E0E@apache.org> Content-Transfer-Encoding: 7bit From: Marc Prud'hommeaux Subject: Re: Why would Kodo refuse to batch inserts in certain tables? Big performance drop migrating to Kodo 4.1 Date: Tue, 17 Oct 2006 13:56:44 -0700 To: open-jpa-dev@incubator.apache.org X-Mailer: Apple Mail (2.752.3) Sender: Marc Prud'hommeaux X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Alex- Since the non-batched statement contains a Date field, this is due to the workaround for the Oracle JDBC driver bug I mentioned before. Kodo will not batch statements that contains a Date field when interacting with Oracle. On Oct 17, 2006, at 1:38 PM, Roytman, Alex wrote: > Yes it will be wrapped by email though > > > > 15 WARN [main] openjpa.Runtime - The property named > "kodo.jdbc.SequenceFactory" was not recognized and will be ignored, > although the name closely matches a valid property called > "kodo.jdbc.SchemaFactory". > > 15 WARN [main] openjpa.Runtime - The property named > "kodo.jdbc.ClassIndicator" was not recognized and will be ignored, > although the name closely matches a valid property called > "kodo.jdbc.MappingFactory". > > 47 INFO [main] openjpa.Runtime - Starting BEA Kodo 4.1.0 with > patches: > > Kodo JDO Utilities vtip-revision > > 62 INFO [main] openjpa.jdbc.JDBC - Using dictionary class > "org.apache.openjpa.jdbc.sql.OracleDictionary". > > 328 INFO [main] openjpa.jdbc.JDBC - oracle-batch-override > > 1578 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE, > t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER, > t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ? > [params=(String) IC] > > 1578 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1593 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE, > t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER, > t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ? > [params=(String) DocType] > > 1593 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1593 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE, > t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER, > t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ? > [params=(String) GC] > > 1593 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1593 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 21057622 SELECT t0.JDO_LOCK, t0.IS_ACTIVE, > t0.DEFAULT_VALUE, t0.DESCRIPTION, t0.IS_LOOKUP, t0.LOOKUP_SORT_ORDER, > t0.IS_MULTI_VALUE FROM DTS.PROPERTY_DEFINITION t0 WHERE t0.NAME = ? > [params=(String) ClauseId] > > 1593 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1625 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 15513215 INSERT INTO DTS.DOCUMENT > (DOCUMENT_NODE_ID, > DOCUMENT_NUMBER, TEMPLATE_ID, ORG_UNIT_ID, PREPARER, TITLE, > IS_PUBLISHED, PUBLISH_DATE) VALUES (?, ?, ?, ?, ?, ?, ?, ?) > [params=(long) 529800, (String) {529800}, (long) 9432, (long) 1, > (long) > 1, (null) null, (int) 0, (null) null] > > 1625 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1625 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD > (DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) > VALUES > (?, ?, ?, ?, ?, ?) [params=(long) 529802, (String) preferences, (long) > 2117, (null) null, (int) 520, (int) 1] > > 1625 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1625 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD > (DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) > VALUES > (?, ?, ?, ?, ?, ?) [params=(long) 529801, (String) preferences, (long) > 2116, (null) null, (int) 520, (int) 1] > > 1625 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1625 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD > (DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) > VALUES > (?, ?, ?, ?, ?, ?) [params=(long) 529802, (String) address, (long) > 2117, > (null) null, (int) 510, (int) 1] > > 1625 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1625 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD > (DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) > VALUES > (?, ?, ?, ?, ?, ?) [params=(long) 529801, (String) address, (long) > 2116, > (null) null, (int) 510, (int) 1] > > 1625 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1625 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 12675864 INSERT INTO DTS.DOCUMENT_FIELD > (DOCUMENT_NODE_ID, NAME, CONTENT_ID, VALUE, JDO_CLASS, JDO_LOCK) > VALUES > (?, ?, ?, ?, ?, ?) [params=(long) 529801, (String) address, (long) > 2116, > (null) null, (int) 510, (int) 1] > > 1640 TRACE [main] openjpa.jdbc.SQL - [15 > ms] spent > > 1640 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 6169134 INSERT INTO DTS.DOCUMENT_NODE > (DOCUMENT_NODE_ID, OWNER_DOCUMENT, LOCAL_ROOT, PARENT, NAME, > CREATE_DATE, UPDATE_DATE, UPDATE_USER, JDO_CLASS, JDO_LOCK) VALUES (?, > ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(long) 529800, (long) 529800, > (long) > 529800, (null) null, (String) d529800, (Date) 2006-10-16, (Date) > 2006-10-16, (String) dts.test, (int) 440, (int) 1] > > 1640 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1640 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 1440568 INSERT INTO DTS.DOCUMENT_NODE > (DOCUMENT_NODE_ID, OWNER_DOCUMENT, LOCAL_ROOT, PARENT, > PARENT_SORT_ORDER, NAME, CONTENT_ID, ORIGINAL_CONTENT, > REFERENCE_NUMBER, > IS_GROUP, IS_SELECTED_BY_USER, IS_SELECTED_BY_RULE, CREATE_DATE, > UPDATE_DATE, UPDATE_USER, JDO_CLASS, JDO_LOCK) VALUES > (?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(long) 529801, (long) 529800, > (long) 529800, (long) 529800, (int) 0, (String) t1, (long) 2116, > (null) > null, (null) null, (int) 0, (null) null, (int) 0, (Date) 2006-10-16, > (Date) 2006-10-16, (String) dts.test, (int) 430, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [16 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 1440568 INSERT INTO DTS.DOCUMENT_NODE > (DOCUMENT_NODE_ID, OWNER_DOCUMENT, LOCAL_ROOT, PARENT, > PARENT_SORT_ORDER, NAME, CONTENT_ID, ORIGINAL_CONTENT, > REFERENCE_NUMBER, > IS_GROUP, IS_SELECTED_BY_USER, IS_SELECTED_BY_RULE, CREATE_DATE, > UPDATE_DATE, UPDATE_USER, JDO_CLASS, JDO_LOCK) VALUES > (?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(long) 529802, (long) 529800, > (long) 529800, (long) 529801, (int) 0, (String) t1.1, (long) 2117, > (null) null, (null) null, (int) 0, (null) null, (int) 0, (Date) > 2006-10-16, (Date) 2006-10-16, (String) dts.test, (int) 430, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529802, (String) IC, (String) IC1, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529801, (String) ClauseId, (String) CRS, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529802, (String) GC, (String) CRS, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529800, (String) DocType, (String) RFP, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529802, (String) GC, (String) EDUC, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529801, (String) GC, (String) CRS, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529802, (String) ClauseId, (String) CRS, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529800, (String) IC, (String) NHLBI, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529802, (String) IC, (String) IC2, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529801, (String) GC, (String) EDUC, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529800, (String) IC, (String) NCI, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529801, (String) IC, (String) IC1, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > batching prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529801, (String) IC, (String) IC2, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > 1656 TRACE [main] openjpa.jdbc.SQL - > executing prepstmnt 18895884 INSERT INTO DTS.DOCUMENT_NODE_PROPERTY > (DOCUMENT_NODE_ID, NAME, VALUE, JDO_LOCK) VALUES (?, ?, ?, ?) > [params=(long) 529801, (String) IC, (String) IC2, (int) 1] > > 1656 TRACE [main] openjpa.jdbc.SQL - [0 > ms] spent > > > > > > > > > > > > Metadata 2.0//EN" "http://java.sun.com/dtd/jdo_2_0.dtd"> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.ApplicationPropertyImpl$OID"> > > > > > > > > length="32" scale="0"/> > > > > > > length="250" scale="0"/> > > > > > > type="NUMBER" > length="1" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > sql-type="VARCHAR2" length="256" scale="0"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.AttributeImpl$OID"> > > > > > > > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > sql-type="VARCHAR2" length="200" scale="0"/> > > > > > > length="1" scale="0"/> > > > > > > length="1" scale="0"/> > > > > > > length="1" scale="0"/> > > > > persistence-modifier="persistent" default-fetch-group="true"> > > value="toSqlValue"/> > > value="fromSqlValue"/> > > sql-type="NUMBER" length="9" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > type="NUMBER" > length="1" scale="0"/> > > > > > > sql-type="VARCHAR2" length="100" scale="0"/> > > > > mapped-by="attribute"> > > element-type="com.peacetech.dts.jdo.AttributeLookupImpl"/> > > value="AttributeImpl.lookupValues"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.AttributeLookupImpl$OID"> > > > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="16" scale="0"/> > > > > > > sql-type="VARCHAR2" length="120" scale="0"/> > > > > > > sql-type="VARCHAR2" length="64" scale="0"/> > > > > > > type="NUMBER" > length="9" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="AttributeLookupImpl.attribute"/> > > > > > > > > > > > > identity-type="application" > persistence-capable- > superclass="com.peacetech.dts.jdo.TemplateNodeImpl"> > > > > > > > > > > > > > > > > > > > > type="NUMBER" > length="1" scale="0"/> > > > > > > length="7" scale="0"/> > > > > > > sql-type="VARCHAR2" length="200" scale="0"/> > > > > > > type="DECIMAL" > sql-type="NUMBER" length="12" scale="0"/> > > value="ComponentImpl.preparer"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="ComponentImpl.orgUnit"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="ComponentImpl.container"/> > > > > > > type="com.peacetech.dts.jdo.AttributeImpl"/> > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > > > > > value="ComponentImpl.attributes"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.ContainerImpl$OID"> > > > > > > column="JDO_CLASS"/> > > > > > > > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="48" scale="0"/> > > > > > > sql-type="VARCHAR2" length="400" scale="0"/> > > > > > > type="DECIMAL" > sql-type="NUMBER" length="12" scale="0"/> > > value="ContainerImpl.parent"/> > > > > > > > type="com.peacetech.dts.jdo.ContainerImpl"/> > > value="ContainerImpl.subNodes"/> > > > > mapped-by="container"> > > element-type="com.peacetech.dts.jdo.ContainerPropertyImpl"/> > > value="ContainerImpl.properties"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.ContainerPropertyImpl$OID"> > > > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="ContainerPropertyImpl.container"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > value="ContainerPropertyImpl.definition"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.ContentImpl$OID"> > > > > > > column="JDO_CLASS"/> > > > > > > > > type="NUMBER" > length="12" scale="0"/> > > > > > > type="VARCHAR2" > length="500" scale="0"/> > > > > > > sql-type="VARCHAR2" length="80" scale="0"/> > > > > > > sql-type="VARCHAR2" length="200" scale="0"/> > > > > > > length="-1" > scale="0"/> > > > > > > length="-1" scale="0"/> > > > > > > > element-type="com.peacetech.dts.jdo.ContentFieldImpl"/> > > > > value="ContentImpl.fields"/> > > > > > > > element-type="com.peacetech.dts.jdo.TemplateRuleImpl"/> > > > > value="ContentImpl.rules"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.ContentFieldImpl$OID"> > > > > > > value="exception"> > > type="NUMBER" > length="12" scale="0"/> > > > > > > length="40" scale="0"/> > > > > > > type="VARCHAR2" > length="20" scale="0"/> > > > > > > length="30" scale="0"/> > > > > > > type="VARCHAR2" > length="80" scale="0"/> > > > > > > length="60" scale="0"/> > > > > persistence-modifier="persistent" default-fetch-group="true"> > > value="com.peacetech.dts.jdo.helpers.Externalizers.fromStringMap"/> > > value="com.peacetech.dts.jdo.helpers.Externalizers.toStringMap"/> > > sql-type="VARCHAR2" length="512" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > persistence-modifier="persistent" default-fetch-group="true"> > > value="com.peacetech.dts.jdo.helpers.Externalizers.fromStringMap"/> > > value="com.peacetech.dts.jdo.helpers.Externalizers.toStringMap"/> > > length="-1" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="ContentFieldImpl.content"/> > > > > > > > > > > > > identity-type="application" > persistence-capable- > superclass="com.peacetech.dts.jdo.DocumentNodeImpl"> > > > > > > > > > > > > > > > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > > > > > length="200" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > length="7" scale="0"/> > > > > > > type="DECIMAL" > sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentImpl.preparer"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentImpl.orgUnit"/> > > > > mapped-by="document"> > > element-type="com.peacetech.dts.jdo.DocumentAttributeImpl"/> > > value="DocumentImpl.attributes"/> > > > > mapped-by="source"> > > element-type="com.peacetech.dts.jdo.RelatedDocumentImpl"/> > > value="DocumentImpl.relatedDocuments"/> > > > > mapped-by="target"> > > element-type="com.peacetech.dts.jdo.RelatedDocumentImpl"/> > > value="DocumentImpl.relatedToDocuments"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentImpl.template"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.DocumentAttributeImpl$OID"> > > > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="100" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentAttributeImpl.attribute"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentAttributeImpl.document"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.DocumentFieldImpl$OID"> > > > > > > column="JDO_CLASS"/> > > > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="40" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > sql-type="VARCHAR2" length="40" scale="0"/> > > value="DocumentFieldImpl.definition"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentFieldImpl.topic"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.DocumentNodeImpl$OID"> > > > > > > column="JDO_CLASS"/> > > > > > > > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="64" scale="0"/> > > > > > > length="7" scale="0"/> > > > > > > length="7" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentNodeImpl.localRoot"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentNodeImpl.parent"/> > > > > > > > element-type="com.peacetech.dts.jdo.DocumentNodeImpl"/> > > > > value="DocumentNodeImpl.subNodes"/> > > > > mapped-by="documentNode"> > > element-type="com.peacetech.dts.jdo.DocumentNodePropertyImpl"/> > > value="DocumentNodeImpl.properties"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentNodeImpl.ownerDocument"/> > > > > > > > > > > > > table="DOCUMENT_NODE_PROPERTY" identity-type="application" > objectid-class="com.peacetech.dts.jdo.DocumentNodePropertyImpl$OID"> > > > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentNodePropertyImpl.documentNode"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > value="DocumentNodePropertyImpl.definition"/> > > > > > > > > > > > > table="DOCUMENT_RELATIONSHIP_TYPE" identity-type="application" > objectid-class="com.peacetech.dts.jdo.DocumentRelationshipTypeImpl > $OID"> > > > > > > > > sql-type="NUMBER" length="9" scale="0"/> > > > > > > sql-type="VARCHAR2" length="120" scale="0"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.EmployeeImpl$OID"> > > > > > > column="JDO_CLASS"/> > > > > > > > > type="NUMBER" > length="12" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > > > > > type="VARCHAR2" > length="32" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.OrgUnitImpl$OID"> > > > > > > column="JDO_CLASS"/> > > > > > > > > type="NUMBER" > length="12" scale="0"/> > > > > > > length="128" scale="0"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.PropertyDefinitionImpl$OID"> > > > > > > > > length="32" scale="0"/> > > > > > > sql-type="VARCHAR2" length="200" scale="0"/> > > > > > > length="1" scale="0"/> > > > > > > length="1" scale="0"/> > > > > persistence-modifier="persistent" default-fetch-group="true"> > > value="toSqlValue"/> > > value="fromSqlValue"/> > > sql-type="NUMBER" length="9" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > > > mapped-by="definition"> > > element-type="com.peacetech.dts.jdo.PropertyLookupImpl"/> > > value="PropertyDefinitionImpl.lookupValues"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.PropertyLookupImpl$OID"> > > > > > > > > length="32" scale="0"/> > > > > > > length="16" scale="0"/> > > > > > > sql-type="VARCHAR2" length="120" scale="0"/> > > > > > > sql-type="VARCHAR2" length="64" scale="0"/> > > > > > > type="NUMBER" > length="9" scale="0"/> > > > > > > length="1" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > value="PropertyLookupImpl.definition"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.RelatedDocumentImpl$OID"> > > > > > > value="exception"> > > length="12" scale="0"/> > > > > null-value="exception"> > > sql-type="NUMBER" length="9" scale="0"/> > > > > value="exception"> > > length="12" scale="0"/> > > > > > > length="120" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="RelatedDocumentImpl.source"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="RelatedDocumentImpl.target"/> > > > > > > target="DOCUMENT_RELATIONSHIP_TYPE" jdbc-type="DECIMAL" > sql-type="NUMBER" length="9" scale="0"/> > > value="RelatedDocumentImpl.relationshipType"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.TemplateNodeImpl$OID"> > > value="none"/> > > > > > > column="JDO_CLASS"/> > > > > > > > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="64" scale="0"/> > > > > > > length="7" scale="0"/> > > > > > > length="7" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TemplateNodeImpl.parent"/> > > > > > > > element-type="com.peacetech.dts.jdo.TemplateNodeImpl"/> > > > > value="TemplateNodeImpl.subNodes"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TemplateNodeImpl.priorVersion"/> > > > > mapped-by="priorVersion"> > > value="TemplateNodeImpl.nextVersion"/> > > > > mapped-by="templateNode"> > > element-type="com.peacetech.dts.jdo.TemplateNodePropertyImpl"/> > > value="TemplateNodeImpl.properties"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TemplateNodeImpl.ownerComponent"/> > > > > > > > > > > > > table="TEMPLATE_NODE_PROPERTY" identity-type="application" > objectid-class="com.peacetech.dts.jdo.TemplateNodePropertyImpl$OID"> > > > > > > null-value="exception"> > > sql-type="NUMBER" length="12" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > sql-type="VARCHAR2" length="32" scale="0"/> > > value="TemplateNodePropertyImpl.definition"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TemplateNodePropertyImpl.templateNode"/> > > > > > > > > > > > > identity-type="application" > objectid-class="com.peacetech.dts.jdo.TemplateRuleImpl$OID"> > > > > > > > > length="12" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > length="32" scale="0"/> > > > > > > sql-type="VARCHAR2" length="80" scale="0"/> > > > > > > length="1024" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TemplateRuleImpl.content"/> > > > > > > > > > > > > persistence-capable- > superclass="com.peacetech.dts.jdo.TemplateNodeImpl"> > > > > > > > > > > > > sql-type="VARCHAR2" length="16" scale="0"/> > > > > > > > value="ComponentNodeImpl.ownedContent"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ComponentImpl"> > > > > > > > > > > > > length="-1" scale="0"/> > > > > > > > > > > > > persistence-capable- > superclass="com.peacetech.dts.jdo.ComponentNodeImpl" >> > > > > > > > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="ShareNodeImpl.target"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ContentImpl"> > > > > > > > > > > > > > > > > > > identity-type="application" > persistence-capable- > superclass="com.peacetech.dts.jdo.DocumentFieldImpl" >> > > > > > > > > > > null-value="exception" persistence-modifier="persistent"> > > value="com.peacetech.dts.jdo.helpers.Externalizers.fromStringCollectio > n" > /> > > value="com.peacetech.dts.jdo.helpers.Externalizers.toStringCollection" > /> > > length="1024" scale="0"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ShareNodeImpl"> > > > > > > > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="ShareLinkImpl.contentOverride"/> > > > > > > > > > > > > persistence-capable- > superclass="com.peacetech.dts.jdo.DocumentItemImpl"> > > > > > > > > > > > > > > > > > > persistence-capable- > superclass="com.peacetech.dts.jdo.DocumentNodeImpl"> > > > > > > > > > > > > sql-type="VARCHAR2" length="16" scale="0"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ShareNodeImpl"> > > > > > > > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ContainerImpl"> > > > > > > > > > > > > > type="com.peacetech.dts.jdo.ComponentImpl"/> > > > > value="ComponentHolderImpl.versions"/> > > > > > > > > > > > > persistence-capable- > superclass="com.peacetech.dts.jdo.DocumentItemImpl"> > > > > > > > > > > > > length="1" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > sql-type="NUMBER" length="1" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentTopicImpl.originalContent"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="DocumentTopicImpl.content"/> > > > > > > > element-type="com.peacetech.dts.jdo.DocumentFieldImpl"/> > > value="DocumentTopicImpl.fields"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ContentImpl"> > > > > > > > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TemplateContentImpl.owner"/> > > > > > > > > > value="TemplateContentImpl.topics"/> > > > > mapped-by="contentOverride"> > > type="com.peacetech.dts.jdo.ShareLinkImpl"/> > > value="TemplateContentImpl.shares"/> > > > > > > > > > > > > identity-type="application" > persistence-capable- > superclass="com.peacetech.dts.jdo.DocumentFieldImpl" >> > > > > > > > > > > > > length="1024" scale="0"/> > > > > > > > > > > > > persistence-capable- > superclass="com.peacetech.dts.jdo.ComponentNodeImpl" >> > > > > > > > > > > > > length="1" scale="0"/> > > > > > > jdbc-type="DECIMAL" sql-type="NUMBER" length="12" scale="0"/> > > value="TopicImpl.content"/> > > > > > > > > > > > > persistence-capable-superclass="com.peacetech.dts.jdo.ContainerImpl"> > > > > > > > > > > > > > > > > > > -----Original Message----- > From: Marc Prud'hommeaux [mailto:mprudhomapache@gmail.com] On > Behalf Of > Marc Prud'hommeaux > Sent: Tuesday, October 17, 2006 4:34 PM > To: open-jpa-dev@incubator.apache.org > Subject: Re: Why would Kodo refuse to batch inserts in certain tables? > Big performance drop migrating to Kodo 4.1 > > > > Alex- > > > > No attachment came through. > > > > Can you just paste the SQL log into a mail? > > > > > > On Oct 16, 2006, at 6:04 PM, Roytman, Alex wrote: > > > >> Marc, > >> > >> Attached is JDBC trace and my mapping file. > >> > >> You can see how everything but DOCUMENT_NODE is batched. > >> > >> DOCUMENT_NODE is a super-class table. It has several sub-classes > >> all but > >> one mapped on the same table. The one mapped vertically uses DOCUMENT > >> table. DOCUMENT_NODE have several bi- and uni-directional recursive > >> associations > >> > >> The rest of the classes are related to DOCUMENT_NODE via mapped-by > >> > >> Alex > >> > >> > >> -----Original Message----- > >> From: Marc Prud'hommeaux [mailto:mprudhomapache@gmail.com] On > >> Behalf Of > >> Marc Prud'hommeaux > >> Sent: Monday, October 16, 2006 7:30 PM > >> To: open-jpa-dev@incubator.apache.org > >> Subject: Re: Why would Kodo refuse to batch inserts in certain >> tables? > >> Big performance drop migrating to Kodo 4.1 > >> > >> Alex- > >> > >> So you are saying that batching is working OK in general, just not > >> for a particular class? And that this particular class was batching > >> fine with previous versions? That is odd, although there are some > >> cases where we might refuse to batch a particular class (because of a > >> driver bug with batching certain column types, etc). > >> > >> As a shot in the dark, we do work around a bug in the Oracle JDBC > >> driver's failure to batch date/time effectively. > >> > >> Can you post the SQL log that shows the series of SQL statements that > >> should have been batched, but weren't? That might help shed light > >> on it. > >> > >> Also, database and JDBC driver type/version would be useful. > >> > >> > >> > >> On Oct 15, 2006, at 7:30 PM, Roytman, Alex wrote: > >> > >>> Hello, > >>> > >>> > >>> > >>> While migrating to Kodo 4.1 I noticed significant drop in insert > >>> performance. I trace it down to some strange batching behavior. >>> While > >>> most of the PC were committed with batched inserts one particular > >>> class > >>> refused to batch and would insert row by row resulting in 10 times > >>> performance drop. > >>> > >>> > >>> > >>> There is nothing special about the class. Its hierarchy is mapped on > >>> base its table except for one of the lowest members which is mapped > >>> vertically. > >>> > >>> > >>> > >>> > >>> > >>> Thank you very much > >>> > >>> > >>> > >>> Alex Roytman > >>> > >>> Peace Technology, Inc. > >>> > >>> 301-206-9696x103 > >>> > >>> > >>> > >> > > >