[Mydatabasepilot-cvs] MyDatabasePilot/Query alterTable.cfm,1.21,1.22
Status: Alpha
Brought to you by:
nanoface
From: <nan...@us...> - 2003-06-24 21:38:14
|
Update of /cvsroot/mydatabasepilot/MyDatabasePilot/Query In directory sc8-pr-cvs1:/tmp/cvs-serv15965/Query Modified Files: alterTable.cfm Log Message: Internal Structure Changed: [ 758157 ] Converted Some Code to <CFScript> Index: alterTable.cfm =================================================================== RCS file: /cvsroot/mydatabasepilot/MyDatabasePilot/Query/alterTable.cfm,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** alterTable.cfm 20 Jun 2003 21:14:08 -0000 1.21 --- alterTable.cfm 24 Jun 2003 21:38:11 -0000 1.22 *************** *** 85,197 **** <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">#ATTRIBUTES.alterSpec[i].colType#</span>" /> <!--- Type Options ---> - <cfswitch expression="#ATTRIBUTES.alterSpec[i].colType#"> - <cfcase value="VARCHAR,CHAR"> - <!--- Add Length to Output Strings ---> - <cfif ATTRIBUTES.alterSpec[i].length IS ""> - <cfset rawSQL = "#rawSQL#(LengthNotSpecified_#i#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Missing"">LengthNotSpecified_#i#</span>)" /> - <cfelse> - <cfset rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>)" /> - </cfif> - <!--- Add Binary to Output Strings if Specified ---> - <cfif ATTRIBUTES.alterSpec[i].binary> - <cfset rawSQL = "#rawSQL# BINARY" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">BINARY</span>" /> - </cfif> - </cfcase> - <cfcase value="ENUM,SET"> - <!--- Add Legal Values to Output Strings ---> - <cfif ATTRIBUTES.alterSpec[i].legalValues IS ""> - <cfset rawSQL = "#rawSQL#(ValuesNotSpecified_#i#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Missing"">ValuesNotSpecified_#i#</span>)" /> - <cfelse> - <!--- Replace the Carriage Return and Linefeed Characters with a single quote, comma, and a single quote---> - <!--- Also add begining and trailing single quotes so the value list is in the correct format: 'value1','value2',... ---> - <cfset rawSQL = "#rawSQL#('#Replace(ATTRIBUTES.alterSpec[i].legalValues, "#CRLF#", "','", "ALL")#')" /> - <cfset htmlSQL = "#htmlSQL#('<span class=""String"">#Replace(ATTRIBUTES.alterSpec[i].legalValues, "#CRLF#", "</span>','<span class=""String"">", "ALL")#</span>')" /> - </cfif> - </cfcase> - <cfcase value="TINYINT,SMALLINT,MEDIUMINT,INT,INTEGER,BIGINT"> - <!--- Set Integer and Numeric Type to TRUE ---> - <cfset isIntegerCol = TRUE /> - <cfset isNumericCol = TRUE /> - <!--- Add Length to Output Strings if Specified ---> - <cfif ATTRIBUTES.alterSpec[i].length IS NOT ""> - <cfset rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>)" /> - </cfif> - </cfcase> - <cfcase value="REAL,FLOAT,DOUBLE"> - <!--- Set Numeric Type to TRUE ---> - <cfset isNumericCol = TRUE /> - <!--- Add Length and Decimals to Output Strings if Specified ---> - <cfif ATTRIBUTES.alterSpec[i].length IS NOT ""> - <cfset rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#,#ATTRIBUTES.alterSpec[i].numberOfDecimals#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>,<span class=""Number"">#ATTRIBUTES.alterSpec[i].numberOfDecimals#</span>)" /> - </cfif> - </cfcase> - <cfcase value="DECIMAL,NUMERIC"> - <!--- Set Numeric Type to TRUE ---> - <cfset isNumericCol = TRUE /> - <!--- Add Length to Output Strings ---> - <cfif ATTRIBUTES.alterSpec[i].length IS "" AND ATTRIBUTES.alterSpec[i].numberOfDecimals IS ""> - <cfset rawSQL = "#rawSQL#(LengthNotSpecified_#i#,DecimalsNotSpecified_#i#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Missing"">LengthNotSpecified_#i#</span>,<span class=""Missing"">DecimalsNotSpecified_#i#</span>)" /> - <cfelseif ATTRIBUTES.alterSpec[i].length IS ""> - <cfset rawSQL = "#rawSQL#(LengthNotSpecified_#i#,#ATTRIBUTES.alterSpec[i].numberOfDecimals#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Missing"">LengthNotSpecified_#i#</span>,<span class=""Number"">#ATTRIBUTES.alterSpec[i].numberOfDecimals#</span>)" /> - <cfelseif ATTRIBUTES.alterSpec[i].numberOfDecimals IS ""> - <cfset rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#,DecimalsNotSpecified_#i#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>,<span class=""Missing"">DecimalsNotSpecified_#i#</span>)" /> - <cfelse> - <cfset rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#,#ATTRIBUTES.alterSpec[i].numberOfDecimals#)" /> - <cfset htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>,<span class=""Number"">#ATTRIBUTES.alterSpec[i].numberOfDecimals#</span>)" /> - </cfif> - </cfcase> - <cfcase value="TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB,TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT"> - <!--- Set Text or Blob Type to TRUE ---> - <cfset isTextOrBlobCol = TRUE /> - </cfcase> - <cfcase value="DATE,TIME,DATETIME,YEAR,TIMESTAMP"> - <!--- Set Temporal Type to TRUE ---> - <cfset isTemporalCol = TRUE /> - </cfcase> - </cfswitch> - <!--- Add Unsigned to Output Strings if Specified and is Numeric Column ---> - <cfif ATTRIBUTES.alterSpec[i].unsigned AND isNumericCol> - <cfset rawSQL = "#rawSQL# UNSIGNED" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">UNSIGNED</span>" /> - </cfif> - <!--- Add Zerofill to Output Strings if Specified and is Numeric Column ---> - <cfif ATTRIBUTES.alterSpec[i].zerofill AND isNumericCol> - <cfset rawSQL = "#rawSQL# ZEROFILL" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">ZEROFILL</span>" /> - </cfif> - <!--- Add NULL | NOT NULL to Output Strings ---> - <cfif ATTRIBUTES.alterSpec[i].notNull> - <cfset rawSQL = "#rawSQL# NOT NULL" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">NOT NULL</span>" /> - <cfelse> - <cfset rawSQL = "#rawSQL# NULL" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">NULL</span>" /> - </cfif> - <!--- Add DEFAULT to Output Strings if Specified ---> - <cfif ATTRIBUTES.alterSpec[i].defaultValue IS NOT "" AND NOT isTextOrBlobCol> - <cfset rawSQL = "#rawSQL# DEFAULT #ATTRIBUTES.alterSpec[i].defaultValue#" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">DEFAULT</span> <span class=""String"">#ATTRIBUTES.alterSpec[i].defaultValue#</span>" /> - </cfif> - <!--- Add AUTO_INCREMENT to Output Strings if Specified and is Integer Column ---> - <cfif ATTRIBUTES.alterSpec[i].autoIncrement AND isIntegerCol> - <cfset rawSQL = "#rawSQL# AUTO_INCREMENT" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">AUTO_INCREMENT</span>" /> - </cfif> - <!--- Add Single Column PRIMARY KEY to Output Strings if Specified ---> - <cfif ATTRIBUTES.alterSpec[i].key IS "Primary"> - <cfset rawSQL = "#rawSQL# PRIMARY KEY" /> - <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">PRIMARY KEY</span>" /> - </cfif> - <cfscript> // ToDo: [reference_definition] --- 85,209 ---- <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">#ATTRIBUTES.alterSpec[i].colType#</span>" /> <!--- Type Options ---> <cfscript> + switch(ATTRIBUTES.alterSpec[i].colType){ + case "VARCHAR": case "CHAR":{ + // Add Length to Output Strings + if(ATTRIBUTES.alterSpec[i].length IS ""){ + rawSQL = "#rawSQL#(LengthNotSpecified_#i#)"; + htmlSQL = "#htmlSQL#(<span class=""Missing"">LengthNotSpecified_#i#</span>)"; + }else{ + rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#)"; + htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>)"; + } + // Add Binary to Output Strings if Specified + if(ATTRIBUTES.alterSpec[i].binary){ + rawSQL = "#rawSQL# BINARY"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">BINARY</span>"; + } + break; + } + case "ENUM": case "SET":{ + // Add Legal Values to Output Strings + if(ATTRIBUTES.alterSpec[i].legalValues IS ""){ + rawSQL = "#rawSQL#(ValuesNotSpecified_#i#)"; + htmlSQL = "#htmlSQL#(<span class=""Missing"">ValuesNotSpecified_#i#</span>)"; + }else{ + // Replace the Carriage Return and Linefeed Characters with a single quote, comma, and a single quote + // Also add begining and trailing single quotes so the value list is in the correct format: 'value1','value2',... + rawSQL = "#rawSQL#('#Replace(ATTRIBUTES.alterSpec[i].legalValues, "#CRLF#", "','", "ALL")#')"; + htmlSQL = "#htmlSQL#('<span class=""String"">#Replace(ATTRIBUTES.alterSpec[i].legalValues, "#CRLF#", "</span>','<span class=""String"">", "ALL")#</span>')"; + } + break; + } + + case "TINYINT": case "SMALLINT": case "MEDIUMINT": case "INT": case "INTEGER": case "BIGINT":{ + // Set Integer and Numeric Type to TRUE + isIntegerCol = TRUE; + isNumericCol = TRUE; + // Add Length to Output Strings if Specified + if(ATTRIBUTES.alterSpec[i].length IS NOT ""){ + rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#)"; + htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>)"; + } + break; + } + case "REAL": case "FLOAT": case "DOUBLE":{ + // Set Numeric Type to TRUE + isNumericCol = TRUE; + // Add Length and Decimals to Output Strings if Specified + if(ATTRIBUTES.alterSpec[i].length IS NOT ""){ + rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#,#ATTRIBUTES.alterSpec[i].numberOfDecimals#)"; + htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>,<span class=""Number"">#ATTRIBUTES.alterSpec[i].numberOfDecimals#</span>)"; + } + break; + } + case "DECIMAL": case "NUMERIC":{ + // Set Numeric Type to TRUE + isNumericCol = TRUE; + // Add Length to Output Strings + if(ATTRIBUTES.alterSpec[i].length IS "" AND ATTRIBUTES.alterSpec[i].numberOfDecimals IS ""){ + rawSQL = "#rawSQL#(LengthNotSpecified_#i#,DecimalsNotSpecified_#i#)"; + htmlSQL = "#htmlSQL#(<span class=""Missing"">LengthNotSpecified_#i#</span>,<span class=""Missing"">DecimalsNotSpecified_#i#</span>)"; + }else if(ATTRIBUTES.alterSpec[i].length IS ""){ + rawSQL = "#rawSQL#(LengthNotSpecified_#i#,#ATTRIBUTES.alterSpec[i].numberOfDecimals#)"; + htmlSQL = "#htmlSQL#(<span class=""Missing"">LengthNotSpecified_#i#</span>,<span class=""Number"">#ATTRIBUTES.alterSpec[i].numberOfDecimals#</span>)"; + }else if(ATTRIBUTES.alterSpec[i].numberOfDecimals IS ""){ + rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#,DecimalsNotSpecified_#i#)"; + htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>,<span class=""Missing"">DecimalsNotSpecified_#i#</span>)"; + }else{ + rawSQL = "#rawSQL#(#ATTRIBUTES.alterSpec[i].length#,#ATTRIBUTES.alterSpec[i].numberOfDecimals#)"; + htmlSQL = "#htmlSQL#(<span class=""Number"">#ATTRIBUTES.alterSpec[i].length#</span>,<span class=""Number"">#ATTRIBUTES.alterSpec[i].numberOfDecimals#</span>)"; + } + break; + } + case "TINYBLOB": case "BLOB": case "MEDIUMBLOB": case "LONGBLOB": case "TINYTEXT": case "TEXT": case "MEDIUMTEXT": case "LONGTEXT":{ + // Set Text or Blob Type to TRUE + isTextOrBlobCol = TRUE; + break; + } + case "DATE": case "TIME": case "DATETIME": case "YEAR": case "TIMESTAMP":{ + // Set Temporal Type to TRUE + isTemporalCol = TRUE; + break; + // todo Timestamp and Year Length + } + } + </cfscript> + + <cfscript> + // Add Unsigned to Output Strings if Specified and is Numeric Column + if(ATTRIBUTES.alterSpec[i].unsigned AND isNumericCol){ + rawSQL = "#rawSQL# UNSIGNED"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">UNSIGNED</span>"; + } + // Add Zerofill to Output Strings if Specified and is Numeric Column + if(ATTRIBUTES.alterSpec[i].zerofill AND isNumericCol){ + rawSQL = "#rawSQL# ZEROFILL"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">ZEROFILL</span>"; + } + // Add NULL | NOT NULL to Output Strings + if(ATTRIBUTES.alterSpec[i].notNull){ + rawSQL = "#rawSQL# NOT NULL"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">NOT NULL</span>"; + }else{ + rawSQL = "#rawSQL# NULL"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">NULL</span>"; + } + // Add DEFAULT to Output Strings if Specified + if(ATTRIBUTES.alterSpec[i].defaultValue IS NOT "" AND NOT isTextOrBlobCol){ + rawSQL = "#rawSQL# DEFAULT #ATTRIBUTES.alterSpec[i].defaultValue#"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">DEFAULT</span> <span class=""String"">#ATTRIBUTES.alterSpec[i].defaultValue#</span>"; + } + // Add AUTO_INCREMENT to Output Strings if Specified and is Integer Column + if(ATTRIBUTES.alterSpec[i].autoIncrement AND isIntegerCol){ + rawSQL = "#rawSQL# AUTO_INCREMENT"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">AUTO_INCREMENT</span>"; + } + // Add Single Column PRIMARY KEY to Output Strings if Specified + if(ATTRIBUTES.alterSpec[i].key IS "Primary"){ + rawSQL = "#rawSQL# PRIMARY KEY"; + htmlSQL = "#htmlSQL# <span class=""KeyWord"">PRIMARY KEY</span>"; + } + // ToDo: [reference_definition] |