code: function (f) {
              var args = argsToArray(arguments).slice(1);
              this.__f = isInstanceOf(f, Identifier) ? f.value : f, this.__args = args.map(function (a) {
                  return isString(a) ? sql.stringToIdentifier(a) : a;
              });
          }
docs: @lends patio.sql.SQLFunction.prototype 
  Represents an SQL function call.
  
  @constructs
  @augments patio.sql.GenericExpression
  
  @param {...} f variable number of arguments where the first argument is the name
  of the SQL function to invoke. The rest of the arguments will be literalized through
  {@link patio.Dataset#literal} and placed into the SQL function call.
  
  @property {String} f <b>READ ONLY</b> the SQL function to call.
  @property {Array} args <b>READ ONLY</b> args  arguments will be literalized through
  {@link patio.Dataset#literal} and placed into the SQL function call.