[Jboss-cvs] JBossAS SVN: r56171 - trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 23 04:35:00 EDT 2006


Author: alex.loubyansky at jboss.com
Date: 2006-08-23 04:34:57 -0400 (Wed, 23 Aug 2006)
New Revision: 56171

Modified:
   trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/EJBQLToSQL92Compiler.java
   trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCEJBQLCompiler.java
   trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/QueryParameter.java
Log:
JBAS-3541

Modified: trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/EJBQLToSQL92Compiler.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/EJBQLToSQL92Compiler.java	2006-08-23 08:31:57 UTC (rev 56170)
+++ trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/EJBQLToSQL92Compiler.java	2006-08-23 08:34:57 UTC (rev 56171)
@@ -34,6 +34,7 @@
 import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCFieldBridge;
 import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCAbstractEntityBridge;
 import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCAbstractCMRFieldBridge;
+import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCReadAheadMetaData;
 import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCTypeMappingMetaData;
 import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData;
 import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCFunctionMappingMetaData;
@@ -56,6 +57,7 @@
    private final Catalog catalog;
    private Class returnType;
    private Class[] parameterTypes;
+   private JDBCReadAheadMetaData readAhead;
 
    // alias info
    private AliasManager aliasManager;
@@ -79,6 +81,7 @@
    private List inputParameters = new ArrayList();
 
    private List leftJoinCMRList = new ArrayList();
+   private StringBuffer onFindCMRJoin;
 
    private boolean countCompositePk;
 
@@ -96,6 +99,7 @@
       // set input arguemts
       this.returnType = returnType;
       this.parameterTypes = parameterTypes;
+      this.readAhead = metadata.getReadAhead();
 
       // get the parser
       EJBQLParser parser = new EJBQLParser(new StringReader(""));
@@ -131,6 +135,7 @@
       // set input arguemts
       this.returnType = returnType;
       this.parameterTypes = parameterTypes;
+      this.readAhead = metadata.getReadAhead();
 
       // get the parser
       JBossQLParser parser = new JBossQLParser(new StringReader(""));
@@ -666,11 +671,7 @@
          ASTParameter param = (ASTParameter) child0;
          Class type = getParameterType(param.number);
 
-         QueryParameter queryParam = new QueryParameter(param.number - 1,
-            false, // isPrimaryKeyParameter
-            null, // field
-            null, // parameter
-            typeFactory.getJDBCTypeForJavaType(type));
+         QueryParameter queryParam = new QueryParameter(param.number - 1, typeFactory.getJDBCType(type));
          inputParameters.add(queryParam);
 
          sql.append("? IS ");
@@ -1214,11 +1215,7 @@
             "parameter node. Should have been handled at a higher level.");
       }
 
-      QueryParameter param = new QueryParameter(node.number - 1,
-         false, // isPrimaryKeyParameter
-         null, // field
-         null, // parameter
-         typeFactory.getJDBCTypeForJavaType(type));
+      QueryParameter param = new QueryParameter(node.number - 1, typeFactory.getJDBCType(type));
       inputParameters.add(param);
       buf.append('?');
 
@@ -1262,6 +1259,7 @@
 
    public Object visit(ASTFrom from, Object data)
    {
+      StringBuffer sql = (StringBuffer) data;
       from.jjtGetChild(0).jjtAccept(this, data);
       for(int i = 1; i < from.jjtGetNumChildren(); ++i)
       {
@@ -1531,6 +1529,7 @@
    {
       returnType = null;
       parameterTypes = null;
+      readAhead = null;
       inputParameters.clear();
       selectObject = null;
       selectManager = null;
@@ -1543,6 +1542,7 @@
       offsetParam = 0;
       offsetValue = 0;
       leftJoinCMRList.clear();
+      onFindCMRJoin = null;
       countCompositePk = false;
       joinPaths.clear();
       identifierToTable.clear();

Modified: trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCEJBQLCompiler.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCEJBQLCompiler.java	2006-08-23 08:31:57 UTC (rev 56170)
+++ trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCEJBQLCompiler.java	2006-08-23 08:34:57 UTC (rev 56171)
@@ -1133,11 +1133,7 @@
          ASTParameter param = (ASTParameter) child0;
          Class type = getParameterType(param.number);
 
-         QueryParameter queryParam = new QueryParameter(param.number - 1,
-            false, // isPrimaryKeyParameter
-            null, // field
-            null, // parameter
-            typeFactory.getJDBCTypeForJavaType(type));
+         QueryParameter queryParam = new QueryParameter(param.number - 1, typeFactory.getJDBCType(type));
          inputParameters.add(queryParam);
 
          buf.append("? IS ");
@@ -1677,11 +1673,7 @@
             "parameter node. Should have been handled at a higher level.");
       }
 
-      QueryParameter param = new QueryParameter(node.number - 1,
-         false, // isPrimaryKeyParameter
-         null, // field
-         null, // parameter
-         typeFactory.getJDBCTypeForJavaType(type));
+      QueryParameter param = new QueryParameter(node.number - 1, typeFactory.getJDBCType(type));
       inputParameters.add(param);
       buf.append('?');
       return buf;

Modified: trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/QueryParameter.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/QueryParameter.java	2006-08-23 08:31:57 UTC (rev 56170)
+++ trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/QueryParameter.java	2006-08-23 08:34:57 UTC (rev 56171)
@@ -62,13 +62,7 @@
       }
       else
       {
-         QueryParameter param = new QueryParameter(
-            argNum,
-            false,
-            null,
-            null,
-            type.getJDBCTypes()[0]);
-         param.type = type;
+         QueryParameter param = new QueryParameter(argNum, type);
          parameters = Collections.singletonList(param);
       }
       return parameters;
@@ -155,7 +149,7 @@
    private final boolean isPrimaryKeyParameter;
    private JDBCFieldBridge field;
    private JDBCTypeComplexProperty property;
-   private final String parameterString;
+   private String parameterString;
 
    private int jdbcType;
    private JDBCType type;
@@ -259,6 +253,15 @@
       }
    }
 
+   public QueryParameter(int argNum, JDBCType type)
+   {
+      this.argNum = argNum;
+      this.type = type;
+      this.jdbcType = type.getJDBCTypes()[0];
+      this.isPrimaryKeyParameter = false;
+      initToString();
+   }
+
    public QueryParameter(
       int argNum,
       boolean isPrimaryKeyParameter,
@@ -273,6 +276,11 @@
       this.property = property;
       this.jdbcType = jdbcType;
 
+      initToString();
+   }
+
+   private void initToString()
+   {
       StringBuffer parameterBuf = new StringBuffer();
       parameterBuf.append(argNum);
       if(field != null)




More information about the jboss-cvs-commits mailing list