summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorondrej.zara <none@none>2010-02-28 09:02:36 +0000
committerondrej.zara <none@none>2010-02-28 09:02:36 +0000
commit0190316db83ef320ac75985c852928f7c795286a (patch)
treee6a4f21bb1ed38f03bd8fe75ac87960f956705e1
parente26195cdd2f42b980e75d0caef10bd1e466adbbf (diff)
downloadwwwsqldesigner-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.xsl25
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="." />