Github user yhuai commented on a diff in the pull request:

    https://github.com/apache/spark/pull/12117#discussion_r58316149
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala
 ---
    @@ -491,40 +528,31 @@ class SessionCatalog(
       }
     
       /**
    -   * Rename a function.
    -   *
    -   * If a database is specified in `oldName`, this will rename the 
function in that database.
    -   * If no database is specified, this will first attempt to rename a 
temporary function with
    -   * the same name, then, if that does not exist, rename the function in 
the current database.
    -   *
    -   * This assumes the database specified in `oldName` matches the one 
specified in `newName`.
    -   */
    -  def renameFunction(oldName: FunctionIdentifier, newName: 
FunctionIdentifier): Unit = {
    -    if (oldName.database != newName.database) {
    -      throw new AnalysisException("rename does not support moving 
functions across databases")
    -    }
    -    val db = oldName.database.getOrElse(currentDb)
    -    val oldBuilder = 
functionRegistry.lookupFunctionBuilder(oldName.funcName)
    -    if (oldName.database.isDefined || oldBuilder.isEmpty) {
    -      externalCatalog.renameFunction(db, oldName.funcName, 
newName.funcName)
    -    } else {
    -      val oldExpressionInfo = 
functionRegistry.lookupFunction(oldName.funcName).get
    -      val newExpressionInfo = new ExpressionInfo(
    -        oldExpressionInfo.getClassName,
    -        newName.funcName,
    -        oldExpressionInfo.getUsage,
    -        oldExpressionInfo.getExtended)
    -      functionRegistry.dropFunction(oldName.funcName)
    -      functionRegistry.registerFunction(newName.funcName, 
newExpressionInfo, oldBuilder.get)
    -    }
    -  }
    -
    -  /**
        * Return an [[Expression]] that represents the specified function, 
assuming it exists.
        * Note: This is currently only used for temporary functions.
        */
       def lookupFunction(name: String, children: Seq[Expression]): Expression 
= {
    -    functionRegistry.lookupFunction(name, children)
    +    // TODO: Right now, the name can be qualified or not qualified.
    +    // It will be better to get a FunctionIdentifier.
    +    // TODO: Right now, we assume that name is not qualified!
    --- End diff --
    
    I will add a test for this (the test will be ignored right now).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to