config['datasource']; $return = array(); if (preg_match('/(Mysql|Postgres)$/', $datasource)) { $explained = $db->query('EXPLAIN ' . $query); if (preg_match('/Postgres$/', $datasource)) { $queryPlan = array(); foreach ($explained as $postgreValue) { $queryPlan[] = array($postgreValue[0]['QUERY PLAN']); } $return = array_merge(array(array('')), $queryPlan); } else { $keys = array_keys($explained[0][0]); foreach ($explained as $mysqlValue) { $queryPlan[] = array_values($mysqlValue[0]); } $return = array_merge(array($keys), $queryPlan); } } return $return; } }