public function listTables($strDatabase = null, $blnNoCache = false)
{
if ($blnNoCache || !isset($this->arrCache[$strDatabase])) {
$strOldDatabase = $this->resConnection->getDatabase();
// Change the database
if ($strDatabase !== null && $strDatabase != $strOldDatabase) {
$this->setDatabase($strDatabase);
}
$this->arrCache[$strDatabase] = $this->resConnection->getSchemaManager()->listTableNames();
// Restore the database
if ($strDatabase !== null && $strDatabase != $strOldDatabase) {
$this->setDatabase($strOldDatabase);
}
}
return $this->arrCache[$strDatabase];
}