You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by tf...@apache.org on 2005/02/18 11:04:38 UTC

cvs commit: db-torque/src/java/org/apache/torque/util SQLBuilder.java Criteria.java

tfischer    2005/02/18 02:04:38

  Modified:    src/java/org/apache/torque/util SQLBuilder.java
                        Criteria.java
  Log:
  allow dots in autogenerated table names
  This is a first step towards support of fully qualified table names (<table name="schema_name.table_name" ... >) in the generator.
  I did not notice any further problems with such table names in the runtime.
  The generator still produces invalid java names, but this can be overridden via the javaName attribute of the table tag.
  
  Revision  Changes    Path
  1.3       +6 -9      db-torque/src/java/org/apache/torque/util/SQLBuilder.java
  
  Index: SQLBuilder.java
  ===================================================================
  RCS file: /home/cvs/db-torque/src/java/org/apache/torque/util/SQLBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SQLBuilder.java	31 Jan 2005 19:43:52 -0000	1.2
  +++ SQLBuilder.java	18 Feb 2005 10:04:37 -0000	1.3
  @@ -470,17 +470,16 @@
               for (int i = 0; i < orderBy.size(); i++)
               {
                   String orderByColumn = (String) orderBy.get(i);
  -                if (orderByColumn.indexOf('.') == -1)
  +                int dotPos = orderByColumn.lastIndexOf('.');
  +                if (dotPos == -1)
                   {
                       throwMalformedColumnNameException(
                               "order by",
                               orderByColumn);
                   }
   
  -                //String table =
  -                //    orderByColumn.substring(0, orderByColumn.lastIndexOf('.'));
                   String tableName =
  -                        orderByColumn.substring(0, orderByColumn.indexOf('.'));
  +                        orderByColumn.substring(0, dotPos);
                   String table = crit.getTableForAlias(tableName);
                   if (table == null)
                   {
  @@ -494,13 +493,11 @@
                   if (spacePos == -1)
                   {
                       columnName =
  -                            orderByColumn.substring(orderByColumn.indexOf('.') + 1);
  +                            orderByColumn.substring(dotPos + 1);
                   }
                   else
                   {
  -                    columnName = orderByColumn.substring(
  -                            orderByColumn.indexOf('.') + 1,
  -                            spacePos);
  +                    columnName = orderByColumn.substring(dotPos + 1, spacePos);
                   }
                   ColumnMap column = dbMap.getTable(table).getColumn(columnName);
                   if (column.getType() instanceof String)
  
  
  
  1.46      +2 -2      db-torque/src/java/org/apache/torque/util/Criteria.java
  
  Index: Criteria.java
  ===================================================================
  RCS file: /home/cvs/db-torque/src/java/org/apache/torque/util/Criteria.java,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- Criteria.java	31 Jan 2005 19:43:52 -0000	1.45
  +++ Criteria.java	18 Feb 2005 10:04:37 -0000	1.46
  @@ -3070,7 +3070,7 @@
           Criterion(String tableColumn, Object val, SqlEnum comp)
           {
               this(val, comp);
  -            int dot = tableColumn.indexOf('.');
  +            int dot = tableColumn.lastIndexOf('.');
               if (dot == -1)
               {
                   table = "";
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org