code: function (name) {
              var ret;
              if (isString(name)) {
                  var parts = this._splitString(name);
                  var schema = parts[0], table = parts[1], alias = parts[2];
                  ret = (schema || alias) ? alias || table : table;
              } else if (isInstanceOf(name, Identifier)) {
                  ret = name.value;
              } else if (isInstanceOf(name, QualifiedIdentifier)) {
                  ret = this._toTableName(name.column);
              } else if (isInstanceOf(name, AliasedExpression)) {
                  ret = this.__toAliasedTableName(name.alias);
              } else {
                  throw new QueryError("Invalid object to retrieve the table name from");
              }
              return ret;
          }
docs: Returns a string that is the name of the table.
  
  @throws {patio.QueryError} If the name is not a String {@link patio.sql.Identifier},
  {@link patio.sql.QualifiedIdentifier} or {@link patio.sql.AliasedExpression}.
  
  @param {String|patio.sql.Identifier|patio.sql.QualifiedIdentifier|patio.sql.AliasedExpression} name
  the object to get the table name from.
  
  @return {String} the name of the table.