code: function (values) {
              var args;
              if (Array.isArray(values)) {
                  args = values;
              } else {
                  args = argsToArray(arguments);
              }
              return this.mergeOptions({returning: args.map(function (v) {
                  return isString(v) ? sql.stringToIdentifier(v) : v;
              })});
          }
docs: Adds a RETURNING clause, which is not supported by all databases. If returning is
  used instead of returning the autogenerated primary key or update/delete returning the number of rows modified.
  
  @example
  
  ds.from("items").returning() //"RETURNING *"
  ds.from("items").returning(null) //"RETURNING NULL"
  ds.from("items").returning("id", "name") //"RETURNING id, name"
  ds.from("items").returning(["id", "name"]) //"RETURNING id, name"
  
  @param values columns to return. If values is an array then the array is assumed to contain the columns to
  return. Otherwise the arguments will be used.
  @return {patio.Dataset} a new dataset with the retuning option added.