[prev in list] [next in list] [prev in thread] [next in thread]
List: turbine-torque-dev
Subject: svn commit: r348240 - in /db/torque: runtime/trunk/xdocs/
From: tfischer () apache ! org
Date: 2005-11-22 20:28:48
Message-ID: 20051122202849.1387.qmail () minotaur ! apache ! org
[Download RAW message or body]
Author: tfischer
Date: Tue Nov 22 12:28:39 2005
New Revision: 348240
URL: http://svn.apache.org/viewcvs?rev=348240&view=rev
Log:
Fixed foreign key support in mysql to allow the referenced table to be declared \
before the referencing table. This is done by defining the foreign keys in an extra \
"CREATE TABLE" statement instead of defining them in the "CREATE TABLE" statement. \
Note that foreign keys are ignored by mysql except in InnoDB tables.
Thanks to Thoralf Rickert for suggesting the patch.
Fixes also TRQS278
(Added an index in the test-schema to check that)
Modified:
db/torque/runtime/trunk/xdocs/changes.xml
db/torque/templates/trunk/src/templates/sql/base/mysql/foreignkey.vm
db/torque/templates/trunk/src/templates/sql/base/mysql/table.vm
db/torque/templates/trunk/src/templates/sql/base/mysql/tablefk.vm
db/torque/test/trunk/test-project/src/schema/test-schema.xml
Modified: db/torque/runtime/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/db/torque/runtime/trunk/xdocs/changes.xml?rev=348240&r1=348239&r2=348240&view=diff
==============================================================================
--- db/torque/runtime/trunk/xdocs/changes.xml (original)
+++ db/torque/runtime/trunk/xdocs/changes.xml Tue Nov 22 12:28:39 2005
@@ -25,6 +25,20 @@
<body>
+ <release version="3.2-rc4-dev" date="in SVN">
+ <action type="fix" dev="tfischer">
+ Fixed foreign key support in mysql to allow the referenced table to
+ be declared before the referencing table.
+ This is done by defining the foreign keys in an extra
+ "CREATE TABLE" statement instead of defining them in the
+ "CREATE TABLE" statement.
+ Note that foreign keys are ignored by mysql except in InnoDB tables.
+ <br />
+ Thanks to Thoralf Rickert for suggesting the patch.
+ Fixes also TRQS278.
+ </action>
+ </release>
+
<release version="3.2-rc3" date="2005-11-13">
<action type="fix" dev="tfischer">
Fixed support for limit and offset for Derby in the runtime.
Modified: db/torque/templates/trunk/src/templates/sql/base/mysql/foreignkey.vm
URL: http://svn.apache.org/viewcvs/db/torque/templates/trunk/src/templates/sql/base/mysql/foreignkey.vm?rev=348240&r1=348239&r2=348240&view=diff
==============================================================================
--- db/torque/templates/trunk/src/templates/sql/base/mysql/foreignkey.vm (original)
+++ db/torque/templates/trunk/src/templates/sql/base/mysql/foreignkey.vm Tue Nov 22 \
12:28:39 2005 @@ -12,12 +12,16 @@
## See the License for the specific language governing permissions and
## limitations under the License.
#foreach ($fk in $table.ForeignKeys)
- FOREIGN KEY ($fk.LocalColumnNames) REFERENCES $fk.ForeignTableName \
($fk.ForeignColumnNames) +ALTER TABLE $table.Name
+ ADD CONSTRAINT $fk.Name
+ FOREIGN KEY ($fk.LocalColumnNames)
+ REFERENCES $fk.ForeignTableName ($fk.ForeignColumnNames)
#if ($fk.hasOnUpdate())
ON UPDATE $fk.OnUpdate
#end
#if ($fk.hasOnDelete())
ON DELETE $fk.OnDelete
#end
-,
-#end
+;
+
+#end
\ No newline at end of file
Modified: db/torque/templates/trunk/src/templates/sql/base/mysql/table.vm
URL: http://svn.apache.org/viewcvs/db/torque/templates/trunk/src/templates/sql/base/mysql/table.vm?rev=348240&r1=348239&r2=348240&view=diff
==============================================================================
--- db/torque/templates/trunk/src/templates/sql/base/mysql/table.vm (original)
+++ db/torque/templates/trunk/src/templates/sql/base/mysql/table.vm Tue Nov 22 \
12:28:39 2005 @@ -20,12 +20,11 @@
(
#set ( $cols = $generator.parse("$basepath/columns.vm", '', "table", $tbl) )
#set ( $pk = $generator.parse("$basepath/primarykey.vm", '', "table", $tbl) )
-#set ( $fk = $generator.parse("$basepath/foreignkey.vm", '', "table", $tbl) )
#set ( $unique = $generator.parse("$basepath/unique.vm", '', "table", $tbl) )
#set ( $index = $generator.parse("$basepath/index.vm", '', "table", $tbl) )
#if($strings.allEmpty([$pk,$fk,$unique,$index]))$strings.chop($cols,2)#else$cols#end
#if($strings.allEmpty([$fk,$unique,$index]) && \
$pk.length()>0)$strings.chop($pk,2)#else$pk#end
-#if($strings.allEmpty([$unique,$index]) && $fk.length() \
>0)$strings.chop($fk,2)#else$fk#end #if($strings.allEmpty([$index]) && \
> $unique.length()>0)$strings.chop($unique,2)#else$unique#end
#if($index.length() > 0)$strings.chop($index,2)#end
);
+
Modified: db/torque/templates/trunk/src/templates/sql/base/mysql/tablefk.vm
URL: http://svn.apache.org/viewcvs/db/torque/templates/trunk/src/templates/sql/base/mysql/tablefk.vm?rev=348240&r1=348239&r2=348240&view=diff
==============================================================================
--- db/torque/templates/trunk/src/templates/sql/base/mysql/tablefk.vm (original)
+++ db/torque/templates/trunk/src/templates/sql/base/mysql/tablefk.vm Tue Nov 22 \
12:28:39 2005 @@ -11,4 +11,5 @@
## 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.
-
+#set ( $fk = $generator.parse("$basepath/foreignkey.vm", "", "table", $tbl) )
+#if ($fk.length()>0)$fk#end
\ No newline at end of file
Modified: db/torque/test/trunk/test-project/src/schema/test-schema.xml
URL: http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/schema/test-schema.xml?rev=348240&r1=348239&r2=348240&view=diff
==============================================================================
--- db/torque/test/trunk/test-project/src/schema/test-schema.xml (original)
+++ db/torque/test/trunk/test-project/src/schema/test-schema.xml Tue Nov 22 12:28:39 \
2005 @@ -78,6 +78,9 @@
<column name="ext_id" type="INTEGER"/>
<column name="test" required="true" type="INTEGER"/>
+ <index name="index_ext_id">
+ <index-column name="ext_id"/>
+ </index>
<foreign-key foreignTable="ext">
<reference local="ext_id" foreign="ext_id"/>
</foreign-key>
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic