You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/05/08 17:31:57 UTC

svn commit: r654552 - in /cayenne/main/trunk: docs/doc/src/main/resources/RELEASE-NOTES.txt framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectTranslator.java pom.xml

Author: aadamchik
Date: Thu May  8 08:31:57 2008
New Revision: 654552

URL: http://svn.apache.org/viewvc?rev=654552&view=rev
Log:
CAY-1051 Drop OracleAdapter 'optimizations'

Modified:
    cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectTranslator.java
    cayenne/main/trunk/pom.xml

Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=654552&r1=654551&r2=654552&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Thu May  8 08:31:57 2008
@@ -40,6 +40,7 @@
 CAY-1038 Upgrade to Ashwood 2.0
 CAY-1049 Refactor QueryAssembler/SelectTranslator
 CAY-1050 MySQLSniffer should configure created adapter to use MySQL default engine for tables
+CAY-1051 Drop OracleAdapter "optimizations"
 
 Bug fixes since M3:
 

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectTranslator.java?rev=654552&r1=654551&r2=654552&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectTranslator.java Thu May  8 08:31:57 2008
@@ -17,12 +17,9 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.dba.oracle;
 
-import java.lang.reflect.Method;
 import java.sql.PreparedStatement;
-import java.sql.Statement;
 
 import org.apache.cayenne.access.QueryLogger;
 import org.apache.cayenne.access.trans.SelectTranslator;
@@ -35,14 +32,6 @@
  */
 public class OracleSelectTranslator extends SelectTranslator {
 
-    private static boolean testedDriver;
-    private static boolean useOptimizations;
-    private static Method statementSetRowPrefetch;
-
-    private static final Object[] rowPrefetchArgs = new Object[] {
-        Integer.valueOf(100)
-    };
-
     @Override
     public String createSqlString() throws Exception {
 
@@ -60,38 +49,6 @@
     }
 
     /**
-     * Determines if we can use Oracle optimizations. If yes, configure this object to use
-     * them via reflection.
-     */
-    private static final synchronized void testDriver(Statement st) {
-        if (testedDriver) {
-            return;
-        }
-
-        // invalid call.. give it another chance later
-        if (st == null) {
-            return;
-        }
-
-        testedDriver = true;
-
-        try {
-            // search for matching methods in class and its superclasses
-
-            Class[] args2 = new Class[] {
-                Integer.TYPE
-            };
-            statementSetRowPrefetch = st.getClass().getMethod("setRowPrefetch", args2);
-
-            useOptimizations = true;
-        }
-        catch (Exception ex) {
-            useOptimizations = false;
-            statementSetRowPrefetch = null;
-        }
-    }
-
-    /**
      * Translates internal query into PreparedStatement, applying Oracle optimizations if
      * possible.
      */
@@ -103,35 +60,6 @@
 
         initStatement(stmt);
 
-        if (!testedDriver) {
-            testDriver(stmt);
-        }
-
-        if (useOptimizations) {
-            // apply Oracle optimization of the statement
-
-            // Performance tests conducted by Arndt (bug #699966) show
-            // that using explicit "defineColumnType" slows things down,
-            // so this is disabled now
-
-            // 1. name result columns
-            /*
-             * List columns = getColumns(); int len = columns.size(); Object[] args = new
-             * Object[2]; for (int i = 0; i < len; i++) { DbAttribute attr = (DbAttribute)
-             * columns.get(i); args[0] = new Integer(i + 1); args[1] = new
-             * Integer(attr.getType()); statementDefineColumnType.invoke(stmt, args); }
-             */
-
-            // 2. prefetch bigger batches of rows
-            // [This optimization didn't give any measurable performance
-            // increase. Keeping it for the future research]
-            // Note that this is done by statement,
-            // instead of Connection, since we do not want to mess
-            // with Connection that is potentially used by
-            // other people.
-            statementSetRowPrefetch.invoke(stmt, rowPrefetchArgs);
-        }
-
         return stmt;
     }
 }

Modified: cayenne/main/trunk/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/pom.xml?rev=654552&r1=654551&r2=654552&view=diff
==============================================================================
--- cayenne/main/trunk/pom.xml (original)
+++ cayenne/main/trunk/pom.xml Thu May  8 08:31:57 2008
@@ -722,7 +722,7 @@
 				<dependency>
 					<groupId>com.oracle</groupId>
 					<artifactId>oracle-driver</artifactId>
-					<version>10</version>
+					<version>11</version>
 					<scope>test</scope>
 				</dependency>
 			</dependencies>