================================================================================ Merge Diffs: /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/sequencing/QuerySequence.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.6 Report generated at Tue Aug 15 15:14:22 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.6 Mon Aug 14 14:37:47 2006 --- /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/sequencing/QuerySequence.java Tue Aug 15 15:14:21 2006 *************** *** 18,24 **** * own identifying information: Portions Copyright [yyyy] * [name of copyright owner] */ ! // Copyright (c) 1998, 2005, Oracle. All rights reserved. package oracle.toplink.essentials.sequencing; import java.util.Vector; --- 18,24 ---- * own identifying information: Portions Copyright [yyyy] * [name of copyright owner] */ ! // Copyright (c) 1998, 2006, Oracle. All rights reserved. package oracle.toplink.essentials.sequencing; import java.util.Vector; *************** *** 278,283 **** --- 278,288 ---- ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { + // PERF: Prepare the query before being cloned. + // Also BUG: SQLCall could not be prepared concurrently by different queries. + // Setting user define allow custom SQL query to be prepared without translation row. + query.setIsUserDefined(true); + query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } *************** *** 302,307 **** --- 307,317 ---- DataModifyQuery query = getUpdateQuery(); if (query != null) { if (accessor != null) { + // PERF: Prepare the query before being cloned. + // Also BUG: SQLCall could not be prepared concurrently by different queries. + // Setting user define allow custom SQL query to be prepared without translation row. + query.setIsUserDefined(true); + query.checkPrepare(writeSession, null); query = (DataModifyQuery)query.clone(); query.setAccessor(accessor); } ================================================================================ Merge Diffs: /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/queryframework/StatementQueryMechanism.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.5 Report generated at Tue Aug 15 15:14:22 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.5 Mon Aug 14 15:52:48 2006 --- /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/queryframework/StatementQueryMechanism.java Tue Aug 15 15:14:21 2006 *************** *** 180,193 **** * Insert the object if the reprepare flag is set, first reprepare the query. * Added for CR#3237 * @param boolean reprepare - whether to reprepare the query. - * */ public void insertObject(boolean reprepare) { if (reprepare) { ! synchronized (getDescriptor().getQueryManager().getInsertQuery()) { ! getCalls().removeAllElements(); ! prepareInsertObject(); ! } } insertObject(); } --- 180,191 ---- * Insert the object if the reprepare flag is set, first reprepare the query. * Added for CR#3237 * @param boolean reprepare - whether to reprepare the query. */ public void insertObject(boolean reprepare) { if (reprepare) { ! // Clear old calls, and reprepare. ! setCalls(null); ! prepareInsertObject(); } insertObject(); } ================================================================================ Merge Diffs: /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/sequencing/QuerySequence.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.6 Report generated at Tue Aug 15 15:14:44 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.6 Mon Aug 14 14:37:47 2006 --- /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/sequencing/QuerySequence.java Tue Aug 15 15:14:21 2006 *************** *** 18,24 **** * own identifying information: Portions Copyright [yyyy] * [name of copyright owner] */ ! // Copyright (c) 1998, 2005, Oracle. All rights reserved. package oracle.toplink.essentials.sequencing; import java.util.Vector; --- 18,24 ---- * own identifying information: Portions Copyright [yyyy] * [name of copyright owner] */ ! // Copyright (c) 1998, 2006, Oracle. All rights reserved. package oracle.toplink.essentials.sequencing; import java.util.Vector; *************** *** 278,283 **** --- 278,288 ---- ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { + // PERF: Prepare the query before being cloned. + // Also BUG: SQLCall could not be prepared concurrently by different queries. + // Setting user define allow custom SQL query to be prepared without translation row. + query.setIsUserDefined(true); + query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } *************** *** 302,307 **** --- 307,317 ---- DataModifyQuery query = getUpdateQuery(); if (query != null) { if (accessor != null) { + // PERF: Prepare the query before being cloned. + // Also BUG: SQLCall could not be prepared concurrently by different queries. + // Setting user define allow custom SQL query to be prepared without translation row. + query.setIsUserDefined(true); + query.checkPrepare(writeSession, null); query = (DataModifyQuery)query.clone(); query.setAccessor(accessor); } ================================================================================ Merge Diffs: /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/queryframework/StatementQueryMechanism.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.5 Report generated at Tue Aug 15 15:14:45 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/ailitche/ailitche_ri_4690017_060814/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.5 Mon Aug 14 15:52:48 2006 --- /ade/ailitche_toplink_main/tldev/source/essentials/oracle/toplink/essentials/internal/queryframework/StatementQueryMechanism.java Tue Aug 15 15:14:21 2006 *************** *** 180,193 **** * Insert the object if the reprepare flag is set, first reprepare the query. * Added for CR#3237 * @param boolean reprepare - whether to reprepare the query. - * */ public void insertObject(boolean reprepare) { if (reprepare) { ! synchronized (getDescriptor().getQueryManager().getInsertQuery()) { ! getCalls().removeAllElements(); ! prepareInsertObject(); ! } } insertObject(); } --- 180,191 ---- * Insert the object if the reprepare flag is set, first reprepare the query. * Added for CR#3237 * @param boolean reprepare - whether to reprepare the query. */ public void insertObject(boolean reprepare) { if (reprepare) { ! // Clear old calls, and reprepare. ! setCalls(null); ! prepareInsertObject(); } insertObject(); }