anchor.diff:  					result.add(positionalParams[positionalCursor]);
   					positionalCursor ++;				
   				}
  -
  -				//trace the lastmatch position to add any string after the last match if found
  -				var lastmatch =  match.pos[1] + match.len[1];
  -
  -			}						
  +			}
  +			
   			// point the cursor after the match
   			cursor = match.pos[1] + match.len[1];	
  -
  -			// no more match check if we have string to close the statement
  -			if(cursor eq 0 and len(trim(sql)) gt lastmatch){
  -				str = mid(sql,lastmatch,len(trim(sql)));
  -				result.add({type='String',value=str})
  -			}
  -
  -		}		
  +		}
  +		
  +		// no more match check if we have string to close the statement
  +		if(len(sql) gt lastMatch){
  +			str = mid(sql,lastMatch,len(sql));
  +			result.add({type='String',value=str})
  +		}
   		
   		return result;	
   	}
   	
  -
   	/*
   	 * @hint Return just the named params
   	 */	
  
positive.code: 	 */
  	private Array function parseSql(){
  		var result = [];
  		var sql = this.getSql();
  		var namedParams = getNamedParams();
  		var positionalParams = getPositionalParams(); 
  		var positionalCursor = 1;
  		var str = "";
  		var cursor = 1;
  		
  		
  		var match = refindNoCase(':[a-z]*|\?',sql,cursor,true);
  		
  
negative.code: 		}
  		
  		while(cursor neq 0){
  			// trace the lastmatch position to add any string after the last match if found
  			lastMatch =  cursor;
  			
  			match = refindNoCase(':[a-z]*|\?',sql,cursor,true);
  			
  