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]>