/** * @param bool $refresh * * @throws \Exception */ protected function getCachedFunctionNames($refresh = false) { if ($refresh || empty($this->functionNames) && null === ($this->functionNames = $this->connection->getFromCache('func_names'))) { $names = []; foreach ($this->getSchemaNames($refresh) as $temp) { $funcs = $this->findFunctionNames($temp); natcasesort($funcs); $names[$temp] = $funcs; } $this->functionNames = $names; $this->connection->addToCache('func_names', $this->functionNames, true); } }