Torque
  1. Torque
  2. TORQUE-110

unique name not parsed when generating mysql (sql/base/mysql/unique.vm)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.3-RC3
    • Fix Version/s: 4.0-beta1
    • Component/s: Generator
    • Labels:
      None
    • Environment:
      debian etch linux

      Description

      The following snippet of code:
      <unique name="NAME_IDX">
      <unique-column name="NAME"/>
      </unique>

      Schema:
      <!ELEMENT index (option*,index-column+)>
      <!ATTLIST index
      name CDATA #IMPLIED

      generates the following mysql code (the name is totally ignored), but the schema allows it.

      Create ...
      ...
      UNIQUE (NAME)
      );

      The unique index name (NAME_IDX) is missing, it should correctly be:

      Create ...
      UNIQUE NAME_IDX (NAME);
      );

      changing the unique.vm in sql/base/mysql/unique.vm from
      #foreach ($unique in $table.Unices)
      UNIQUE($unique.ColumnList),
      #end

      to
      #foreach ($unique in $table.Unices)
      UNIQUE $unique.Name ($unique.ColumnList),
      #end

      I think we have to change unique.vm to do the following semantics:
      if ("unique name" is specified) {
      unique $uniq.name ('column')
      }
      else {
      unique ('column')
      }

      We could also set the name whenever creating an sql unique column For example, if you have to maintain two different databases (i.e. oracle and mysql), both generated from the same xml file, you have probably written a tool which compares both databases. Oracle always uses an unique index name (afaik), mysql can do without, but comparisson from your tool failes.

        Activity

        Hide
        Thomas Fox added a comment -

        fixed for mysql, also check other databases

        Show
        Thomas Fox added a comment - fixed for mysql, also check other databases
        Hide
        Thomas Fox added a comment -

        Also fixed for the other databases

        Show
        Thomas Fox added a comment - Also fixed for the other databases

          People

          • Assignee:
            Thomas Fox
            Reporter:
            Peter Frühberger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development