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 2013/08/15 04:23:37 UTC

svn commit: r1514132 [1/2] - in /db/torque/torque4/trunk/torque-templates/src/test: java/org/apache/torque/templates/ resources/org/apache/torque/templates/

Author: tfischer
Date: Thu Aug 15 02:23:36 2013
New Revision: 1514132

URL: http://svn.apache.org/r1514132
Log:
improve tests

Added:
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.css
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.xml
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-create.sql
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-idtable-init.sql
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema.html
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-create.sql
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-idtable-init.sql
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema.html
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-create.sql
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-idtable-init.sql
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema.html
    db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema.sql
Modified:
    db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java

Modified: db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java?rev=1514132&r1=1514131&r2=1514132&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java Thu Aug 15 02:23:36 2013
@@ -19,7 +19,11 @@ package org.apache.torque.templates;
  * under the License.
  */
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
 import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -28,6 +32,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.torque.generator.configuration.UnitDescriptor;
 import org.apache.torque.generator.configuration.option.MapOptionsConfiguration;
 import org.apache.torque.generator.configuration.paths.CustomProjectPaths;
@@ -73,19 +78,16 @@ public class TestProcessing
     }
 
     @Test
-    public void testProcessSchemaXml() throws Exception
+    public void testOmTemplates() throws Exception
     {
         final Controller controller = new Controller();
         final List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
         final Map<String, String> overrideOptions = new HashMap<String, String>();
-        overrideOptions.put("torque.database", "mysql");
         overrideOptions.put("torque.om.package", "org.apache.torque.test");
         overrideOptions.put("torque.om.generateMapInit", "true");
 
-        // om templates
-        CustomProjectPaths projectPaths
-                = new CustomProjectPaths(
-                    new Maven2DirectoryProjectPaths(new File(".")));
+        CustomProjectPaths projectPaths = new CustomProjectPaths(
+                new Maven2DirectoryProjectPaths(new File(".")));
         projectPaths.setConfigurationDir(
                 new File("src/main/resources/org/apache/torque/templates/om"));
         projectPaths.setSourceDir(
@@ -112,21 +114,37 @@ public class TestProcessing
                 new MapOptionsConfiguration(overrideOptions));
         unitDescriptors.add(unitDescriptor);
 
-        // sql createdb templates
-        projectPaths
-                = new CustomProjectPaths(
-                    new Maven2DirectoryProjectPaths(new File(".")));
+        // generate
+        controller.run(unitDescriptors);
+
+        // TODO assert output
+    }
+
+    @Test
+    public void testSqlCreatedbTemplates() throws Exception
+    {
+        File generationFolder = new File("target/generated-sql");
+        File generationFolder2 = new File("target/generated-sql-2");
+        FileUtils.deleteDirectory(generationFolder);
+        FileUtils.deleteDirectory(generationFolder2);
+
+        final Controller controller = new Controller();
+        final List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
+        final Map<String, String> overrideOptions = new HashMap<String, String>();
+        overrideOptions.put("torque.database", "mysql");
+        overrideOptions.put("torque.om.package", "org.apache.torque.test");
+        overrideOptions.put("torque.om.generateMapInit", "true");
+
+        CustomProjectPaths projectPaths = new CustomProjectPaths(
+                new Maven2DirectoryProjectPaths(new File(".")));
         projectPaths.setConfigurationDir(
                 new File("src/main/resources/org/apache/torque/templates/sql/createdb"));
-        projectPaths.setSourceDir(
-                new File(SCHEMA_DIR));
-        projectPaths.setOutputDirectory(
-                null,
-                new File("target/generated-sql"));
+        projectPaths.setSourceDir(new File(SCHEMA_DIR));
+        projectPaths.setOutputDirectory(null, generationFolder);
         projectPaths.setOutputDirectory(
                 Maven2ProjectPaths.MODIFIABLE_OUTPUT_DIR_KEY,
-                new File("target/generated-sql-2"));
-        unitDescriptor = new UnitDescriptor(
+                generationFolder2);
+        UnitDescriptor unitDescriptor = new UnitDescriptor(
                 UnitDescriptor.Packaging.DIRECTORY,
                 projectPaths,
                 new DefaultTorqueGeneratorPaths());
@@ -134,21 +152,45 @@ public class TestProcessing
                 new MapOptionsConfiguration(overrideOptions));
         unitDescriptors.add(unitDescriptor);
 
+        // generate
+        controller.run(unitDescriptors);
+
+        assertOutput(
+                "expected-schema-create.sql",
+                "target/generated-sql/schema-create.sql");
+        assertOutput(
+                "expected-ext-schema-create.sql",
+                "target/generated-sql/ext-schema-create.sql");
+        assertOutput(
+                "expected-extext-schema-create.sql",
+                "target/generated-sql/extext-schema-create.sql");
+        assertFalse(generationFolder2.exists());
+    }
+
+    @Test
+    public void testIdbrokerInitSqlTemplates() throws Exception
+    {
+        File generationFolder = new File("target/generated-sql");
+        File generationFolder2 = new File("target/generated-sql-2");
+        FileUtils.deleteDirectory(generationFolder);
+        FileUtils.deleteDirectory(generationFolder2);
+
+        final Controller controller = new Controller();
+        final List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
+        final Map<String, String> overrideOptions = new HashMap<String, String>();
+        overrideOptions.put("torque.database", "mysql");
+
         // idbroker-init-sql templates
-        projectPaths
-                = new CustomProjectPaths(
-                    new Maven2DirectoryProjectPaths(new File(".")));
+        CustomProjectPaths projectPaths = new CustomProjectPaths(
+                new Maven2DirectoryProjectPaths(new File(".")));
         projectPaths.setConfigurationDir(
                 new File("src/main/resources/org/apache/torque/templates/idtable"));
-        projectPaths.setSourceDir(
-                new File(SCHEMA_DIR));
-        projectPaths.setOutputDirectory(
-                null,
-                new File("target/generated-sql"));
+        projectPaths.setSourceDir(new File(SCHEMA_DIR));
+        projectPaths.setOutputDirectory(null, generationFolder);
         projectPaths.setOutputDirectory(
                 Maven2ProjectPaths.MODIFIABLE_OUTPUT_DIR_KEY,
-                new File("target/generated-sql-2"));
-        unitDescriptor = new UnitDescriptor(
+                generationFolder2);
+        UnitDescriptor unitDescriptor = new UnitDescriptor(
                 UnitDescriptor.Packaging.DIRECTORY,
                 projectPaths,
                 new DefaultTorqueGeneratorPaths());
@@ -156,20 +198,46 @@ public class TestProcessing
                 new MapOptionsConfiguration(overrideOptions));
         unitDescriptors.add(unitDescriptor);
 
+        // generate
+        controller.run(unitDescriptors);
+
+        assertOutput(
+                "expected-schema-idtable-init.sql",
+                "target/generated-sql/schema-idtable-init.sql");
+        assertOutput(
+                "expected-ext-schema-idtable-init.sql",
+                "target/generated-sql/ext-schema-idtable-init.sql");
+        assertOutput(
+                "expected-extext-schema-idtable-init.sql",
+                "target/generated-sql/extext-schema-idtable-init.sql");
+        assertFalse(generationFolder2.exists());
+    }
+
+    @Test
+    public void testHtmlDocTemplates() throws Exception
+    {
+        File generationFolder = new File("target/generated-docs");
+        File generationFolder2 = new File("target/generated-docs-2");
+        FileUtils.deleteDirectory(generationFolder);
+        FileUtils.deleteDirectory(generationFolder2);
+
+        final Controller controller = new Controller();
+        final List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
+        final Map<String, String> overrideOptions = new HashMap<String, String>();
+        overrideOptions.put("torque.om.package", "org.apache.torque.test");
+        overrideOptions.put("torque.om.generateMapInit", "true");
+
         // html doc templates
-        projectPaths = new CustomProjectPaths(
-                    new Maven2DirectoryProjectPaths(new File(".")));
+        CustomProjectPaths projectPaths = new CustomProjectPaths(
+                new Maven2DirectoryProjectPaths(new File(".")));
         projectPaths.setConfigurationDir(
                 new File("src/main/resources/org/apache/torque/templates/doc/html"));
-        projectPaths.setSourceDir(
-                new File(SCHEMA_DIR));
-        projectPaths.setOutputDirectory(
-                null,
-                new File("target/generated-docs"));
+        projectPaths.setSourceDir(new File(SCHEMA_DIR));
+        projectPaths.setOutputDirectory(null, generationFolder);
         projectPaths.setOutputDirectory(
                 Maven2ProjectPaths.MODIFIABLE_OUTPUT_DIR_KEY,
-                new File("target/generated-docs-2"));
-        unitDescriptor = new UnitDescriptor(
+                generationFolder2);
+        UnitDescriptor unitDescriptor = new UnitDescriptor(
                 UnitDescriptor.Packaging.DIRECTORY,
                 projectPaths,
                 new DefaultTorqueGeneratorPaths());
@@ -177,53 +245,86 @@ public class TestProcessing
                 new MapOptionsConfiguration(overrideOptions));
         unitDescriptors.add(unitDescriptor);
 
-        // xdoc doc templates
-        projectPaths = new CustomProjectPaths(
+        // generate
+        controller.run(unitDescriptors);
+
+        assertOutput(
+                "expected-datamodel.css",
+                "target/generated-docs/datamodel.css");
+        assertOutput(
+                "expected-schema.html",
+                "target/generated-docs/schema.html");
+        assertOutput(
+                "expected-ext-schema.html",
+                "target/generated-docs/ext-schema.html");
+        assertOutput(
+                "expected-extext-schema.html",
+                "target/generated-docs/extext-schema.html");
+        assertFalse(generationFolder2.exists());
+    }
+
+    @Test
+    public void testXdocTemplates() throws Exception
+    {
+        File generationFolder = new File("target/generated-xdocs");
+        File generationFolder2 = new File("target/generated-xdocs-2");
+        FileUtils.deleteDirectory(generationFolder);
+        FileUtils.deleteDirectory(generationFolder2);
+
+        final Controller controller = new Controller();
+        final List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
+        final Map<String, String> overrideOptions = new HashMap<String, String>();
+        overrideOptions.put("torque.om.package", "org.apache.torque.test");
+
+        CustomProjectPaths projectPaths = new CustomProjectPaths(
                 new Maven2DirectoryProjectPaths(new File(".")));
         projectPaths.setConfigurationDir(
                 new File("src/main/resources/org/apache/torque/templates/doc/xdoc"));
-        projectPaths.setSourceDir(
-                new File(SCHEMA_DIR));
-        projectPaths.setOutputDirectory(
-                null,
-                new File("target/generated-xdocs"));
+        projectPaths.setSourceDir(new File(SCHEMA_DIR));
+        projectPaths.setOutputDirectory(null, generationFolder);
         projectPaths.setOutputDirectory(
                 Maven2ProjectPaths.MODIFIABLE_OUTPUT_DIR_KEY,
-                new File("target/generated-xdocs-2"));
-        unitDescriptor = new UnitDescriptor(
+                generationFolder2);
+        UnitDescriptor unitDescriptor = new UnitDescriptor(
                 UnitDescriptor.Packaging.DIRECTORY,
                 projectPaths,
                 new DefaultTorqueGeneratorPaths());
+        unitDescriptors.add(unitDescriptor);
         unitDescriptor.setOverrideOptions(
                 new MapOptionsConfiguration(overrideOptions));
-        unitDescriptors.add(unitDescriptor);
 
         // generate
         controller.run(unitDescriptors);
+
+        assertOutput(
+                "expected-datamodel.xml",
+                "target/generated-xdocs/datamodel.xml");
+        assertFalse(generationFolder2.exists());
     }
 
     @Test
     public void testSqlDdlTemplates() throws Exception
     {
+        File generationFolder = new File("target/generated-sql");
+        File generationFolder2 = new File("target/generated-sql-2");
+        FileUtils.deleteDirectory(generationFolder);
+        FileUtils.deleteDirectory(generationFolder2);
+
         final Controller controller = new Controller();
         final List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
         final Map<String, String> overrideOptions = new HashMap<String, String>();
         overrideOptions.put("torque.database", "mysql");
 
-       // sql ddl templates
         final CustomProjectPaths projectPaths
                 = new CustomProjectPaths(
                     new Maven2DirectoryProjectPaths(new File(".")));
         projectPaths.setConfigurationDir(
                 new File("src/main/resources/org/apache/torque/templates/sql"));
-        projectPaths.setSourceDir(
-                new File(SCHEMA_DIR));
-        projectPaths.setOutputDirectory(
-                null,
-                new File("target/generated-sql"));
+        projectPaths.setSourceDir(new File(SCHEMA_DIR));
+        projectPaths.setOutputDirectory(null, generationFolder);
         projectPaths.setOutputDirectory(
                 Maven2ProjectPaths.MODIFIABLE_OUTPUT_DIR_KEY,
-                new File("target/generated-sql-2"));
+                generationFolder2);
         final UnitDescriptor unitDescriptor = new UnitDescriptor(
                 UnitDescriptor.Packaging.DIRECTORY,
                 projectPaths,
@@ -235,13 +336,32 @@ public class TestProcessing
         // generate
         controller.run(unitDescriptors);
 
-        // assert sql ddl
-//        final String expected = IOUtils.toString(
-//                getClass().getResourceAsStream("schema.sql"),
-//                "ISO-8859-1");
-//        final String actual = FileUtils.readFileToString(
-//                new File("target/generated-sql/schema.sql"),
-//                "iso-8859-1");
-//        assertEquals(expected, actual);
+        assertOutput("expected-schema.sql", "target/generated-sql/schema.sql");
+        assertFalse(generationFolder2.exists());
+    }
+
+    private void assertOutput(
+                final String expectedFilename,
+                final String actualFilename)
+            throws IOException
+    {
+        String expected = IOUtils.toString(
+                getClass().getResourceAsStream(expectedFilename),
+                "ISO-8859-1");
+        // remove license header
+        int licenseHeaderEnd = expected.lastIndexOf("##\n");
+        if (licenseHeaderEnd != -1)
+        {
+            expected = expected.substring(licenseHeaderEnd + 3);
+        }
+        else
+        {
+            expected = expected.substring(expected.lastIndexOf("##\r\n") + 4);
+        }
+
+        final String actual = FileUtils.readFileToString(
+                new File(actualFilename),
+                "iso-8859-1");
+        assertEquals(expected, actual);
     }
 }

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.css
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.css?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.css (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.css Thu Aug 15 02:23:36 2013
@@ -0,0 +1,118 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+/*
+Copyright 2001-2005 The Apache Software Foundation.
+
+Licensed under the Apache License, Version 2.0 (the "License")
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+/*
+===============================================================
+css stylesheet for the html documentation generated by Torque
+will not be overwritten any more once the file exists
+===============================================================
+*/
+
+/* for the html body */
+body { font-family: Verdana; font-size: 10pt; color:black; }
+/* for all links */
+.link { }
+
+/* for the whole summary table */
+.summarytable { margin:0px; padding:0px; border-collapse:collapse; width:100%; }
+/* for all td's of the summary table */
+.summaryborder { border:1px solid black; }
+
+/* for the headline of the summary table */
+.summaryhead { }
+/* for all td's of the headline of the summary table */
+.summaryheadbackground { background-color:#CCCCCC; }
+/* for the different cells of the headline of the summary table */
+/* e.g. use display:none for not displaying a certain column  */
+.summaryheadtablename { }
+.summaryheadjavaname { }
+.summaryheaddescription { }
+
+/* for all regular rows of the summary table */
+.summaryrow { }
+/* for all td's in regular rows of the summary table */
+.summarybackground { background-color:white; }
+/* for the different cells in the regular rows of the summary table */
+/* e.g. use display:none for not displaying a certain column */
+.summarytablename { }
+.summaryjavaname { }
+.summarydescription { }
+
+/* for the hrefs in the summary table */
+.summarytablenamelink { }
+
+/* for the headline of the detail tables */
+.detailtable { margin:0px; padding:0px; border-collapse:collapse; width:100%; }
+/* for all td's of the summary table */
+.detailborder { border:1px solid black; }
+
+/* for the headline of the detail tables */
+.detailhead { }
+/* for all td's in the headline of the detail tables */
+.detailheadbackground { background-color:#CCCCCC; }
+/* for the different cells in the headline of the detail tables */
+/* e.g. use display:none for not displaying a certain column */
+.detailheadname { }
+.detailheadtype { } 
+.detailheadsize { }
+.detailheaddefault { }
+.detailheadjavaname { }
+.detailheadpk { }
+.detailheadfk { }
+.detailheadnotnull { }
+.detailheaddescription { }
+
+/* for all regular rows in the detail tables */
+.detailrow { }
+/* for all td's in the regular rows in the detail tables */
+.detailbackground { background-color:white; }
+/* for the different cells in the regular rows of the detail tables */
+/* e.g use display:none for not displaying a certain column */
+.detailname { }
+.detailtype { } 
+.detailsize { }
+.detaildefault { }
+.detailjavaname { }
+.detailpk { }
+.detailfk { }
+.detailnotnull { }
+.detaildescription { }
+
+/* for the links to the referenced tables for foreign key column names */
+.detailforeignkeylink { color:#44AA44; }
+/* for the name cell of primary keys */
+.primarykey { background-color:#FFCCCC; }
+/* for the name cell of foreign keys */
+.foreignkey { }
+/* for the name cell of not null columns */
+.notnull { }

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.xml
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.xml?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.xml (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-datamodel.xml Thu Aug 15 02:23:36 2013
@@ -0,0 +1,870 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+<document>
+  <properties>
+    <title>bookstore</title>
+  </properties>
+
+  <body>
+
+    <section name="bookstore">
+
+      <table class="summarytable">
+        <tr class="summaryhead">
+          <th class="summaryheadbackground summaryborder summaryheadtablename">Table Name</th>
+          <th class="summaryheadbackground summaryborder summaryheadjavaname">OM Class</th>
+          <th class="summaryheadbackground summaryborder summaryheaddescription">Description</th>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#a" class="link summarytablenamelink">a</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">A</td>
+          <td class="summarybackground summaryborder summarydescription"> A table</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#b" class="link summarytablenamelink">b</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">B</td>
+          <td class="summarybackground summaryborder summarydescription"> B table</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#r_ab" class="link summarytablenamelink">r_ab</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">RAb</td>
+          <td class="summarybackground summaryborder summarydescription"> r_ab table</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#c" class="link summarytablenamelink">c</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">C</td>
+          <td class="summarybackground summaryborder summarydescription"> c table contains fk to ar_ab, a and b</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#d" class="link summarytablenamelink">d</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">D</td>
+          <td class="summarybackground summaryborder summarydescription"> c table contains fk to ar_ab, a and b</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#nopk" class="link summarytablenamelink">nopk</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">Nopk</td>
+          <td class="summarybackground summaryborder summarydescription"> this table has no pk</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#MULTIPK_SELF_REFTABLE" class="link summarytablenamelink">MULTIPK_SELF_REFTABLE</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">MultipkSelfReftable</td>
+          <td class="summarybackground summaryborder summarydescription"> this table has no pk</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#ifc_table" class="link summarytablenamelink">ifc_table</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">IfcTable</td>
+          <td class="summarybackground summaryborder summarydescription"> this table implements an interface</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#ifc_table2" class="link summarytablenamelink">ifc_table2</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">IfcTable2</td>
+          <td class="summarybackground summaryborder summarydescription"> this table implements a local interface</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#INHERITANCE_TEST" class="link summarytablenamelink">INHERITANCE_TEST</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">InheritanceTest</td>
+          <td class="summarybackground summaryborder summarydescription"> Table to test inheritance</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#ext_schema" class="link summarytablenamelink">ext_schema</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">ExtSchema</td>
+          <td class="summarybackground summaryborder summarydescription"> Table to test inheritance</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#extext_schema" class="link summarytablenamelink">extext_schema</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">ExtextSchema</td>
+          <td class="summarybackground summaryborder summarydescription"> Table to test inheritance</td>
+        </tr>
+        <tr class="summaryrow">
+          <td class="summarybackground summaryborder summarytablename"><a href="#torque.qualified_name" class="link summarytablenamelink">torque.qualified_name</a></td>
+          <td class="summarybackground summaryborder summaryjavaname">QualifiedName</td>
+          <td class="summarybackground summaryborder summarydescription"> Table to test inheritance</td>
+        </tr>
+      </table>
+
+<subsection name="a">
+  <p>
+    A table
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="aa_id">a_id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">AId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="aname">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> a_name</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="b">
+  <p>
+    B table
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="bb_id">b_id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">BId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="bname">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="r_ab">
+  <p>
+    r_ab table
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey foreignkey notnull" id="r_aba_id">a_id
+        <a href="#a" title="Foreign key to a.a_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">AId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey foreignkey notnull" id="r_abb_id">b_id
+        <a href="#b" title="Foreign key to b.b_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">BId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="r_abname">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="c">
+  <p>
+    c table contains fk to ar_ab, a and b
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="cc_id">c_id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">CId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname foreignkey notnull" id="ca_id">a_id
+        <a href="#r_ab" title="Foreign key to r_ab.a_id" class="link detailforeignkeylink">(fk)</a>
+        <a href="#a" title="Foreign key to a.a_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">AId</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname foreignkey notnull" id="cb_id">b_id
+        <a href="#r_ab" title="Foreign key to r_ab.b_id" class="link detailforeignkeylink">(fk)</a>
+        <a href="#b" title="Foreign key to b.b_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">BId</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="cname">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="d">
+  <p>
+    
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="dd_id">d_id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">DId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="dname">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 255 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey foreignkey notnull" id="db_id">b_id
+        <a href="#r_ab" title="Foreign key to r_ab.b_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> 255 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">BId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey foreignkey notnull" id="da_id">a_id
+        <a href="#a" title="Foreign key to a.a_id" class="link detailforeignkeylink">(fk)</a>
+        <a href="#r_ab" title="Foreign key to r_ab.a_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> 255 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">AId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="nopk">
+  <p>
+    this table has no pk
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="nopkintcol">intcol
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Intcol</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="nopkname">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="MULTIPK_SELF_REFTABLE">
+  <p>
+    
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="MULTIPK_SELF_REFTABLECOL1">COL1
+      </td>
+      <td class="detailbackground detailborder detailtype">java.math.BigDecimal</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Col1</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="MULTIPK_SELF_REFTABLECOL2">COL2
+      </td>
+      <td class="detailbackground detailborder detailtype">java.math.BigDecimal</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Col2</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname foreignkey notnull" id="MULTIPK_SELF_REFTABLEPARENT_COL1">PARENT_COL1
+        <a href="#MULTIPK_SELF_REFTABLE" title="Foreign key to MULTIPK_SELF_REFTABLE.COL1" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">java.math.BigDecimal</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ParentCol1</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname foreignkey notnull" id="MULTIPK_SELF_REFTABLEPARENT_COL2">PARENT_COL2
+        <a href="#MULTIPK_SELF_REFTABLE" title="Foreign key to MULTIPK_SELF_REFTABLE.COL2" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">java.math.BigDecimal</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ParentCol2</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="ifc_table">
+  <p>
+    this table implements an interface
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="ifc_tableid">id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ID</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="ifc_tablename">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="ifc_table2">
+  <p>
+    this table implements a local interface
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="ifc_table2id">id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ID</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="ifc_table2name">name
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 50 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Name</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="INHERITANCE_TEST">
+  <p>
+    Table to test inheritance
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="INHERITANCE_TESTINHERITANCE_TEST">INHERITANCE_TEST
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">InheritanceTest</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="INHERITANCE_TESTCLASS_NAME">CLASS_NAME
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 1 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ClassName</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="INHERITANCE_TESTPAYLOAD_PARENT">PAYLOAD_PARENT
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 100 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">PayloadParent</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="INHERITANCE_TESTPAYLOAD_B">PAYLOAD_B
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 100 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">PayloadB</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="INHERITANCE_TESTPAYLOAD_C">PAYLOAD_C
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 100 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">PayloadC</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="INHERITANCE_TESTPAYLOAD_D">PAYLOAD_D
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 100 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">PayloadD</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="ext_schema">
+  <p>
+    
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="ext_schemaext_schema_id">ext_schema_id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ExtSchemaId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname foreignkey" id="ext_schemaext_id">ext_id
+        <a href="#ext" title="Foreign key to ext.ext_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ExtId</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="ext_schematest">test
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Test</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="extext_schema">
+  <p>
+    
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname primarykey notnull" id="extext_schemaextext_schema_id">extext_schema_id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ExtextSchemaId</td>
+      <td class="detailbackground detailborder detailpk"><center> X </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname foreignkey" id="extext_schemaextext_id">extext_id
+        <a href="#extext" title="Foreign key to extext.extext_id" class="link detailforeignkeylink">(fk)</a>
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">ExtextId</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center> X </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname notnull" id="extext_schematest">test
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Test</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+<subsection name="torque.qualified_name">
+  <p>
+    
+  </p>
+
+  <table class="detailtable">
+    <tr class="detailhead">
+      <th class="detailheadbackground detailborder detailheadname">Name</th>
+      <th class="detailheadbackground detailborder detailheadtype">Type</th>
+      <th class="detailheadbackground detailborder detailheadsize">Size</th>
+      <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+      <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+      <th class="detailheadbackground detailborder detailheadpk">PK</th>
+      <th class="detailheadbackground detailborder detailheadfk">FK</th>
+      <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+      <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="torque.qualified_nameid">id
+      </td>
+      <td class="detailbackground detailborder detailtype">int</td>
+      <td class="detailbackground detailborder detailsize"> &#160;</td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Id</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+    <tr class="detailrow">
+  
+      <td class="detailbackground detailborder detailname" id="torque.qualified_namepayload">payload
+      </td>
+      <td class="detailbackground detailborder detailtype">String</td>
+      <td class="detailbackground detailborder detailsize"> 100 </td>
+      <td class="detailbackground detailborder detaildefault"> &#160;</td>
+      <td class="detailbackground detailborder detailjavaname">Payload</td>
+      <td class="detailbackground detailborder detailpk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailfk"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detailnotnull"><center>  &#160; </center></td>
+      <td class="detailbackground detailborder detaildescription"> &#160;</td>
+    </tr>
+  </table>
+</subsection>
+
+    </section>
+  </body>
+</document>

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-create.sql
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-create.sql?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-create.sql (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-create.sql Thu Aug 15 02:23:36 2013
@@ -0,0 +1,19 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+drop database if exists ext;
+create database ext;

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-idtable-init.sql
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-idtable-init.sql?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-idtable-init.sql (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema-idtable-init.sql Thu Aug 15 02:23:36 2013
@@ -0,0 +1,19 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+insert into ID_TABLE (id_table_id, table_name, next_id, quantity) VALUES (101, 'ext', 1000, 10);
+

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema.html
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema.html?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema.html (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-ext-schema.html Thu Aug 15 02:23:36 2013
@@ -0,0 +1,83 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+<html>
+<head>
+  <title>ext</title>
+  <link rel="stylesheet" type="text/css" href="datamodel.css">
+</head>
+
+<body class="normalFont">
+  <table class="summarytable">
+    <tr class="summaryhead">
+      <th class="summaryheadbackground summaryborder summaryheadtablename">Table Name</th>
+      <th class="summaryheadbackground summaryborder summaryheadjavaname">OM Class</th>
+      <th class="summaryheadbackground summaryborder summaryheaddescription">Description</th>
+    </tr>
+    <tr class=summaryrow">
+      <td class="summarybackground summaryborder summarytablename"><a href="#ext" class="link summarytablenamelink">ext</a></td>
+      <td class="summarybackground summaryborder summaryjavaname">Ext</td>
+      <td class="summarybackground summaryborder summarydescription"> &nbsp;</td>
+    </tr>
+  </table>
+
+  <a name="ext"/>
+<h2>ext</h2>
+
+<p/>
+<table class="detailtable">
+  <tr class="detailhead">
+    <th class="detailheadbackground detailborder detailheadname">Name</th>
+    <th class="detailheadbackground detailborder detailheadtype">Type</th>
+    <th class="detailheadbackground detailborder detailheadsize">Size</th>
+    <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+    <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+    <th class="detailheadbackground detailborder detailheadpk">PK</th>
+    <th class="detailheadbackground detailborder detailheadfk">FK</th>
+    <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+    <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+  </tr>
+  <tr class="detailrow">
+  
+    <td class="detailbackground detailborder detailname primarykey notnull" id="extext_id">ext_id
+        </td>
+    <td class="detailbackground detailborder detailtype">int</td>
+    <td class="detailbackground detailborder detailsize"> &nbsp;</td>
+    <td class="detailbackground detailborder detaildefault"> &nbsp;</td>
+    <td class="detailbackground detailborder detailjavaname">ExtId</td>
+    <td class="detailbackground detailborder detailpk"><center> X </center></td>
+    <td class="detailbackground detailborder detailfk"><center>  &nbsp; </center></td>
+    <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+    <td class="detailbackground detailborder detaildescription"> &nbsp;</td>
+  </tr>
+  <tr class="detailrow">
+  
+    <td class="detailbackground detailborder detailname notnull" id="exttest">test
+        </td>
+    <td class="detailbackground detailborder detailtype">String</td>
+    <td class="detailbackground detailborder detailsize"> 15 </td>
+    <td class="detailbackground detailborder detaildefault"> &nbsp;</td>
+    <td class="detailbackground detailborder detailjavaname">Test</td>
+    <td class="detailbackground detailborder detailpk"><center>  &nbsp; </center></td>
+    <td class="detailbackground detailborder detailfk"><center>  &nbsp; </center></td>
+    <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+    <td class="detailbackground detailborder detaildescription"> &nbsp;</td>
+  </tr>
+</table>
+
+</body>
+</html>

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-create.sql
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-create.sql?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-create.sql (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-create.sql Thu Aug 15 02:23:36 2013
@@ -0,0 +1,19 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+drop database if exists extext;
+create database extext;

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-idtable-init.sql
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-idtable-init.sql?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-idtable-init.sql (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema-idtable-init.sql Thu Aug 15 02:23:36 2013
@@ -0,0 +1,19 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+insert into ID_TABLE (id_table_id, table_name, next_id, quantity) VALUES (102, 'extext', 1000, 10);
+

Added: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema.html
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema.html?rev=1514132&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema.html (added)
+++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-extext-schema.html Thu Aug 15 02:23:36 2013
@@ -0,0 +1,83 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+<html>
+<head>
+  <title>extext</title>
+  <link rel="stylesheet" type="text/css" href="datamodel.css">
+</head>
+
+<body class="normalFont">
+  <table class="summarytable">
+    <tr class="summaryhead">
+      <th class="summaryheadbackground summaryborder summaryheadtablename">Table Name</th>
+      <th class="summaryheadbackground summaryborder summaryheadjavaname">OM Class</th>
+      <th class="summaryheadbackground summaryborder summaryheaddescription">Description</th>
+    </tr>
+    <tr class=summaryrow">
+      <td class="summarybackground summaryborder summarytablename"><a href="#extext" class="link summarytablenamelink">extext</a></td>
+      <td class="summarybackground summaryborder summaryjavaname">Extext</td>
+      <td class="summarybackground summaryborder summarydescription"> &nbsp;</td>
+    </tr>
+  </table>
+
+  <a name="extext"/>
+<h2>extext</h2>
+
+<p/>
+<table class="detailtable">
+  <tr class="detailhead">
+    <th class="detailheadbackground detailborder detailheadname">Name</th>
+    <th class="detailheadbackground detailborder detailheadtype">Type</th>
+    <th class="detailheadbackground detailborder detailheadsize">Size</th>
+    <th class="detailheadbackground detailborder detailheaddefault">Default</th>
+    <th class="detailheadbackground detailborder detailheadjavaname">JavaName</th>
+    <th class="detailheadbackground detailborder detailheadpk">PK</th>
+    <th class="detailheadbackground detailborder detailheadfk">FK</th>
+    <th class="detailheadbackground detailborder detailheadnotnull">not null</th>
+    <th class="detailheadbackground detailborder detailheaddescription">Description</th>
+  </tr>
+  <tr class="detailrow">
+  
+    <td class="detailbackground detailborder detailname primarykey notnull" id="extextextext_id">extext_id
+        </td>
+    <td class="detailbackground detailborder detailtype">int</td>
+    <td class="detailbackground detailborder detailsize"> &nbsp;</td>
+    <td class="detailbackground detailborder detaildefault"> &nbsp;</td>
+    <td class="detailbackground detailborder detailjavaname">ExtextId</td>
+    <td class="detailbackground detailborder detailpk"><center> X </center></td>
+    <td class="detailbackground detailborder detailfk"><center>  &nbsp; </center></td>
+    <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+    <td class="detailbackground detailborder detaildescription"> &nbsp;</td>
+  </tr>
+  <tr class="detailrow">
+  
+    <td class="detailbackground detailborder detailname notnull" id="extexttest">test
+        </td>
+    <td class="detailbackground detailborder detailtype">String</td>
+    <td class="detailbackground detailborder detailsize"> 15 </td>
+    <td class="detailbackground detailborder detaildefault"> &nbsp;</td>
+    <td class="detailbackground detailborder detailjavaname">Test</td>
+    <td class="detailbackground detailborder detailpk"><center>  &nbsp; </center></td>
+    <td class="detailbackground detailborder detailfk"><center>  &nbsp; </center></td>
+    <td class="detailbackground detailborder detailnotnull"><center> X </center></td>
+    <td class="detailbackground detailborder detaildescription"> &nbsp;</td>
+  </tr>
+</table>
+
+</body>
+</html>



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