public function listAQLFunctions($namespace = null)
    {
        try {
            $userFunction = new AqlUserFunction($this->_toolbox->getConnection());
            $functions = $userFunction->getRegisteredUserFunctions($namespace);

            $result = array();

            foreach ($functions as $function) {
                $result[$function['name']] = $function['code'];
            }

            return $result;

        } catch (\Exception $e) {
            $normalised = $this->_toolbox->normaliseDriverExceptions($e);
            throw new ServerException($normalised['message'], $normalised['code']);
        }
    }