You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by dw...@apache.org on 2009/10/27 18:42:59 UTC

svn commit: r830260 - in /openjpa/branches/1.3.x: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/apps/...

Author: dwoods
Date: Tue Oct 27 17:42:58 2009
New Revision: 830260

URL: http://svn.apache.org/viewvc?rev=830260&view=rev
Log:
OPENJPA-1308 shouldn't always use CAST with UPPER and LOWER for DB2.  merged in from trunk/1.2.2.

Modified:
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToLowerCase.java
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToUpperCase.java
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/AbstractDB2Dictionary.java
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DerbyDictionary.java
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/apps/CompUser.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestGenerationType.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigDecimalId.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigIntegerId.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLDateId.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEJBQLCondExpression.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/CompUser.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/FrequentFlierPlan.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/Request.java
    openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/TestJPQLSubquery.java

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToLowerCase.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToLowerCase.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToLowerCase.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToLowerCase.java Tue Oct 27 17:42:58 2009
@@ -43,7 +43,12 @@
         DBDictionary dict = ctx.store.getDBDictionary();
         String func = dict.toLowerCaseFunction;
         dict.assertSupport(func != null, "ToLowerCaseFunction");
-        func = dict.getCastFunction(getValue(), func);
+        if (getValue() instanceof PCPath) {
+            func = dict.getCastFunction(getValue(), func,
+                ((PCPath)getValue()).getFieldMapping(state).getColumns()[0]);
+        } else {
+            func = dict.getCastFunction(getValue(), func);
+        }
 
         int idx = func.indexOf("{0}");
         buf.append(func.substring(0, idx));

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToUpperCase.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToUpperCase.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToUpperCase.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ToUpperCase.java Tue Oct 27 17:42:58 2009
@@ -43,7 +43,12 @@
         DBDictionary dict = ctx.store.getDBDictionary();
         String func = dict.toUpperCaseFunction;
         dict.assertSupport(func != null, "ToUpperCaseFunction");
-        func = dict.getCastFunction(getValue(), func);
+        if (getValue() instanceof PCPath) {
+            func = dict.getCastFunction(getValue(), func,
+                ((PCPath)getValue()).getFieldMapping(state).getColumns()[0]);
+        } else {
+            func = dict.getCastFunction(getValue(), func);
+        }
 
         int idx = func.indexOf("{0}");
         buf.append(func.substring(0, idx));

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/AbstractDB2Dictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/AbstractDB2Dictionary.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/AbstractDB2Dictionary.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/AbstractDB2Dictionary.java Tue Oct 27 17:42:58 2009
@@ -37,13 +37,9 @@
 
         // DB2-based databases have restrictions on having uncast parameters
         // in string functions
-        toUpperCaseFunction = "UPPER(CAST({0} AS VARCHAR(" + varcharCastLength
-            + ")))";
-        toLowerCaseFunction = "LOWER(CAST({0} AS VARCHAR(" + varcharCastLength
-            + ")))";
         stringLengthFunction = "LENGTH({0})";
         concatenateFunction = "(CAST({0} AS VARCHAR(" + varcharCastLength
-            + ")))||(CAST({1} AS VARCHAR(1000)))";
+            + ")) || CAST({1} AS VARCHAR(" + varcharCastLength + ")))";
 
         trimLeadingFunction = "LTRIM({0})";
         trimTrailingFunction = "RTRIM({0})";
@@ -59,6 +55,7 @@
         supportsLockingWithOuterJoin = false;
         supportsLockingWithInnerJoin = false;
         supportsLockingWithSelectRange = true;
+        supportsCaseConversionForLob = true;
 
         requiresAutoCommitForMetaData = true;
         requiresAliasForSubselect = true;

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java Tue Oct 27 17:42:58 2009
@@ -52,6 +52,7 @@
     private static final Localizer _loc = Localizer.forPackage
         (DB2Dictionary.class);
 
+    public static final String VENDOR_IBM = "ibm";
     public String optimizeClause = "optimize for";
     public String rowClause = "row";
     protected int db2ServerType = 0;
@@ -248,6 +249,12 @@
     	super.connectedConfiguration(conn);
 
     	DatabaseMetaData metaData = conn.getMetaData();
+        String driverName = metaData.getDriverName();
+        if (driverName != null && driverName.startsWith("IBM DB2"))
+            driverVendor = VENDOR_IBM;
+        else
+            driverVendor = VENDOR_OTHER;
+
         databaseProductName = nullSafe(metaData.getDatabaseProductName());
         databaseProductVersion = nullSafe(metaData.getDatabaseProductVersion());
         
@@ -733,9 +740,36 @@
      * @return a String with the correct CAST function syntax
      */
     public String getCastFunction(Val val, String func) {
-        if (val instanceof Lit || val instanceof Param)
-            if (func.indexOf("VARCHAR") == -1)
-                func = addCastAsString(func, "{0}", " AS VARCHAR(1000)");
+        if (val instanceof Lit || val instanceof Param) {
+            if (func.indexOf("VARCHAR") == -1) {
+                func = addCastAsString(func, "{0}", " AS VARCHAR(" + varcharCastLength + ")");
+            }
+        }
+        return func;
+    }
+
+    /**
+     * Return the correct CAST function syntax
+     * 
+     * @param val operand of cast
+     * @param func original string
+     * @param col database column
+     * @return a String with the correct CAST function syntax
+     */
+    public String getCastFunction(Val val, String func, Column col) {
+        boolean doCast = false;
+        if (val instanceof Lit || val instanceof Param) {
+            doCast = true;
+        }
+        // cast anything not already a VARCHAR to VARCHAR
+        if (col.getType() != Types.VARCHAR) {
+            doCast = true;
+        }
+        if (doCast == true) {
+            if (func.indexOf("VARCHAR") == -1) {
+                func = addCastAsString(func, "{0}", " AS VARCHAR(" + varcharCastLength + ")");
+            }
+        }
         return func;
     }
 

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java Tue Oct 27 17:42:58 2009
@@ -237,6 +237,7 @@
     public boolean requiresCastForComparisons = false;
     public boolean supportsModOperator = false;
     public boolean supportsXMLColumn = false;
+    public boolean supportsCaseConversionForLob = false;
     public boolean reportsSuccessNoInfoOnBatchUpdates = false;
     public boolean supportsSelectFromFinalTable = false;
     
@@ -381,7 +382,7 @@
     public DBDictionary() {
         fixedSizeTypeNameSet.addAll(Arrays.asList(new String[]{
             "BIGINT", "BIT", "BLOB", "CLOB", "DATE", "DECIMAL", "DISTINCT",
-            "DOUBLE", "FLOAT", "INTEGER", "JAVA_OBJECT", "NULL", 
+            "DOUBLE", "FLOAT", "INTEGER", "JAVA_OBJECT", "NULL",
             "OTHER", "REAL", "REF", "SMALLINT", "STRUCT", "TIME", "TIMESTAMP",
             "TINYINT",
         }));
@@ -480,7 +481,7 @@
         // try from the most generic, and if errors occur, try
         // less generic types; this enables us to handle values
         // like Double.NaN without having to introspect on the
-        // ResultSetMetaData (bug #1053). note that we handle
+        // ResultSetMetaData (bug #1053). Note that we handle
         // generic exceptions, since some drivers may throw
         // NumberFormatExceptions, whereas others may throw SQLExceptions
         try {
@@ -2748,7 +2749,7 @@
         Class rc = Filters.wrap(rhs.getType());
         int type = 0;
         if (requiresCastForMathFunctions && (lc != rc
-            || (lhs.isConstant() && rhs.isConstant()))) {
+            || (lhs.isConstant() || rhs.isConstant()))) {
             Class c = Filters.promote(lc, rc);
             type = getJDBCType(JavaTypes.getTypeCode(c), false);
             if (type != Types.VARBINARY && type != Types.BLOB) {
@@ -4505,6 +4506,19 @@
     public String getCastFunction(Val val, String func) {
         return func;
     }
+
+    /**
+     * Return the correct CAST function syntax.  This should be overriden by subclasses
+     * that need access to the Column information.
+     * 
+     * @param val operand of cast
+     * @param func original string
+     * @param col database column
+     * @return a String with the correct CAST function syntax
+     */
+    public String getCastFunction(Val val, String func, Column col) {
+        return getCastFunction (val, func);
+    }
     
     /**
      * Create an index if necessary for some database tables

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DerbyDictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DerbyDictionary.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DerbyDictionary.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DerbyDictionary.java Tue Oct 27 17:42:58 2009
@@ -45,6 +45,8 @@
         validationSQL = "VALUES(1)";
         stringLengthFunction = "LENGTH({0})";
         substringFunctionName = "SUBSTR";
+        toUpperCaseFunction = "UPPER(CAST({0} AS VARCHAR(" + varcharCastLength + ")))";
+        toLowerCaseFunction = "LOWER(CAST({0} AS VARCHAR(" + varcharCastLength + ")))";
 
         // Derby name length restriction has been relaxed 
         // http://www.archivum.info/derby-dev@db.apache.org/2004-12/msg00270.html

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java Tue Oct 27 17:42:58 2009
@@ -52,6 +52,8 @@
 public class InformixDictionary
     extends DBDictionary {
 
+    public static final String VENDOR_IBM = "ibm";
+
     /**
      * If true, then we will issue a "SET LOCK MODE TO WAIT N"
      * statement whenever we create a {@link Connection}, in order
@@ -154,22 +156,25 @@
     public void connectedConfiguration(Connection conn)
         throws SQLException {
         super.connectedConfiguration(conn);
-        if (driverVendor == null) {
-            DatabaseMetaData meta = conn.getMetaData();
-            String driverName = meta.getDriverName();
-            if ("Informix".equalsIgnoreCase(driverName))
-                driverVendor = VENDOR_DATADIRECT;
-            else
-                driverVendor = VENDOR_OTHER;
-            
-            if (driverName.equals("IBM DB2 JDBC Universal Driver Architecture")) { 
+
+        DatabaseMetaData meta = conn.getMetaData();
+        String driverName = meta.getDriverName();
+        if (driverName != null) {
+            if (driverName.equals("IBM DB2 JDBC Universal Driver Architecture"))
+            { 
+                driverVendor = VENDOR_IBM;
                 useJCC = true;
                 try {
                     if (meta.storesLowerCaseIdentifiers()) 
                         schemaCase = SCHEMA_CASE_LOWER;
                 } catch (SQLException e) {}
-            }
-        }
+            } else if ("Informix".equalsIgnoreCase(driverName))
+                driverVendor = VENDOR_DATADIRECT;
+            else
+                driverVendor = VENDOR_OTHER;
+        } else
+            driverVendor = VENDOR_OTHER;
+
         if (isJDBC3) {
             conn.setHoldability(ResultSet.HOLD_CURSORS_OVER_COMMIT);
             if (log.isTraceEnabled())

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/apps/CompUser.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/apps/CompUser.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/apps/CompUser.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/apps/CompUser.java Tue Oct 27 17:42:58 2009
@@ -38,6 +38,9 @@
 	@Column(name="compName", length=50)
 	private String computerName;
 
+    @Basic @Lob
+    private String nameAsLob;
+
 	@PersistentCollection
 	private String[] nicknames = new String[0];
 
@@ -57,6 +60,7 @@
 		this.computerName = cName;
 		this.address = address;
 		this.age = age;
+        this.nameAsLob = name;
 	}
 
 	public String getComputerName() {
@@ -95,4 +99,13 @@
 		this.age = age;
 	}
 
+    public String getNameAsLob() {
+        return nameAsLob;
+    }
+
+    public void setNameAsLob(String nameAsLob) {
+        this.nameAsLob = nameAsLob;
+    }
+
 }
+

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestGenerationType.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestGenerationType.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestGenerationType.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestGenerationType.java Tue Oct 27 17:42:58 2009
@@ -50,22 +50,20 @@
         } else {
             setUp(IdentityGenerationType.class);
         }
-
-        /*
-         * If the DBDictionary doesn't support AutoAssign(ment) of column
-         * values, then null out the emf instance to prevent the rest of
-         * the tests from executing.
-         */
-        JDBCConfiguration conf = (JDBCConfiguration) emf.getConfiguration();
-        if (!conf.getDBDictionaryInstance().supportsAutoAssign) {
-            emf = null;
         }
 
+    /**
+     * Not all databases support GenerationType.IDENTITY column(s).
+     */
+    private boolean supportsAutoAssign() {
+        return ((JDBCConfiguration) emf.getConfiguration())
+            .getDBDictionaryInstance().supportsAutoAssign;
     }
 
     public void testCreateEntityManager() {
-        if (emf == null)
+        if (!supportsAutoAssign()) {
             return;
+        }
         EntityManager em = emf.createEntityManager();
 
         EntityTransaction t = em.getTransaction();
@@ -83,8 +81,9 @@
     }
 
     public void testPersist() {
-        if (emf == null)
+        if (!supportsAutoAssign()) {
             return;
+        }
         EntityManager em = emf.createEntityManager();
         em.getTransaction().begin();
         em.persist(new IdentityGenerationType());
@@ -93,8 +92,9 @@
     }
 
     public void testQuery() {
-        if (emf == null)
+        if (!supportsAutoAssign()) {
             return;
+        }
         EntityManager em = emf.createEntityManager();
         em.getTransaction().begin();
         IdentityGenerationType igt = new IdentityGenerationType();

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigDecimalId.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigDecimalId.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigDecimalId.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigDecimalId.java Tue Oct 27 17:42:58 2009
@@ -24,6 +24,10 @@
 
 import junit.textui.TestRunner;
 
+import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
+import org.apache.openjpa.jdbc.sql.DBDictionary;
+import org.apache.openjpa.jdbc.sql.MySQLDictionary;
+import org.apache.openjpa.persistence.test.AllowFailure;
 import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 
 /**
@@ -33,7 +37,7 @@
     extends SingleEMFTestCase {
 
     public void setUp() {
-        setUp(SQLBigDecimalIdEntity.class, CLEAR_TABLES);
+        setUp(SQLBigDecimalIdEntity.class, DROP_TABLES);
     }
 
     public void testPersist() {
@@ -44,6 +48,18 @@
         e.setId(decimal);
         e.setData(1);
 
+        // trigger schema definition
+        JDBCConfiguration jdbccfg = (JDBCConfiguration) emf.getConfiguration();
+        DBDictionary dict = jdbccfg.getDBDictionaryInstance();
+        // currently BigDecimal is mapped to NUMERIC column type. This causes
+        // truncation error from MySQL. Without knowing the implication of changing the
+        // mapping of BigDecimal universally to DOUBLE, I will just change the mapping
+        // for this test case.
+        if (dict instanceof MySQLDictionary) {
+            dict.numericTypeName = "DOUBLE";
+        }
+
+        
         EntityManager em = emf.createEntityManager();
         em.getTransaction().begin();
         em.persist(e);
@@ -55,6 +71,7 @@
         e = em.find(SQLBigDecimalIdEntity.class, decimal);
         assertEquals(1, e.getData());
         em.close();
+    
     }
     
     public void testQuery() {
@@ -78,7 +95,8 @@
         em.close();
 
     }
+
     public static void main(String[] args) {
-        TestRunner.run(SQLBigDecimalIdEntity.class);
+        TestRunner.run(TestSQLBigDecimalId.class);
     }
 }

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigIntegerId.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigIntegerId.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigIntegerId.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLBigIntegerId.java Tue Oct 27 17:42:58 2009
@@ -57,6 +57,6 @@
     }
 
     public static void main(String[] args) {
-        TestRunner.run(SQLBigIntegerIdEntity.class);
+        TestRunner.run(TestSQLBigIntegerId.class);
     }
 }

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLDateId.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLDateId.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLDateId.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestSQLDateId.java Tue Oct 27 17:42:58 2009
@@ -57,7 +57,7 @@
     }
 
     public static void main(String[] args) {
-        TestRunner.run(SQLDateIdEntity.class);
+        TestRunner.run(TestSQLBigIntegerId.class);
     }
 }
 

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEJBQLCondExpression.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEJBQLCondExpression.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEJBQLCondExpression.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEJBQLCondExpression.java Tue Oct 27 17:42:58 2009
@@ -313,12 +313,14 @@
             user.setComputerName(cName);
             user.setAddress(add);
             user.setAge(age);
+            user.setNameAsLob(name);
         } else {
             user = new FemaleUser();
             user.setName(name);
             user.setComputerName(cName);
             user.setAddress(add);
             user.setAge(age);
+            user.setNameAsLob(name);
         }
         return user;
 	}

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/functions/TestEJBQLFunction.java Tue Oct 27 17:42:58 2009
@@ -21,6 +21,10 @@
 import java.util.List;
 import javax.persistence.EntityManager;
 
+import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
+import org.apache.openjpa.jdbc.sql.DBDictionary;
+import org.apache.openjpa.jdbc.sql.OracleDictionary;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerSPI;
 import org.apache.openjpa.persistence.common.apps.Address;
 import org.apache.openjpa.persistence.common.apps.CompUser;
 import org.apache.openjpa.persistence.common.apps.FemaleUser;
@@ -116,7 +120,21 @@
         user = em.find(CompUser.class, userid1);
         em.refresh(user);
         assertNotNull(user);
-        assertEquals("", user.getName());
+        // Empty strings are stored as null on Oracle so the assertion below
+        // must be handled differently on that DB.  The docs indicate that
+        // this may not be the case in future releases so either result is
+        // allowed.
+        // The note in this section of Oracle doc explains the behavior:
+        // http://download.oracle.com/docs/cd/B14117_01/server.101/ +
+        // b10759/sql_elements005.htm#sthref511
+        DBDictionary dict = ((JDBCConfiguration) getEmf().getConfiguration())
+            .getDBDictionaryInstance();
+        if (dict instanceof OracleDictionary) {
+            assertTrue(user.getName() == null ||
+                "".equals(user.getName()));
+        } else {
+            assertEquals("", user.getName());
+        }
 
         endTx(em);
         endEm(em);
@@ -166,6 +184,35 @@
         endEm(em);
     }
 
+    public void testLowerClobFunc() {
+        OpenJPAEntityManagerSPI em = (OpenJPAEntityManagerSPI) currentEntityManager();
+        // some databases do not support case conversion on LOBs,
+        // just skip this test case
+        DBDictionary dict = ((JDBCConfiguration) em.getConfiguration())
+            .getDBDictionaryInstance();
+        if (!dict.supportsCaseConversionForLob) {
+            return;
+        }
+        startTx(em);
+
+        CompUser user = em.find(CompUser.class, userid5);
+        assertNotNull(user);
+        assertEquals("Famzy", user.getName());
+
+        String query = "UPDATE CompUser e SET " +
+                "e.name = LOWER(e.name) WHERE LOWER(e.nameAsLob)='famzy'";
+
+        int result = em.createQuery(query).executeUpdate();
+
+        user = em.find(CompUser.class, userid5);
+        em.refresh(user);
+        assertNotNull(user);
+        assertEquals("famzy", user.getName());
+
+        endTx(em);
+        endEm(em);
+    }
+
     public void testUpperFunc() {
         EntityManager em = currentEntityManager();
         startTx(em);
@@ -188,6 +235,35 @@
         endEm(em);
     }
 
+    public void testUpperClobFunc() {
+        OpenJPAEntityManagerSPI em = (OpenJPAEntityManagerSPI) currentEntityManager();
+        // some databases do not support case conversion on LOBs,
+        // just skip this test case
+        DBDictionary dict = ((JDBCConfiguration) em.getConfiguration())
+            .getDBDictionaryInstance();
+        if (!dict.supportsCaseConversionForLob) {
+            return;
+        }
+        startTx(em);
+
+        CompUser user = em.find(CompUser.class, userid5);
+        assertNotNull(user);
+        assertEquals("Famzy", user.getName());
+
+        String query = "UPDATE CompUser e SET " +
+                "e.name = UPPER(e.name) WHERE UPPER(e.nameAsLob)='FAMZY'";
+
+        int result = em.createQuery(query).executeUpdate();
+
+        user = em.find(CompUser.class, userid5);
+        em.refresh(user);
+        assertNotNull(user);
+        assertEquals("FAMZY", user.getName());
+
+        endTx(em);
+        endEm(em);
+    }
+
     public void testLengthFunc() {
         EntityManager em = currentEntityManager();
 
@@ -385,12 +461,14 @@
             user.setComputerName(cName);
             user.setAddress(add);
             user.setAge(age);
+            user.setNameAsLob(name);
         } else {
             user = new FemaleUser();
             user.setName(name);
             user.setComputerName(cName);
             user.setAddress(add);
             user.setAge(age);
+            user.setNameAsLob(name);
         }
         return user;
     }

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/CompUser.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/CompUser.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/CompUser.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/CompUser.java Tue Oct 27 17:42:58 2009
@@ -22,6 +22,7 @@
 import org.apache.openjpa.persistence.*;
 
 @Entity
+@Table(name="CR_COMPUSER")
 @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
 public class CompUser
 {

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/FrequentFlierPlan.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/FrequentFlierPlan.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/FrequentFlierPlan.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/FrequentFlierPlan.java Tue Oct 27 17:42:58 2009
@@ -21,8 +21,10 @@
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
+import javax.persistence.Table;
 
 @Entity
+@Table(name="CR_FFPLAN")
 public class FrequentFlierPlan {
     @Id
     @GeneratedValue

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/Request.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/Request.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/Request.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/Request.java Tue Oct 27 17:42:58 2009
@@ -23,6 +23,7 @@
 import javax.persistence.*;
 
 @Entity
+@Table(name="CR_REQ")
 public class Request {
      @Id
      int id;

Modified: openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/TestJPQLSubquery.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/TestJPQLSubquery.java?rev=830260&r1=830259&r2=830260&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/TestJPQLSubquery.java (original)
+++ openjpa/branches/1.3.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/subquery/TestJPQLSubquery.java Tue Oct 27 17:42:58 2009
@@ -65,7 +65,7 @@
             + "t2.street, t3.userid, t3.DTYPE, t3.age, t3.compName, t3.creditRating, t3.name, t2.zipCode, "
             + "t0.balanceOwed, t0.creditRating, t0.filledOrderCount, t0.firstName, t0.lastName, t0.name, t0.status "
             + "FROM CR_CUST t0 LEFT OUTER JOIN CR_ADDR t2 ON t0.ADDRESS_ID = t2.id "
-            + "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID "
             + "WHERE (t0.balanceOwed < (SELECT AVG(t1.balanceOwed) FROM CR_CUST t1))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -84,10 +84,10 @@
             + "t8.MANAGER_ID, t8.name, t8.rating, t8.salary, t8.hireDate, t1.hireDate "
             + "FROM CR_EMP t1 LEFT OUTER JOIN CR_ADDR t2 ON t1.ADDRESS_ID = t2.id "
             + "LEFT OUTER JOIN CR_DEPT t4 ON t1.DEPARTMENT_DEPTNO = t4.deptNo "
-            + "LEFT OUTER JOIN FrequentFlierPlan t5 ON t1.FREQUENTFLIERPLAN_ID = t5.id "
+            + "LEFT OUTER JOIN CR_FFPLAN t5 ON t1.FREQUENTFLIERPLAN_ID = t5.id "
             + "LEFT OUTER JOIN CR_MGR t6 ON t1.MANAGER_ID = t6.id "
             + "LEFT OUTER JOIN CR_EMP t8 ON t1.SPOUSE_EMPID = t8.empId "
-            + "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID "
             + "LEFT OUTER JOIN CR_DEPT t7 ON t6.DEPARTMENT_DEPTNO = t7.deptNo "
             + "WHERE (EXISTS (SELECT t0.empId FROM CR_EMP t0 WHERE (t0.empId = t1.SPOUSE_EMPID)))";
 
@@ -107,10 +107,10 @@
             "t8.FREQUENTFLIERPLAN_ID, t8.MANAGER_ID, t8.name, t8.rating, t8.salary, t8.hireDate, t0.hireDate " +
             "FROM CR_EMP t0 LEFT OUTER JOIN CR_ADDR t2 ON t0.ADDRESS_ID = t2.id " +
             "LEFT OUTER JOIN CR_DEPT t4 ON t0.DEPARTMENT_DEPTNO = t4.deptNo " +
-            "LEFT OUTER JOIN FrequentFlierPlan t5 ON t0.FREQUENTFLIERPLAN_ID = t5.id " +
+            "LEFT OUTER JOIN CR_FFPLAN t5 ON t0.FREQUENTFLIERPLAN_ID = t5.id " +
             "LEFT OUTER JOIN CR_MGR t6 ON t0.MANAGER_ID = t6.id " +
             "LEFT OUTER JOIN CR_EMP t8 ON t0.SPOUSE_EMPID = t8.empId " +
-            "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID " +
+            "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID " +
             "LEFT OUTER JOIN CR_DEPT t7 ON t6.DEPARTMENT_DEPTNO = t7.deptNo " +
             "WHERE (CAST(t0.salary AS NUMERIC) > ALL (SELECT t1.salary " +
             "FROM CR_MGR t1 WHERE (t1.DEPARTMENT_DEPTNO = t0.DEPARTMENT_DEPTNO)))";
@@ -126,7 +126,7 @@
             "t0.balanceOwed, t0.creditRating, " +
             "t0.filledOrderCount, t0.firstName, t0.lastName, t0.name, t0.status " +
             "FROM CR_CUST t0 LEFT OUTER JOIN CR_ADDR t3 ON t0.ADDRESS_ID = t3.id " +
-            "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID " +
+            "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID " +
             "WHERE ((SELECT COUNT(t2.id) FROM CR_ODR t1, CR_ODR t2 " +
             "WHERE (t1.id = t2.id) AND (t0.id = t1.CUSTOMER_ID)) > ?)";
 
@@ -141,7 +141,7 @@
             + "t3.street, t4.userid, t4.DTYPE, t4.age, t4.compName, t4.creditRating, t4.name, t3.zipCode, " 
             + "t2.balanceOwed, t2.creditRating, t2.filledOrderCount, t2.firstName, t2.lastName, t2.name, t2.status "
             + "FROM CR_CUST t2 LEFT OUTER JOIN CR_ADDR t3 ON t2.ADDRESS_ID = t3.id "
-            + "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID "
             + "WHERE ((SELECT COUNT(t1.id) "
             + "FROM CR_CUST t0 INNER JOIN CR_ODR t1 ON t0.id = t1.CUSTOMER_ID WHERE (t2.id = t0.id)) > ?)";
 
@@ -156,7 +156,7 @@
             + "t3.street, t4.userid, t4.DTYPE, t4.age, t4.compName, t4.creditRating, t4.name, t3.zipCode, " 
             + "t2.balanceOwed, t2.creditRating, t2.filledOrderCount, t2.firstName, t2.lastName, t2.name, t2.status "
             + "FROM CR_CUST t2 LEFT OUTER JOIN CR_ADDR t3 ON t2.ADDRESS_ID = t3.id "
-            + "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID "
             + "WHERE ((SELECT COUNT(t1.id) "
             + "FROM CR_CUST t0 INNER JOIN CR_ODR t1 ON t0.id = t1.CUSTOMER_ID WHERE (t2.id = t0.id)) > ?)";
 
@@ -171,7 +171,7 @@
             + "t3.street, t4.userid, t4.DTYPE, t4.age, t4.compName, t4.creditRating, t4.name, t3.zipCode, "
             + "t2.balanceOwed, t2.creditRating, t2.filledOrderCount, t2.firstName, t2.lastName, t2.name, t2.status "
             + "FROM CR_CUST t2 LEFT OUTER JOIN CR_ADDR t3 ON t2.ADDRESS_ID = t3.id "
-            + "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID "
             + "WHERE ((SELECT COUNT(t1.id) FROM CR_CUST t0 INNER JOIN CR_ODR t1 ON t0.id = t1.CUSTOMER_ID) > ?)";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -188,7 +188,7 @@
             + "FROM CR_CUST t2 "
             + "INNER JOIN CR_ADDR t3 ON t2.ADDRESS_ID = t3.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t2.ADDRESS_ID = t5.id "
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID "
             + "WHERE ((SELECT COUNT(t1.id) "
             + "FROM CR_CUST t0 "
             + "INNER JOIN CR_ODR t1 ON t0.id = t1.CUSTOMER_ID "
@@ -207,7 +207,7 @@
         "t1.creditRating, t1.filledOrderCount, t1.firstName, t1.lastName, t1.name, t1.status " + 
         "FROM CR_CUST t1 " + 
         "LEFT OUTER JOIN CR_ADDR t2 ON t1.ADDRESS_ID = t2.id " + 
-        "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID WHERE " + 
+        "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID WHERE " + 
         "(EXISTS (SELECT t0.id FROM CR_ODR t0 WHERE (t0.CUSTOMER_ID = t1.id)))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -222,7 +222,7 @@
     // t3.name, t3.orderTs, t3.quantity, t3.totalCost 
     // FROM CR_ODR t3 LEFT OUTER JOIN CR_CUST t4 ON t3.CUSTOMER_ID = t4.id
     // LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id
-    // LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID 
+    // LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID 
     // WHERE (CAST(? AS BIGINT) < 
     // CAST(ALL (SELECT t2.balance 
     // FROM CR_CUST t0 INNER JOIN CR_CUST_CR_ACCT t1 ON t0.id = t1.CUSTOMER_ID
@@ -238,7 +238,7 @@
             + "t3.delivered, t3.name, t3.orderTs, t3.quantity, t3.totalCost " 
             + "FROM CR_ODR t3 LEFT OUTER JOIN CR_CUST t4 ON t3.CUSTOMER_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id " 
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID " 
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID " 
             + "WHERE (? < ALL (SELECT t2.balance FROM CR_CUST t0 INNER JOIN CR_CUST_CR_ACCT t1 ON "
             + "t0.id = t1.CUSTOMER_ID INNER JOIN CR_ACCT t2 ON t1.ACCOUNTS_ID = t2.id " 
             + "WHERE (t3.CUSTOMER_ID = t0.id)))";
@@ -256,7 +256,7 @@
             + "t3.delivered, t3.name, t3.orderTs, t3.quantity, t3.totalCost "
             + "FROM CR_ODR t3 LEFT OUTER JOIN CR_CUST t4 ON t3.CUSTOMER_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id "
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID "
             + "WHERE (t3.name = ANY (SELECT t2.name "
             + "FROM CR_CUST t0 INNER JOIN CR_CUST_CR_ACCT t1 ON t0.id = t1.CUSTOMER_ID "
             + "INNER JOIN CR_ACCT t2 ON t1.ACCOUNTS_ID = t2.id WHERE (t3.CUSTOMER_ID = t0.id)))";
@@ -275,7 +275,7 @@
     //FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id 
     //LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id 
     //LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id 
-    //LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t3.balance 
     //FROM CR_CUST_CR_ACCT t2, CR_ACCT t3 
@@ -292,7 +292,7 @@
             + "FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id "
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID WHERE (? < ALL ("
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID WHERE (? < ALL ("
             + "SELECT t3.balance FROM CR_CUST_CR_ACCT t2, CR_ACCT t3 WHERE (t2.ACCOUNTS_ID = t3.id) AND "
             + "(t1.id = t2.CUSTOMER_ID)))";
 
@@ -310,7 +310,7 @@
             + "FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id "
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID WHERE (t0.name = ANY ("
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID WHERE (t0.name = ANY ("
             + "SELECT t3.name FROM CR_CUST_CR_ACCT t2, CR_ACCT t3 WHERE (t2.ACCOUNTS_ID = t3.id) "
             + "AND (t1.id = t2.CUSTOMER_ID)))";
 
@@ -328,7 +328,7 @@
             + "FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_CUST t3 ON t0.CUSTOMER_ID = t3.id "
             + "LEFT OUTER JOIN CR_ADDR t4 ON t3.ADDRESS_ID = t4.id "
-            + "LEFT OUTER JOIN CompUser t5 ON t4.id = t5.ADD_ID WHERE (t0.name = ANY "
+            + "LEFT OUTER JOIN CR_COMPUSER t5 ON t4.id = t5.ADD_ID WHERE (t0.name = ANY "
             + "(SELECT t2.county FROM CR_ADDR t2 WHERE (t1.ADDRESS_ID = t2.id)))";
         
         executeAndCompareSQL(jpql, expectedSQL);
@@ -345,10 +345,10 @@
     //FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id 
     //LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id 
     //LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id 
-    //LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t3.age 
-    //FROM CR_ADDR t2 INNER JOIN CompUser t3 ON t2.id = t3.ADD_ID 
+    //FROM CR_ADDR t2 INNER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID 
     //WHERE (t1.ADDRESS_ID = t2.id)) AS BIGINT))} [code=30000, state=42X01]
     public void ctestSubqueries6c() {
         String jpql = "SELECT o FROM Order o JOIN o.customer c WHERE 10000 < "
@@ -361,8 +361,8 @@
             + "FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id "
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID WHERE (? < ALL ("
-            + "SELECT t3.age FROM CR_ADDR t2 INNER JOIN CompUser t3 ON t2.id = t3.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID WHERE (? < ALL ("
+            + "SELECT t3.age FROM CR_ADDR t2 INNER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID "
             + "WHERE (t1.ADDRESS_ID = t2.id)))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -380,10 +380,10 @@
     //LEFT OUTER JOIN CR_CUST t5 ON t2.CUSTOMER_ID = t5.id 
     //INNER JOIN CR_ADDR t4 ON t3.ADDRESS_ID = t4.id 
     //LEFT OUTER JOIN CR_ADDR t6 ON t5.ADDRESS_ID = t6.id 
-    //LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t1.age 
-    //FROM CR_ADDR t0 INNER JOIN CompUser t1 ON t0.id = t1.ADD_ID 
+    //FROM CR_ADDR t0 INNER JOIN CR_COMPUSER t1 ON t0.id = t1.ADD_ID 
     //WHERE (t4.city = t0.city AND t3.ADDRESS_ID = t0.id)) AS BIGINT) AND 1 = 1)} 
     //[code=30000, state=42X01]
     public void ctestSubqueries6d() {
@@ -398,8 +398,8 @@
             + "LEFT OUTER JOIN CR_CUST t5 ON t2.CUSTOMER_ID = t5.id "
             + "INNER JOIN CR_ADDR t4 ON t3.ADDRESS_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t6 ON t5.ADDRESS_ID = t6.id "
-            + "LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID WHERE (? < ALL ("
-            + "SELECT t1.age FROM CR_ADDR t0 INNER JOIN CompUser t1 ON t0.id = t1.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID WHERE (? < ALL ("
+            + "SELECT t1.age FROM CR_ADDR t0 INNER JOIN CR_COMPUSER t1 ON t0.id = t1.ADD_ID "
             + "WHERE (t4.city = t0.city AND "
             + "t3.ADDRESS_ID = t0.id)) AND 1 = 1)";
 
@@ -418,10 +418,10 @@
     //LEFT OUTER JOIN CR_CUST t5 ON t0.CUSTOMER_ID = t5.id 
     //INNER JOIN CR_ADDR t2 ON t1.ADDRESS_ID = t2.id 
     //LEFT OUTER JOIN CR_ADDR t6 ON t5.ADDRESS_ID = t6.id 
-    //LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t4.age 
-    //FROM CompUser t3, CompUser t4 
+    //FROM CR_COMPUSER t3, CR_COMPUSER t4 
     //WHERE (t3.userid = t4.userid) AND (t2.id = t3.ADD_ID)) AS BIGINT) AND 1 = 1)}
     //[code=30000, state=42X01]
     public void ctestSubqueries6e() {
@@ -436,8 +436,8 @@
             + "LEFT OUTER JOIN CR_CUST t5 ON t0.CUSTOMER_ID = t5.id "
             + "INNER JOIN CR_ADDR t2 ON t1.ADDRESS_ID = t2.id "
             + "LEFT OUTER JOIN CR_ADDR t6 ON t5.ADDRESS_ID = t6.id "
-            + "LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID "
-            + "WHERE (? < ALL (SELECT t4.age FROM  CompUser t3, CompUser t4 "
+            + "LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID "
+            + "WHERE (? < ALL (SELECT t4.age FROM CR_COMPUSER t3, CR_COMPUESR t4 "
             + "WHERE (t3.userid = t4.userid) AND (t2.id = t3.ADD_ID)) AND 1 = 1)";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -454,10 +454,10 @@
     //FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id 
     //LEFT OUTER JOIN CR_CUST t5 ON t0.CUSTOMER_ID = t5.id 
     //LEFT OUTER JOIN CR_ADDR t6 ON t5.ADDRESS_ID = t6.id 
-    //LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t4.age 
-    //FROM CR_ADDR t2 INNER JOIN CompUser t3 ON t2.id = t3.ADD_ID, CompUser t4 
+    //FROM CR_ADDR t2 INNER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID, CR_COMPUSER t4 
     //WHERE (t3.userid = t4.userid) AND (t1.ADDRESS_ID = t2.id)) AS BIGINT))}
     //[code=30000, state=42X01]
     public void ctestSubqueries6f() {
@@ -474,9 +474,9 @@
             + "FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_CUST t5 ON t0.CUSTOMER_ID = t5.id "
             + "LEFT OUTER JOIN CR_ADDR t6 ON t5.ADDRESS_ID = t6.id "
-            + "LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID "
+            + "LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID "
             + "WHERE (? < ALL (SELECT t4.age "
-            + "FROM CR_ADDR t2 INNER JOIN CompUser t3 ON t2.id = t3.ADD_ID, CompUser t4 "
+            + "FROM CR_ADDR t2 INNER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID, CR_COMPUSER t4 "
             + "WHERE (t3.userid = t4.userid) AND (t1.ADDRESS_ID = t2.id)))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -493,10 +493,10 @@
     //FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id 
     //LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id 
     //LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id 
-    //LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t3.age 
-    //FROM CR_ADDR t2 INNER JOIN CompUser t3 ON t2.id = t3.ADD_ID 
+    //FROM CR_ADDR t2 INNER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID 
     //WHERE (t1.ADDRESS_ID = t2.id)) AS BIGINT))} [code=30000, state=42X01]
     public void ctestSubqueries6g() {
         String jpql = "SELECT o FROM Order o JOIN o.customer c WHERE 10000 < "
@@ -510,10 +510,10 @@
             + "INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_CUST t4 ON t0.CUSTOMER_ID = t4.id "
             + "LEFT OUTER JOIN CR_ADDR t5 ON t4.ADDRESS_ID = t5.id "
-            + "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID WHERE (? < ALL ("
+            + "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID WHERE (? < ALL ("
             + "SELECT t3.age "
             + "FROM CR_ADDR t2 "
-            + "INNER JOIN CompUser t3 ON t2.id = t3.ADD_ID WHERE (t1.ADDRESS_ID = t2.id)))";
+            + "INNER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID WHERE (t1.ADDRESS_ID = t2.id)))";
 
         executeAndCompareSQL(jpql, expectedSQL);
     }
@@ -529,10 +529,10 @@
     //FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id 
     //INNER JOIN CR_ADDR t2 ON t1.ADDRESS_ID = t2.id 
     //LEFT OUTER JOIN CR_ADDR t6 ON t1.ADDRESS_ID = t6.id 
-    //LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID 
+    //LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID 
     //WHERE (CAST(? AS BIGINT) < 
     //CAST(ALL (SELECT t5.age 
-    //FROM CR_CUST t3, CompUser t4, CompUser t5 
+    //FROM CR_CUST t3, CR_COMPUSER t4, CR_COMPUSER t5 
     //WHERE (t4.userid = t5.userid) AND (t0.CUSTOMER_ID = t3.id) AND (t2.id = t4.ADD_ID))
     //AS BIGINT))} [code=30000, state=42X01]
     public void ctestSubqueries6h() {
@@ -549,8 +549,8 @@
             + "FROM CR_ODR t0 INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "INNER JOIN CR_ADDR t2 ON t1.ADDRESS_ID = t2.id "
             + "LEFT OUTER JOIN CR_ADDR t6 ON t1.ADDRESS_ID = t6.id "
-            + "LEFT OUTER JOIN CompUser t7 ON t6.id = t7.ADD_ID WHERE (? < ALL ("
-            + "SELECT t5.age FROM  CR_CUST t3,  CompUser t4, CompUser t5 "
+            + "LEFT OUTER JOIN CR_COMPUSER t7 ON t6.id = t7.ADD_ID WHERE (? < ALL ("
+            + "SELECT t5.age FROM  CR_CUST t3,  CR_COMPUSER t4, CR_COMPUSER t5 "
             + "WHERE (t4.userid = t5.userid) AND (t0.CUSTOMER_ID = t3.id) AND (t2.id = t4.ADD_ID)))";
       
         executeAndCompareSQL(jpql, expectedSQL);
@@ -560,7 +560,7 @@
         String jpql = "SELECT DISTINCT c.name FROM CompUser c WHERE EXISTS"
             + " (SELECT a FROM Address a WHERE a = c.address )";
 
-        String expectedSQL = "SELECT DISTINCT t1.name FROM CompUser t1 WHERE (EXISTS ("
+        String expectedSQL = "SELECT DISTINCT t1.name FROM CR_COMPUSER t1 WHERE (EXISTS ("
             + "SELECT t0.id FROM CR_ADDR t0 WHERE (t0.id = t1.ADD_ID)))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -571,9 +571,9 @@
             + " (SELECT s FROM CompUser s WHERE s.address.country = "
             + "o.address.country)";
 
-        String expectedSQL = "SELECT DISTINCT t2.name " + "FROM CompUser t2 "
+        String expectedSQL = "SELECT DISTINCT t2.name " + "FROM CR_COMPUSER t2 "
         + "INNER JOIN CR_ADDR t3 ON t2.ADD_ID = t3.id "
-        + "WHERE (EXISTS (" + "SELECT t0.userid " + "FROM CompUser t0 "
+        + "WHERE (EXISTS (" + "SELECT t0.userid " + "FROM CR_COMPUSER t0 "
         + "INNER JOIN CR_ADDR t1 ON t0.ADD_ID = t1.id "
         + "WHERE (t1.country = t3.country)))";
 
@@ -592,7 +592,7 @@
             "LEFT OUTER JOIN CR_ODR t1 ON t0.id = t1.CUSTOMER_ID " +
             "LEFT OUTER JOIN CR_ODR t2 ON t0.id = t2.CUSTOMER_ID " +
             "LEFT OUTER JOIN CR_ADDR t5 ON t0.ADDRESS_ID = t5.id " +
-            "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID WHERE (EXISTS (" +
+            "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID WHERE (EXISTS (" +
             "SELECT t4.id FROM CR_ODR t3, CR_ODR t4 " +
             "WHERE (t2.id = t4.id AND t3.id = t4.id) AND (t0.id = t3.CUSTOMER_ID)))";
 
@@ -603,7 +603,7 @@
         String jpql = "SELECT DISTINCT c.name FROM CompUser c WHERE NOT EXISTS"
             + " (SELECT a FROM Address a WHERE a = c.address )";
 
-        String expectedSQL = "SELECT DISTINCT t1.name FROM CompUser t1 WHERE (NOT (EXISTS ("
+        String expectedSQL = "SELECT DISTINCT t1.name FROM CR_COMPUSER t1 WHERE (NOT (EXISTS ("
             + "SELECT t0.id FROM CR_ADDR t0 WHERE (t0.id = t1.ADD_ID))))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -621,7 +621,7 @@
             "LEFT OUTER JOIN CR_ODR t1 ON t0.id = t1.CUSTOMER_ID " +
             "LEFT OUTER JOIN CR_ODR t2 ON t0.id = t2.CUSTOMER_ID " +
             "LEFT OUTER JOIN CR_ADDR t5 ON t0.ADDRESS_ID = t5.id " +
-            "LEFT OUTER JOIN CompUser t6 ON t5.id = t6.ADD_ID WHERE (NOT (EXISTS (" +
+            "LEFT OUTER JOIN CR_COMPUSER t6 ON t5.id = t6.ADD_ID WHERE (NOT (EXISTS (" +
             "SELECT t4.id FROM CR_ODR t3, CR_ODR t4 " +
             "WHERE (t2.id = t4.id AND t3.id = t4.id) AND (t0.id = t3.CUSTOMER_ID))))";
 
@@ -634,11 +634,11 @@
             + " FROM CompUser s WHERE s.address.country IS NOT NULL)";
 
         String expectedSQL = "SELECT t0.name "
-            + "FROM CompUser t0 "
+            + "FROM CR_COMPUSER t0 "
             + "INNER JOIN CR_ADDR t1 ON t0.ADD_ID = t1.id "
             + "WHERE (t1.zipCode = ANY ("
             + "SELECT t2.compName "
-            + "FROM CompUser t2 "
+            + "FROM CR_COMPUSER t2 "
             + "INNER JOIN CR_ADDR t3 ON t2.ADD_ID = t3.id WHERE (t3.country IS NOT NULL)))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -684,7 +684,7 @@
             + "FROM CR_ODR t0 "
             + "INNER JOIN CR_CUST t1 ON t0.CUSTOMER_ID = t1.id "
             + "LEFT OUTER JOIN CR_ADDR t4 ON t1.ADDRESS_ID = t4.id "
-            + "LEFT OUTER JOIN CompUser t5 ON t4.id = t5.ADD_ID WHERE (t1.balanceOwed = ("
+            + "LEFT OUTER JOIN CR_COMPUSER t5 ON t4.id = t5.ADD_ID WHERE (t1.balanceOwed = ("
             + "SELECT MAX(t3.balanceOwed) FROM CR_ODR t2 "
             + "INNER JOIN CR_CUST t3 ON t2.CUSTOMER_ID = t3.id WHERE (t0.CUSTOMER_ID = t2.CUSTOMER_ID)))";
 
@@ -937,7 +937,7 @@
         "t0.status " + 
         "FROM CR_CUST t0 " + 
         "LEFT OUTER JOIN CR_ADDR t2 ON t0.ADDRESS_ID = t2.id " + 
-        "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID " + 
+        "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID " + 
         "WHERE (t0.creditRating = (" + 
         "SELECT  CASE  WHEN t1.quantity > ? THEN 0 WHEN t1.quantity = ? THEN 1 ELSE 2 END  " + 
         "FROM CR_ODR t1 WHERE (t0.id = t1.CUSTOMER_ID)))";
@@ -960,7 +960,7 @@
         "t0.status " + 
         "FROM CR_CUST t0 " + 
         "LEFT OUTER JOIN CR_ADDR t2 ON t0.ADDRESS_ID = t2.id " + 
-        "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID WHERE (t0.creditRating = (" + 
+        "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID WHERE (t0.creditRating = (" + 
         "SELECT  COALESCE(t1.creditRating,0) FROM CR_CUST t1 WHERE (t1.name = ?))) " + 
         "ORDER BY t0.name DESC";
 
@@ -982,7 +982,7 @@
         "t0.name, t0.status " + 
         "FROM CR_CUST t0 " + 
         "LEFT OUTER JOIN CR_ADDR t2 ON t0.ADDRESS_ID = t2.id " + 
-        "LEFT OUTER JOIN CompUser t3 ON t2.id = t3.ADD_ID WHERE (t0.creditRating = (" + 
+        "LEFT OUTER JOIN CR_COMPUSER t3 ON t2.id = t3.ADD_ID WHERE (t0.creditRating = (" + 
         "SELECT  NULLIF(t1.creditRating,0) FROM CR_CUST t1 WHERE (t1.name = ?))) " + 
         "ORDER BY t0.name DESC";
 
@@ -1000,7 +1000,7 @@
             "FROM CR_ODR t0 " +
             "LEFT OUTER JOIN CR_CUST t2 ON t0.CUSTOMER_ID = t2.id " +
             "LEFT OUTER JOIN CR_ADDR t3 ON t2.ADDRESS_ID = t3.id " +
-            "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID WHERE (CAST(t0.count AS BIGINT) > " +
+            "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID WHERE (CAST(t0.count AS BIGINT) > " +
             "CAST((SELECT COUNT(t1.id) FROM CR_ODR t1) AS BIGINT))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -1017,7 +1017,7 @@
             "FROM CR_ODR t0 " +
             "LEFT OUTER JOIN CR_CUST t2 ON t0.CUSTOMER_ID = t2.id " +
             "LEFT OUTER JOIN CR_ADDR t3 ON t2.ADDRESS_ID = t3.id " +
-            "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID WHERE (CAST(t0.count AS BIGINT) > " +
+            "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID WHERE (CAST(t0.count AS BIGINT) > " +
             "CAST((SELECT COUNT(t1.id) FROM CR_ODR t1) AS BIGINT))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -1059,7 +1059,7 @@
         "t1.balanceOwed, t1.creditRating, t1.filledOrderCount, t1.firstName, t1.lastName, t1.name, " +
         "t1.status " +
         "FROM CR_CUST t1 LEFT OUTER JOIN CR_ADDR t3 ON t1.ADDRESS_ID = t3.id " +
-        "LEFT OUTER JOIN CompUser t4 ON t3.id = t4.ADD_ID WHERE (NOT (EXISTS (" +
+        "LEFT OUTER JOIN CR_COMPUSER t4 ON t3.id = t4.ADD_ID WHERE (NOT (EXISTS (" +
         "SELECT t0.id FROM CR_ACCT t0 WHERE (t0.CUSTOMER_ID = t1.id AND EXISTS (" +
         "SELECT t2.id FROM CR_ODR t2 WHERE (t2.CUSTOMER_ID = t1.id AND CAST(t2.count AS BIGINT) = " +
         "CAST(? AS BIGINT)))))))";
@@ -1075,7 +1075,7 @@
 
         String expectedSQL = "SELECT t1.pid, t1.version, t1.productType FROM CR_PRD t1 WHERE (NOT (EXISTS (" +
             "SELECT t0.id FROM CR_ACCT t0 WHERE (t0.PRODUCT_PID = t1.pid AND EXISTS (" +
-            "SELECT t2.id FROM Request t2 WHERE (t2.ACCOUNT_ID = t0.id AND CAST(t2.status AS BIGINT) = " +
+            "SELECT t2.id FROM CR_REQ t2 WHERE (t2.ACCOUNT_ID = t0.id AND CAST(t2.status AS BIGINT) = " +
             "CAST(? AS BIGINT)))))))";
 
         executeAndCompareSQL(jpql, expectedSQL);
@@ -1130,7 +1130,7 @@
             + "LEFT OUTER JOIN CR_ADDR t7 ON t6.ADDRESS_ID = t7.id "
             + "INNER JOIN CR_ACCT t3 ON t2.ACCOUNTS_ID = t3.id "
             + "INNER JOIN CR_ACCT t4 ON t2.ACCOUNTS_ID = t4.id "
-            + "LEFT OUTER JOIN CompUser t8 ON t7.id = t8.ADD_ID WHERE (t1.name = "
+            + "LEFT OUTER JOIN CR_COMPUSER t8 ON t7.id = t8.ADD_ID WHERE (t1.name = "
             + "ANY (SELECT t5.name FROM CR_ACCT t5 "
             + "WHERE (t4.OWNER_ID = t5.OWNER_ID)) AND 1 = 1)";