Mein Fehler. Natürlich muss der Aufruf so lauten:

    http://localhost/vz/middleware.php/capabilities/database.json

ergibt

{"version":"0.2","capabilities":{"database":{"rows":70990,"size":5858562}}}

Damit kann ich den Patch für die neue database Section stellen. Wohin damit?

vg
Andreas

On 28.07.2013 12:51, Andreas Goetz wrote:
Bei dem Versuch, den CapabilitiesController um Statusinformationen zur Datenbank zu erweitern ist mir aufgefallen, dass der CapabilitiesControllerdie übergebene section nicht verarbeitet (section=null).

So liefert http://../middleware.php/capabilities.json?section=configuration immer alle sections zurück.

Vermutung: analog DataController muss die section per $this->view->request->getParameter('section'); ermittelt werden da sie nicht direkt in im get-Aufruf übergeben wird.

Wenn gefixt liesse sich dann auch die Datenbankgröße gezielt abfragen:

        if (is_null($section) || $section == 'database') {
$conn = $this->em->getConnection(); // get dbal connection from EntityManager

            $sql = 'SELECT ('.
                   '    SELECT count(1) '.
                   '    FROM data'.
                   ') AS rows, ('.
                   '    SELECT sum(data_length + index_length) '.
                   '    FROM information_schema.TABLES '.
                   '    WHERE table_schema = ?'.
                   ') AS size';

$res = $conn->fetchArray($sql, array(Util\Configuration::read('db.dbname')));

            $capabilities['database'] = array(
                'rows' => $res[0],
                'size' => $res[1]
            );
        }

Wer kann meine Vermutung bestätigen und wohin darf ich den Patch schicken?

vg
Andreas



Antwort per Email an