jmcnally    01/12/13 08:58:07

  Modified:    src/dtd  database.dtd
               src/java/org/apache/torque/engine/database/model
                        Database.java Table.java
  Log:
  added flag to shut off heavy indexing on a table by table basis or for the entire 
schema.
  
  Revision  Changes    Path
  1.7       +3 -2      jakarta-turbine-torque/src/dtd/database.dtd
  
  Index: database.dtd
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-torque/src/dtd/database.dtd,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- database.dtd      2001/11/07 19:54:12     1.6
  +++ database.dtd      2001/12/13 16:58:07     1.7
  @@ -1,6 +1,6 @@
   <!-- 
       Torque XML database schema DTD 
  -    $Id: database.dtd,v 1.6 2001/11/07 19:54:12 jvanzyl Exp $
  +    $Id: database.dtd,v 1.7 2001/12/13 16:58:07 jmcnally Exp $
   -->
   
   <!--
  @@ -38,8 +38,8 @@
     package CDATA #IMPLIED
     baseClass CDATA #IMPLIED
     basePeer CDATA #IMPLIED
  -
     defaultJavaNamingMethod (nochange|underscore|javaname) "underscore"
  +  skipHeavyIndexing (true|false) "false"
   >
   
   <!ELEMENT table (column+,(foreign-key|index|unique|id-method-parameter)*)>
  @@ -53,6 +53,7 @@
     basePeer CDATA #IMPLIED
     alias CDATA #IMPLIED
     javaNamingMethod (nochange|underscore|javaname) #IMPLIED
  +  skipHeavyIndexing (true|false) "false"
   >
   
   <!ELEMENT id-method-parameter EMPTY>
  
  
  
  1.8       +23 -2     
jakarta-turbine-torque/src/java/org/apache/torque/engine/database/model/Database.java
  
  Index: Database.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/engine/database/model/Database.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Database.java     2001/11/08 17:20:52     1.7
  +++ Database.java     2001/12/13 16:58:07     1.8
  @@ -76,7 +76,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]>Martin Poeschl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]>Daniel Rall</a>
    * @author <a href="mailto:byron_foster@[EMAIL PROTECTED]>Byron Foster</a>
  - * @version $Id: Database.java,v 1.7 2001/11/08 17:20:52 mpoeschl Exp $
  + * @version $Id: Database.java,v 1.8 2001/12/13 16:58:07 jmcnally Exp $
    */
   public class Database
   {
  @@ -92,7 +92,8 @@
       private AppData dbParent;
       private Hashtable tablesByName = new Hashtable();
       private Hashtable tablesByJavaName = new Hashtable();
  -
  +    private boolean skipHeavyIndexing;
  +    
       /**
        * Creates a new instance with unset attributes.
        */
  @@ -115,6 +116,8 @@
           {
               defaultJavaNamingMethod = NameGenerator.CONV_METHOD_UNDERSCORE;
           }
  +        skipHeavyIndexing = "true"
  +            .equals(attrib.getValue("skipHeavyIndexing"));
       }
   
       /**
  @@ -232,6 +235,24 @@
           this.defaultJavaNamingMethod = v;
       }
   
  +    /**
  +     * Get the value of skipHeavyIndexing.
  +     * @return value of skipHeavyIndexing.
  +     */
  +    public boolean isSkipHeavyIndexing() 
  +    {
  +        return skipHeavyIndexing;
  +    }
  +    
  +    /**
  +     * Set the value of skipHeavyIndexing.
  +     * @param v  Value to assign to skipHeavyIndexing.
  +     */
  +    public void setSkipHeavyIndexing(boolean  v) 
  +    {
  +        this.skipHeavyIndexing = v;
  +    }
  +    
       /**
        * Return an array of all tables
        */
  
  
  
  1.19      +9 -4      
jakarta-turbine-torque/src/java/org/apache/torque/engine/database/model/Table.java
  
  Index: Table.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/engine/database/model/Table.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Table.java        2001/12/13 01:09:28     1.18
  +++ Table.java        2001/12/13 16:58:07     1.19
  @@ -75,7 +75,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]>John McNally</a>
    * @author <a href="mailto:[EMAIL PROTECTED]>Daniel Rall</a>
    * @author <a href="mailto:byron_foster@[EMAIL PROTECTED]>Byron Foster</a>
  - * @version $Id: Table.java,v 1.18 2001/12/13 01:09:28 dlr Exp $
  + * @version $Id: Table.java,v 1.19 2001/12/13 16:58:07 jmcnally Exp $
    */
   public class Table implements IDMethod
   {
  @@ -105,6 +105,7 @@
       private Hashtable columnsByName;
       private Hashtable columnsByJavaName;
       private boolean needsTransactionInPostgres;
  +    private boolean skipHeavyIndexing;
   
       /**
        * Default Constructor
  @@ -164,6 +165,8 @@
           baseClass = attrib.getValue("baseClass");
           basePeer = attrib.getValue("basePeer");
           alias = attrib.getValue("alias");
  +        skipHeavyIndexing = "true"
  +            .equals(attrib.getValue("skipHeavyIndexing"));
       }
   
       /**
  @@ -178,9 +181,11 @@
       {
           // Heavy indexing must wait until after all columns composing
           // a table's primary key have been parsed.
  -        // TODO: Make this conditional on Torque or RDBMS property.
  -        doHeavyIndexing();
  -
  +        if (!skipHeavyIndexing && !getDatabase().isSkipHeavyIndexing()) 
  +        {
  +            doHeavyIndexing();    
  +        }
  +        
           // Name any indices which are missing a name using the
           // appropriate algorithm.
           doNaming();
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to