diff options
author | ondrej.zara <none@none> | 2010-02-28 09:02:36 +0000 |
---|---|---|
committer | ondrej.zara <none@none> | 2010-02-28 09:02:36 +0000 |
commit | 0190316db83ef320ac75985c852928f7c795286a (patch) | |
tree | e6a4f21bb1ed38f03bd8fe75ac87960f956705e1 | |
parent | e26195cdd2f42b980e75d0caef10bd1e466adbbf (diff) | |
download | wwwsqldesigner-0190316db83ef320ac75985c852928f7c795286a.zip wwwsqldesigner-0190316db83ef320ac75985c852928f7c795286a.tar.gz wwwsqldesigner-0190316db83ef320ac75985c852928f7c795286a.tar.bz2 |
sqlite primary key definition #65, thanks to nikita
--HG--
extra : convert_revision : svn%3Ab267cdba-c1da-11dd-874b-8bacd04a0a74/trunk%4079
-rw-r--r-- | db/sqlite/output.xsl | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/db/sqlite/output.xsl b/db/sqlite/output.xsl index 7a2857d..6085562 100644 --- a/db/sqlite/output.xsl +++ b/db/sqlite/output.xsl @@ -20,14 +20,26 @@ <xsl:text>NOT NULL </xsl:text> </xsl:if> - <xsl:if test="@autoincrement = 1"> - <xsl:text>AUTOINCREMENT </xsl:text> - </xsl:if> <xsl:if test="default"> <xsl:text>DEFAULT </xsl:text> <xsl:value-of select="default" /> </xsl:if> + + <xsl:variable name="name" select="@name" /> + <xsl:for-each select="../key"> + <xsl:if test="@type = 'PRIMARY'"> + <xsl:for-each select="part"> + <xsl:if test="$name = ."> + <xsl:text>PRIMARY KEY </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + </xsl:for-each> + + <xsl:if test="@autoincrement = 1"> + <xsl:text>AUTOINCREMENT </xsl:text> + </xsl:if> <xsl:if test="not (position()=last())"> <xsl:text>, @@ -37,13 +49,10 @@ <!-- keys --> <xsl:for-each select="key"> - <xsl:if test="@type = 'PRIMARY' or @type = 'UNIQUE'"> + <xsl:if test="@type = 'UNIQUE'"> <xsl:text>, </xsl:text> - <xsl:choose> - <xsl:when test="@type = 'PRIMARY'">PRIMARY KEY (</xsl:when> - <xsl:when test="@type = 'UNIQUE'">UNIQUE (</xsl:when> - </xsl:choose> + <xsl:text>UNIQUE (</xsl:text> <xsl:for-each select="part"> <xsl:value-of select="." /> |