[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]
|