code: def listFunctions(self, dbName=None):
          
          if dbName is None:
              dbName = self.currentDatabase()
          iter = self._jcatalog.listFunctions(dbName).toLocalIterator()
          functions = []
          while iter.hasNext():
              jfunction = iter.next()
              functions.append(Function(
                  name=jfunction.name(),
                  description=jfunction.description(),
                  className=jfunction.className(),
                  isTemporary=jfunction.isTemporary()))
          return functions
docs: Returns a list of functions registered in the specified database.
  
          If no database is specified, the current database is used.
          This includes all temporary functions.