[jira] [Resolved] (TORQUE-369) LoadExternalSchemaTransformer recursively includes when cross-referencing

"Max Philipp Wriedt (Jira)" <[email protected]> Wed, 22 Jul 2026 22:06:00 +0000 (UTC)
Newsgroups gmane.comp.jakarta.turbine.torque.devel
Message-ID <[email protected]>
     [ https://issues.apache.org/jira/browse/TORQUE-369?page=3Dcom.atlassia=
n.jira.plugin.system.issuetabpanels:all-tabpanel ]

Max Philipp Wriedt resolved TORQUE-369.
---------------------------------------
    Fix Version/s: 7.1
       Resolution: Fixed

> LoadExternalSchemaTransformer recursively includes when cross-referencing
> -------------------------------------------------------------------------
>
>                 Key: TORQUE-369
>                 URL: https://issues.apache.org/jira/browse/TORQUE-369
>             Project: Torque
>          Issue Type: Bug
>          Components: Templates
>    Affects Versions: 5.1, 6.0
>            Reporter: Max Philipp Wriedt
>            Assignee: Max Philipp Wriedt
>            Priority: Major
>             Fix For: 7.1
>
>         Attachments: TORQUE-369-1-fix.patch, TORQUE-369-2-tests.patch
>
>
> When referencing an external schema (to use foreign key references in ano=
ther schema definition) and back referencing to its origin, we get an infin=
ite recursion.
> Affects: org.apache.torque.templates.transformer.LoadExternalSchemaTransf=
ormer.transform()
> Example:
> First Schema:
> {code:java}
> <?xml version=3D"1.0" encoding=3D"UTF-8" ?>
> <database>
>     <external-schema filename=3Dsecondary-schema.xml" />
>     <table name=3D"test" javaName=3D"Test">
>         <column name=3D"Id" javaName=3D"Id" required=3D"true" type=3D"INT=
EGER" primaryKey=3D"true"/>
>         <column name=3D"Name" javaName=3D"Name" required=3D"true" type=3D=
"VARCHAR" size=3D"5"/>
>         <column name=3D"foreign-key" javaName=3D"ForeignKey" required=3D"=
true" type=3D"INTEGER" size=3D"2"/>
>         <!-- define foreign key to secondary scheme!-->
>     </table>
> </database>{code}
> Second Schema:=C2=A0
> {code:java}
> <?xml version=3D"1.0" encoding=3D"UTF-8" ?>
> <database
>     xmlns=3D"http://db.apache.org/torque/5.0/templates/database"
>     xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation=3D"http://db.apache.org/torque/5.0/templates/datab=
ase
>     https://db.apache.org/torque/torque-5.0/documentation/orm-reference/d=
atabase-5-0-strict.xsd" name=3D"test" defaultIdMethod=3D"native" defaultJav=
aType=3D"object">
>     <external-schema filename=3Dfirst-schema.xml" />
>     <table name=3D"foreign-key" javaName=3D"Test">
>         <column name=3D"Id" javaName=3D"Id" required=3D"true" type=3D"INT=
EGER" primaryKey=3D"true"/>
>         <column name=3D"Name" javaName=3D"Name" required=3D"true" type=3D=
"VARCHAR" size=3D"5"/>
>     </table>
>     <table name=3D"test2" javaName=3D"Test2">
>         <column name=3D"Id" javaName=3D"Id" required=3D"true" type=3D"INT=
EGER" primaryKey=3D"true"/>
>         <column name=3D"Name" javaName=3D"Name" required=3D"true" type=3D=
"VARCHAR" size=3D"5"/>
>         <column name=3D"foreign-key" javaName=3D"ForeignKey" required=3D"=
true" type=3D"INTEGER" size=3D"2"/>
>         <!-- define foreign key to first scheme!-->
>     </table>
> </database>{code}
> =C2=A0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)