From: Alan Knowles Date: Thu, 22 Jun 2017 06:34:44 +0000 (+0800) Subject: UpdateDatabase/MysqlEngineCharset.php X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=commitdiff_plain;h=a728b83f55d494097b2d05aa3cc24d89ddd241dc UpdateDatabase/MysqlEngineCharset.php --- diff --git a/UpdateDatabase/MysqlEngineCharset.php b/UpdateDatabase/MysqlEngineCharset.php index 9efd76e2..9a244566 100644 --- a/UpdateDatabase/MysqlEngineCharset.php +++ b/UpdateDatabase/MysqlEngineCharset.php @@ -9,12 +9,22 @@ class Pman_Core_UpdateDatabase_MysqlEngineCharset { var $dburl; var $schema = array(); var $links = array(); + var $views = array(); function __construct() { $this->loadIniFiles(); //?? shared??? + $dbo = DB_DataObject::factory('core_enum'); + if (is_a($dbo, 'PDO_DataObject')) { + + $this->views = $dbo->generator()->introspection()->getListOf('views'); + } else { + $db = DB_DataObject::factory('core_enum')->getDatabaseConnection(); + $this->views = $db->getListOf( 'views'); // needs updated pear... + } + // update the engine first - get's around 1000 character limit on indexes..cd // however - Innodb does not support fulltext indexes, so this may fail... $this->updateEngine(); @@ -50,8 +60,7 @@ class Pman_Core_UpdateDatabase_MysqlEngineCharset { function updateCharacterSet() { - $db = DB_DataObject::factory('core_enum')->getDatabaseConnection(); - $views = $db->getListOf( 'views'); + $views = $this->views; foreach (array_keys($this->schema) as $tbl){ @@ -114,14 +123,7 @@ class Pman_Core_UpdateDatabase_MysqlEngineCharset { // first check if database is using this format. - $dbo = DB_DataObject::factory('core_enum'); - if (is_a($dbo, 'PDO_DataObject')) { - - $views = $dbo->generator()->introspection()->getListOf('views'); - } else { - $db = DB_DataObject::factory('core_enum')->getDatabaseConnection(); - $views = $db->getListOf( 'views'); // needs updated pear... - } +