     RETURN tap;
 END //
 
--- fix up a comma separated list of values to compare 
+-- fix up a comma separated list of values to compare
 -- against a list of db objects
 DROP FUNCTION IF EXISTS _fixCSL //
-CREATE FUNCTION _fixCSL (want TEXT)  
+CREATE FUNCTION _fixCSL (want TEXT)
 RETURNS TEXT
 BEGIN
 
 	SET want = REPLACE(want, '''','');
 	SET want = REPLACE(want, '"','');
-	SET want = REPLACE(want, '\n',''); 
+	SET want = REPLACE(want, '\n','');
 
 -- invalid characters eg NUL byte and characters > U+10000
 --   IF want REGEXP '[[.NUL.]\\u10000-\\u10FFFD]' = 1 THEN


-- Just do it
-- I wish people wouldn't choose identifiers that need quoting,
-- but they do, and often just because they can. MySQL has no 
-- array type (yet), which would make a lot of this simpler, so 
-- we have to lay down some rules about how identifiers
-- can be presented for tests. In the end this boils down to:

-- lists must have all elements quoted 
-- and 
-- there can't be any spaces between elements because they are 
-- legal characters in a quoted identifier. 

-- In addition, all identifiers need be presented in a 
-- consistent manner because the lack of function overloading means
-- you can't have similarly named functions to deal with multi-valued
-- identifier checks and scalar value ones. This, in turn, means
-- that scalars that wouldn't normally need quoting need to be and
-- that the quoting method needs to be consistent.
 
DROP FUNCTION IF EXISTS qi //
CREATE FUNCTION qi(ident TEXT) RETURNS TEXT
BEGIN
-- It's quoted already return it 
-- replace ANSI quotes with backticks
-- add backticks to everything else
-- This won't work for people who use quotes within identifiers

    SET msg = CONCAT('\n', CONCAT('\n'
      '    Extra ', what, ':\n\t' , REPLACE( extras, ',', '\n\t')));
  END IF;

  IF missing <> '' THEN
    SET res = FALSE;
    SET msg = CONCAT(msg, CONCAT('\n'
