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

"Georg Kallidis (Jira)" <[email protected]>
Newsgroups gmane.comp.jakarta.turbine.torque.devel
Message-ID <[email protected]>
     [ https://issues.apache.org/jira/browse/TORQUE-369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Georg Kallidis updated TORQUE-369:
----------------------------------
    Fix Version/s: 8.0

> 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: 8.0
>
>         Attachments: TORQUE-369-1-fix.patch, TORQUE-369-2-tests.patch
>
>
> When referencing an external schema (to use foreign key references in another schema definition) and back referencing to its origin, we get an infinite recursion.
> Affects: org.apache.torque.templates.transformer.LoadExternalSchemaTransformer.transform()
> Example:
> First Schema:
> {code:java}
> <?xml version="1.0" encoding="UTF-8" ?>
> <database>
>     <external-schema filename=secondary-schema.xml" />
>     <table name="test" javaName="Test">
>         <column name="Id" javaName="Id" required="true" type="INTEGER" primaryKey="true"/>
>         <column name="Name" javaName="Name" required="true" type="VARCHAR" size="5"/>
>         <column name="foreign-key" javaName="ForeignKey" required="true" type="INTEGER" size="2"/>
>         <!-- define foreign key to secondary scheme!-->
>     </table>
> </database>{code}
> Second Schema: 
> {code:java}
> <?xml version="1.0" encoding="UTF-8" ?>
> <database
>     xmlns="http://db.apache.org/torque/5.0/templates/database"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://db.apache.org/torque/5.0/templates/database
>     https://db.apache.org/torque/torque-5.0/documentation/orm-reference/database-5-0-strict.xsd" name="test" defaultIdMethod="native" defaultJavaType="object">
>     <external-schema filename=first-schema.xml" />
>     <table name="foreign-key" javaName="Test">
>         <column name="Id" javaName="Id" required="true" type="INTEGER" primaryKey="true"/>
>         <column name="Name" javaName="Name" required="true" type="VARCHAR" size="5"/>
>     </table>
>     <table name="test2" javaName="Test2">
>         <column name="Id" javaName="Id" required="true" type="INTEGER" primaryKey="true"/>
>         <column name="Name" javaName="Name" required="true" type="VARCHAR" size="5"/>
>         <column name="foreign-key" javaName="ForeignKey" required="true" type="INTEGER" size="2"/>
>         <!-- define foreign key to first scheme!-->
>     </table>
> </database>{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.