anchor.diff:  		<cfreturn returnStruct />
   	</cffunction>
   
  -	<cffunction name="parameterizeSQL" output="false" access="public" returntype="struct">
  +	<cffunction name="parameterizeSQL" output="false" access="public" returntype="struct" hint="I build a struct containing all of the where clause of the SQL statement, parameterized when possible.  The returned struct will contain an array of each parameterized clause containing the data necessary to build a <cfqueryparam> tag.">
   		<cfargument name="sql" type="string" required="true" hint="SQL statement (or partial SQL statement) which contains tokenized queryParam calls">
   		
   		<cfset var LOCAL = {}/>
  
positive.code: 
  				<cfset tempParam = listRest( tmpSQL[ idx ], chr( 998 ) ) />
  				<cfset tempParam = preserveSingleQuotes( tempParam ) />
  				<!--- <cfdump var="#[tmpSQL[idx]]#" label="tmpsql"/>
  					<cfdump var="#[tmp.before]#" label="before"/>
  					<cfdump var="#[tempParam]#" label="param"/>
  					<cfdump var="#[tmp.after]#" label="after" abort> --->
  				<!---
  					These will return the position and length of the name, cfsqltype and value.
  					We use these to extract the values for the actual cfqueryparam
  				--->
  				<cfset tempCFSQLType = reFindNoCase( 'cfsqltype\=#chr(777)#(.*?)#chr(777)#', tempParam, 1, true )>
  				
  				<cfif arrayLen( tempCFSQLType.pos ) LTE 1>
  					<cfset arrayAppend( LOCAL.statements, tmp )/>
  					<cfcontinue/>
  				</cfif>
  
  				<cfset tmp.cfSQLType = mid(tempParam,tempCFSQLType.pos[2],tempCFSQLType.len[2])/>
  				<cfset tempValue = reFindNoCase('value\=#chr(777)#(.*?)#chr(777)#',tempParam,1,true)>
  				<!--- Strip out any loose hanging special characters used for temporary delimiters (chr(999) and chr(777)) --->
  				<cfset tmp.value = reReplaceNoCase(mid(PreserveSingleQuotes(tempParam),tempValue.pos[2],tempValue.len[2]),chr(777),'','all')>
  				<cfset tmp.value = reReplaceNoCase(preserveSingleQuotes(tmp.value),chr(999),'','all')>
  
  				<cfset tempList = reFindNoCase('list\=#chr(777)#(.*?)#chr(777)#',tempParam,1,true)>
  				<cfif NOT arrayLen(tempList.pos) GTE 2 OR NOT isBoolean(mid(tempParam,tempList.pos[2],tempList.len[2]))>
  					<cfset tmp.isList = false />
  				<cfelse>
  					<cfset tmp.isList = mid(tempParam,tempList.pos[2],tempList.len[2])/>
  				</cfif>
  				<!--- Now write the cfqueryparam --->							
  				<!--- <cfqueryparam 
  					cfsqltype="#mid(LOCAL.tempParam,LOCAL.tempCFSQLType.pos[2],LOCAL.tempCFSQLType.len[2])#" 
  					value="#LOCAL.value#" 
  					list="#LOCAL.isList#">	 --->						
  
  				<cfset arrayAppend( LOCAL.statements, tmp )/>
  				<cfset tmp = {}/>
  			</cfloop>
  
  
negative.code: 		<cfargument name="tabledef" required="true" type="tabledef" hint="TableDef object containing data.">
  
  			<cfset var ret = 0/>
  			<cfset ret = this.conn.write( arguments.tabledef )/>
  
  		<cfreturn ret />
  	</cffunction>
  