db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Fox (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TORQUE-323) Error in schema.xml for cascade="none" with postgresql
Date Fri, 15 Aug 2014 23:17:18 GMT

    [ https://issues.apache.org/jira/browse/TORQUE-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14099337#comment-14099337
] 

Thomas Fox commented on TORQUE-323:
-----------------------------------

I cannot reproduce the described behaviour. I have run the torque test project version 4.0
against postgresql and (as expected as torque 4.0 was tested against postgresql on release)
the generated sql file looks ok, without the ON UPDATE NONE ON DELETE NONE problem.
Then, I have checked the 4.0 xsd schema. It contains
  <xs:complexType name="foreignKeyType" >
    ....
    <xs:attribute name="onDelete" use="optional" type="cascadeType">
and
  <xs:simpleType name="cascadeType" >
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="cascade" />
      <xs:enumeration value="setnull" />
      <xs:enumeration value="restrict" />
    </xs:restriction>
  </xs:simpleType>
So "none" is not even a valid value according to the schema. If I try to set it manually,
e.g.
    <foreign-key foreignTable="author" onDelete="none" onUpdate="none">
the xml parser fails because the file is not schema-consistent,

Are you sure you are using the correct xsd version?
E.g. (again from the test project)
<database name="bookstore"
    defaultIdMethod="idbroker"
    xmlns="http://db.apache.org/torque/4.0/templates/database"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://db.apache.org/torque/4.0/templates/database 
        http://db.apache.org/torque/4.0/templates/database.xsd">


> Error in schema.xml for cascade="none" with postgresql
> ------------------------------------------------------
>
>                 Key: TORQUE-323
>                 URL: https://issues.apache.org/jira/browse/TORQUE-323
>             Project: Torque
>          Issue Type: Bug
>    Affects Versions: 4.0
>         Environment: Postgresql 9.3.4 Java 8, on 64bit x86 Fedora.
>            Reporter: Martin Tilsted
>
> If you in your schema.xml have a
> <foreign-key onUpdate="none" ...>
> Then torque will generate the following in schema.sql: 
> ALTER TABLE book
>     ADD CONSTRAINT book_FK_1
>     FOREIGN KEY (keyref)
>     REFERENCES keyreftable (id)
>     ON UPDATE NONE
>     ON DELETE NONE;
> But postgresql don't accept the syntax "On update none" and "on delete none"
> It should be "on update no action" and "on delete no action" instead.
> Since onUpdate="none" is the default if no onUpdate value have been set in schema.xml,
this make it imposible to generate the database from the sql, unless onUpdate and onDelete
explicit have been specified to something other then none on all foreign keys.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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


Mime
View raw message