[Mydatabasepilot-cvs] MyDatabasePilot/Query alterTable.cfm,1.14,1.15
Status: Alpha
Brought to you by:
nanoface
From: <nan...@us...> - 2003-06-17 21:12:25
|
Update of /cvsroot/mydatabasepilot/MyDatabasePilot/Query In directory sc8-pr-cvs1:/tmp/cvs-serv21681/Query Modified Files: alterTable.cfm Log Message: Functionality Added: [ 756232 ] Added Logic for "After col_Name" in ALTER TABLE query Index: alterTable.cfm =================================================================== RCS file: /cvsroot/mydatabasepilot/MyDatabasePilot/Query/alterTable.cfm,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** alterTable.cfm 16 Jun 2003 21:06:43 -0000 1.14 --- alterTable.cfm 17 Jun 2003 21:12:22 -0000 1.15 *************** *** 35,44 **** <!--------------------------------------------> <!---||| Initialize Internal Variables |||---> ! <cfset rawSQL = "ALTER TABLE"> ! <cfset htmlSQL = "<span class=""KeyWord"">ALTER TABLE</span>"> <!---||| Table Name |||---> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.table#"> ! <cfset htmlSQL = "#htmlSQL# <span class=""String"">#ATTRIBUTES.table#</span>"> <!---||| Alter Specifications |||---> --- 35,44 ---- <!--------------------------------------------> <!---||| Initialize Internal Variables |||---> ! <cfset rawSQL = "ALTER TABLE" /> ! <cfset htmlSQL = "<span class=""KeyWord"">ALTER TABLE</span>" /> <!---||| Table Name |||---> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.table#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""String"">#ATTRIBUTES.table#</span>" /> <!---||| Alter Specifications |||---> *************** *** 47,74 **** <!--- If this is not the first alter specification add a comma to the last alterSpec ---> <cfif i GT 1> ! <cfset rawSQL = "#rawSQL#,"> ! <cfset htmlSQL = "#htmlSQL#,"> </cfif> <!--- Determine the alterSpec format ---> <cfswitch expression="#ATTRIBUTES.alterSpec[i].format#"> <cfcase value="ADD COLUMN"> <!--- ADD COLUMN KeyWord ---> ! <cfset rawSQL = "#rawSQL# ADD COLUMN"> ! <cfset htmlSQL = "#htmlSQL#<br /><span class=""KeyWord"">ADD COLUMN</span>"> <!--- Column Name ---> <cfif ATTRIBUTES.alterSpec[i].colName IS ""> ! <cfset rawSQL = "#rawSQL# NameNotSpecified_#i#"> ! <cfset htmlSQL = "#htmlSQL# <span class=""Missing"">NameNotSpecified_#i#</span>"> <cfelse> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.alterSpec[i].colName#"> ! <cfset htmlSQL = "#htmlSQL# <span class=""String"">#ATTRIBUTES.alterSpec[i].colName#</span>"> </cfif> <!--- Column Type ---> <cfif ATTRIBUTES.alterSpec[i].colType IS "" OR ATTRIBUTES.alterSpec[i].colType IS "Empty"> ! <cfset rawSQL = "#rawSQL# DataTypeNotSpecified_#i#"> ! <cfset htmlSQL = "#htmlSQL# <span class=""Missing"">DataTypeNotSpecified_#i#</span>"> <cfelse> <!--- Initialize Integer, Numeric, and isTextOrBlobCol Type to FALSE ---> --- 47,75 ---- <!--- If this is not the first alter specification add a comma to the last alterSpec ---> <cfif i GT 1> ! <cfset rawSQL = "#rawSQL#," /> ! <cfset htmlSQL = "#htmlSQL#," /> </cfif> <!--- Determine the alterSpec format ---> <cfswitch expression="#ATTRIBUTES.alterSpec[i].format#"> + <!--- "ADD COLUMN" Alter Specification ---> <cfcase value="ADD COLUMN"> <!--- ADD COLUMN KeyWord ---> ! <cfset rawSQL = "#rawSQL# ADD COLUMN" /> ! <cfset htmlSQL = "#htmlSQL#<br /><span class=""KeyWord"">ADD COLUMN</span>" /> <!--- Column Name ---> <cfif ATTRIBUTES.alterSpec[i].colName IS ""> ! <cfset rawSQL = "#rawSQL# NameNotSpecified_#i#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""Missing"">NameNotSpecified_#i#</span>" /> <cfelse> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.alterSpec[i].colName#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""String"">#ATTRIBUTES.alterSpec[i].colName#</span>" /> </cfif> <!--- Column Type ---> <cfif ATTRIBUTES.alterSpec[i].colType IS "" OR ATTRIBUTES.alterSpec[i].colType IS "Empty"> ! <cfset rawSQL = "#rawSQL# DataTypeNotSpecified_#i#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""Missing"">DataTypeNotSpecified_#i#</span>" /> <cfelse> <!--- Initialize Integer, Numeric, and isTextOrBlobCol Type to FALSE ---> *************** *** 78,83 **** <cfset isTemporalCol = FALSE /> <!--- Add Column Type to Output Strings ---> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.alterSpec[i].colType#"> ! <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">#ATTRIBUTES.alterSpec[i].colType#</span>"> <!--- Type Options ---> <cfswitch expression="#ATTRIBUTES.alterSpec[i].colType#"> --- 79,84 ---- <cfset isTemporalCol = FALSE /> <!--- Add Column Type to Output Strings ---> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.alterSpec[i].colType#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">#ATTRIBUTES.alterSpec[i].colType#</span>" /> <!--- Type Options ---> <cfswitch expression="#ATTRIBUTES.alterSpec[i].colType#"> *************** *** 85,98 **** <!--- 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> --- 86,99 ---- <!--- 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> *************** *** 109,114 **** <!--- 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> --- 110,115 ---- <!--- 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> *************** *** 118,123 **** <!--- 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> --- 119,124 ---- <!--- 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> *************** *** 127,141 **** <!--- 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> --- 128,142 ---- <!--- 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> *************** *** 151,201 **** <!--- 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> <!--- ToDo: [PRIMARY KEY] [reference_definition] ---> ! <!--- ToDo: [FIRST | AFTER column_name ]---> </cfif> </cfcase> <!--- ToDo Cases: ---> <cfcase value="ADD INDEX"></cfcase> <cfcase value="ADD PRIMARY KEY"></cfcase> <cfcase value="ADD UNIQUE"></cfcase> <cfcase value="ADD FULLTEXT"></cfcase> <cfcase value="ADD FOREIGN KEY"></cfcase> <cfcase value="ALTER COLUMN"></cfcase> <cfcase value="CHANGE COLUMN"></cfcase> <cfcase value="MODIFY COLUMN"></cfcase> <cfcase value="DROP COLUMN"></cfcase> <cfcase value="DROP PRIMARY KEY"></cfcase> <cfcase value="DROP INDEX"></cfcase> <cfcase value="DISABLE KEYS"></cfcase> <cfcase value="ENABLE KEYS"></cfcase> <cfcase value="RENAME TO"></cfcase> <cfcase value="ORDER BY"></cfcase> <cfcase value="table_options"></cfcase> </cfswitch> --- 152,250 ---- <!--- 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> <!--- ToDo: [PRIMARY KEY] [reference_definition] ---> ! ! <!---||| Location of new Field : [FIRST | AFTER column_name ] |||---> ! <!--- If location is set to "Beginning" ... ---> ! <cfif ATTRIBUTES.alterSpec[i].colLocation IS "Beginning"> ! <!--- ToDo: ---> ! ! <!--- Elseif Loctaion is not End, that means a location is specified between other coloumns ... ---> ! <cfelseif ATTRIBUTES.alterSpec[i].colLocation IS NOT "End"> ! <!--- Add AFTER Keyword to Output Strings ---> ! <cfset rawSQL = "#rawSQL# AFTER" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""KeyWord"">AFTER</span>" /> ! ! <!--- If it's the first column to be added ... ---> ! <cfif i is 1> ! <!--- Set location to AFTER the specified location ---> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.alterSpec[i].colLocation#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""String"">#ATTRIBUTES.alterSpec[i].colLocation#</span>" /> ! <!--- Otherwise ... ---> ! <cfelse> ! <!--- Set index of Last Column ---> ! <cfset lastColumn = i-1> ! <!--- Make sure last column to be added has a specified name ---> ! <cfif ATTRIBUTES.alterSpec[lastColumn].colName IS ""> ! <cfset rawSQL = "#rawSQL# NameNotSpecified_#lastColumn#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""Missing"">NameNotSpecified_#lastColumn#</span>" /> ! <!--- Otherwise ... ---> ! <cfelse> ! <!--- Set location to AFTER the last column to be added ---> ! <cfset rawSQL = "#rawSQL# #ATTRIBUTES.alterSpec[lastColumn].colName#" /> ! <cfset htmlSQL = "#htmlSQL# <span class=""String"">#ATTRIBUTES.alterSpec[lastColumn].colName#</span>" /> ! </cfif> ! </cfif> ! </cfif> </cfif> </cfcase> <!--- ToDo Cases: ---> + <!--- "ADD INDEX" Alter Specification ---> <cfcase value="ADD INDEX"></cfcase> + <!--- "ADD PRIMARY KEY" Alter Specification ---> <cfcase value="ADD PRIMARY KEY"></cfcase> + <!--- "ADD UNIQUE" Alter Specification ---> <cfcase value="ADD UNIQUE"></cfcase> + <!--- "ADD FULLTEXT" Alter Specification ---> <cfcase value="ADD FULLTEXT"></cfcase> + <!--- "ADD FOREIGN KEY" Alter Specification ---> <cfcase value="ADD FOREIGN KEY"></cfcase> + <!--- "ALTER COLUMN" Alter Specification ---> <cfcase value="ALTER COLUMN"></cfcase> + <!--- "CHANGE COLUMN" Alter Specification ---> <cfcase value="CHANGE COLUMN"></cfcase> + <!--- "MODIFY COLUMN" Alter Specification ---> <cfcase value="MODIFY COLUMN"></cfcase> + <!--- "DROP COLUMN" Alter Specification ---> <cfcase value="DROP COLUMN"></cfcase> + <!--- "DROP PRIMARY KEY" Alter Specification ---> <cfcase value="DROP PRIMARY KEY"></cfcase> + <!--- "DROP INDEX" Alter Specification ---> <cfcase value="DROP INDEX"></cfcase> + <!--- "DISABLE KEYS" Alter Specification ---> <cfcase value="DISABLE KEYS"></cfcase> + <!--- "ENABLE KEYS" Alter Specification ---> <cfcase value="ENABLE KEYS"></cfcase> + <!--- "RENAME TO" Alter Specification ---> <cfcase value="RENAME TO"></cfcase> + <!--- "ORDER BY" Alter Specification ---> <cfcase value="ORDER BY"></cfcase> + <!--- "table_options" Alter Specification ---> <cfcase value="table_options"></cfcase> </cfswitch> |