/[volute]/trunk/projects/theory/snapdm/res/intermediate2ddl.xsl
ViewVC logotype

Diff of /trunk/projects/theory/snapdm/res/intermediate2ddl.xsl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 421 by gerard.lemson, Thu May 8 11:09:15 2008 UTC revision 422 by gerard.lemson, Thu May 8 16:52:53 2008 UTC
# Line 135  Line 135 
135          <xsl:value-of select="description"/>&cr;          <xsl:value-of select="description"/>&cr;
136          <xsl:text> ------------------------*/</xsl:text>&cr;          <xsl:text> ------------------------*/</xsl:text>&cr;
137                    
138            
139            
140          <xsl:apply-templates select="." mode="createTable"/>          <xsl:apply-templates select="." mode="createTable"/>
141    
142          <xsl:apply-templates select="." mode="createIndexes"/>          <xsl:apply-templates select="." mode="createIndexes"/>
# Line 337  Line 339 
339        
340        
341        
342      <xsl:template match="attribute">
343         <xsl:variable name="columns">
344            <xsl:apply-templates select="." mode="columns"/>
345         </xsl:variable>
346         <xsl:for-each select="exsl:node-set($columns)/column">
347           <xsl:text>, </xsl:text><xsl:value-of select="name"/>&bl;<xsl:value-of select="sqltype"/><xsl:if test="multiplicity = '1'"> not null</xsl:if>&cr;
348         </xsl:for-each>  
349      </xsl:template>
350      
351      
352        
353    <xsl:template match="attribute" >    
354      <xsl:template match="attribute" mode="old">
355      <xsl:param name="prefix"/>      <xsl:param name="prefix"/>
356            
357      <xsl:variable name="columnname">      <xsl:variable name="columnname">
# Line 380  Line 393 
393        
394        
395        
   <!-- We need lengths for (var)char datatypes -->  
   <xsl:template name="sqltype">  
     <xsl:param name="type"/>  
     <xsl:param name="constraints"/>  
       
     <!--  
     Primitive types :  
         boolean  
         short  
         int  
         long  
         float  
         double  
   
     Date type :  
         datetime  
   
     Characters type :  
         string  
           
     Unsupported type (later) => string :  
         complex  
         rational  
 -->  
     <xsl:choose>  
       <xsl:when test="$type/name = 'boolean'">bit</xsl:when>  
       <xsl:when test="$type/name = 'short'">integer</xsl:when>  
       <xsl:when test="$type/name = 'integer'">integer</xsl:when>  
       <xsl:when test="$type/name = 'long'">bigint</xsl:when>  
       <xsl:when test="$type/name = 'float'">float</xsl:when>  
       <xsl:when test="$type/name = 'double'">real</xsl:when>  
       <xsl:when test="$type/name = 'datetime'">  
         <xsl:choose>  
           <xsl:when test="$vendor = 'mssqlserver'">datetime</xsl:when>  
           <xsl:otherwise>timestamp</xsl:otherwise>  
         </xsl:choose>  
       </xsl:when>  
       <xsl:otherwise>  
         <xsl:variable name="length">  
           <xsl:choose>  
             <xsl:when test="$constraints/length">  
               <xsl:value-of select="$constraints/length"/>  
             </xsl:when>  
             <xsl:when test="$constraints/maxLength">  
               <xsl:value-of select="$constraints/maxLength"/>  
             </xsl:when>  
             <xsl:otherwise>  
               <xsl:value-of select="$defaultVarcharLength"/>  
             </xsl:otherwise>  
           </xsl:choose>  
         </xsl:variable>  
         <xsl:choose>  
           <xsl:when test="$length &lt;= 0"><xsl:value-of select="$unboundedstringtype"/></xsl:when>  
           <xsl:otherwise>varchar(<xsl:value-of select="$length"/>)</xsl:otherwise>  
       </xsl:choose></xsl:otherwise>  
     </xsl:choose>  
   </xsl:template>  
     
     
396        
397        
398    <!-- We need lengths for (var)char datatypes -->    <!-- We need lengths for (var)char datatypes -->

Legend:
Removed from v.421  
changed lines
  Added in v.422

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26