{"record":{"id":"d13de3f851fd7121","repo":"getgrav/grav","slug":"flex-saverow-s-s-d13de3","errorCode":null,"errorMessage":"Flex saveRow(%s): %s","messagePattern":"Flex saveRow\\((.+?)\\): (.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"system/src/Grav/Framework/Flex/Storage/SimpleStorage.php","lineNumber":378,"sourceCode":"            }\n\n            // Check if the row already exists and if the key has been changed.\n            $oldKey = $row['__META']['storage_key'] ?? null;\n            if (is_string($oldKey) && $oldKey !== $key) {\n                $isCopy = $row['__META']['copy'] ?? false;\n                if ($isCopy) {\n                    $this->copyRow($oldKey, $key);\n                } else {\n                    $this->renameRow($oldKey, $key);\n                }\n            }\n\n            $this->prepareRow($row);\n            unset($row['__META'], $row['__ERROR']);\n\n            $this->data[$key] = $row;\n        } catch (RuntimeException $e) {\n            throw new RuntimeException(sprintf('Flex saveRow(%s): %s', $key, $e->getMessage()));\n        }\n\n        $row['__META'] = $this->getObjectMeta($key, true);\n\n        return $row;\n    }\n\n    /**\n     * @param string $key\n     * @param bool $variations\n     * @return array\n     */\n    public function parseKey(string $key, bool $variations = true): array\n    {\n        return [\n            'key' => $key,\n        ];\n    }","sourceCodeStart":360,"sourceCodeEnd":396,"githubUrl":"https://github.com/getgrav/grav/blob/6040efed04efa69b8209448ed81308e7c24147c2/system/src/Grav/Framework/Flex/Storage/SimpleStorage.php#L360-L396","documentation":"Error \"Flex saveRow(%s): %s\" thrown in getgrav/grav.","triggerScenarios":"Thrown at system/src/Grav/Framework/Flex/Storage/SimpleStorage.php:378 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6040efed04efa69b8209448ed81308e7c24147c2","analyzedAt":"2026-08-17T05:07:31.593Z","schemaVersion":2},"datasetVersion":"2026-08-17T09:17:11.063Z"}