[vz-dev] Bug: CapabilitiesController ignoriert section parameter

2013-07-28 Diskussionsfäden Andreas Goetz
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



Re: [vz-dev] Bug: CapabilitiesController ignoriert section parameter

2013-07-28 Diskussionsfäden Andreas Goetz

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