         if call.args.length == 0
             return prologue + epilogue
 
-        @doList(call.args, @_doAtom, ', ', prologue, epilogue)
+        @doList(call.args, @_doColumnAtom, ', ', prologue, epilogue)
 
 
     doList: (collection, fn = @f, separator = ', ', prologue = '', epilogue = '') ->

    naryOp: (op, atoms) ->
        switch op
            when 'isNull'
                pieces = ("#{@_doAtom(a)} IS NULL" for a in atoms)
            when 'isntNull', 'isNotNull'
                pieces = ("#{@_doAtom(a)} IS NOT NULL" for a in atoms)
            when 'isGood'
                pieces = []
                for a in atoms
                    s = @_doAtom(a)
                    pieces.push("#{s} IS NOT NULL AND LEN(RTRIM(LTRIM(#{s}))) > 0")

        return pieces.join(' AND ')

    binaryOp: (left, op, right) ->
        l = @_doAtom(left)
        
        sqlOp = operatorAliases[op] ? op.toUpperCase()
        

    _doTargetTable: (name) ->
        fullName = @parseWhenRawName(name)
        schema = @_findTableSchema(fullName)
        if schema?
            @sources.push(_schema: schema)
            @targetTableSchema = schema

        return @_doToken(fullName, schema)

    insert: (i) ->
