Guest № 0
You can also sign in by:



Let It Go (Disney's "Frozen") Vivaldi's Winter - The Piano Guys

12 March 2019 15:28
► Get our albums here: https://smarturl.it/TPG_ALBUMS
► WE'RE ON TOUR! https://smarturl.it/tpgtour
► DOWNLOAD THIS SONG: https://smarturl.it/wondersalbum
► GET THE SHEET MUSIC: https://smarturl.it/WONDERS_sheet-music
________________________
► Apple Music/iTunes - https://smarturl.it/TPGAppleMusic
► Spotify - https://smarturl.it/TPGCatalog
► Amazon - https://smarturl.it/TPGAmzn
► Google Play - https://smarturl.it/TPGooglePlay
________________________
► SUBSCRIBE: https://smarturl.it/TPGsubscribe1
► FACEBOOK: https://www.facebook.com/ThePianoGuys
► TWITTER: https://www.twitter.com/ThePianoGuys

All the sounds you hear were created by 90 tracks of cello, piano, and vocals (with a little wind and suspended cymbal)

This is NOT green screen. Everything you see is real snow and ice.

Story behind the song:

So who doesn't love a story about an estranged ice princess, a dynamic mountain man/reindeer duo and a snowman obsessed with warm weather? We all loved the movie "Frozen" and its single, "Let It Go." So much emotion, energy and drama packed into one tune. But we thought we'd add a little more drama...by melting together "Let It Go" and themes from Vivaldi's classical piece, "Winter." (You can watch an impressive performance of the original here: http://www.youtube.com/watch?v=Yu6Hr9kd-U0 - see if you can find where we used the main themes from each of the three movements.) Vivaldi's almost reckless string motives helped us surround the determined, upbeat melody and chords from "Let It Go" with intensity and uncertainty. We wanted the music to alternate between "freezing" and "thawing," representing the opposing forces throughout the "Frozen" story.

We were extra ambitious about capturing as much definition of the ice as possible so we decided to give 4K a try (a step up from 1080p HD) using the "RED" camera (same camera used in filming "The Hobbit"). So we called up our buddy Jacob Schwartz who rented us his awesome camera set up! It was challenging for Paul and Shaye to learn a whole new system and camera minutes before the shoot, but after awhile started getting the hang of it...:-) Editing the video on the other hand was a whole new process in processing that 4k footage. It took us 4 times as long to edit the video and fix glitches that kept happening working with such large files! After this experience, we might have to give 4k a try again, but not until we've mastered the art of it all which this video got us on the path at least.

Special thanks to Ryan Davis and his way cool crew at the Midway Ice Castles for hosting us. They built this winter palace one icicle at a time. Amazing! They were so nice and they really went the extra mile for us.
Check the Ice Castles out here: http://www.icecastles.com/
Ice Castle Facebook: https://www.facebook.com/IceCastlesCO

If you've read this far into the description you're awesome. Let's catch a movie together. What should we go see?

Credits
"Let It Go" written by Kristen Anderson & Robert Lopez and produced by Wonderland Music Company Inc. (BMI)
Also based on themes from Antonio Vivaldi's Concerto No. 4 in F minor, Op. 8, RV 297, ("The Four Seasons") - "L'inverno" (Winter)
Arrangement produced by Al van der Beek & Steven Sharp Nelson
Arrangement written by Al van der Beek, Jon Schmidt & Steven Sharp Nelson
Mixed & mastered by Al van der Beek at TPG Studios in Utah
Performed by
Jon Schmidt: Piano
Steven Sharp Nelson: Cellos, cello-percussion
Al van der Beek: Vocals, percussion
Video produced by Paul Anderson & Shaye Scott
Video filmed and edited by Shaye Scott & Paul Anderson
Red Epic camera provided by Jacob Schwarz http://tinyurl.com/l9zunkj
Helicopter footage provided by Chris Newman http://cinechopper.com/
Special effects provided by Tel Stewart and Zak Cioti
Piano Stunt Coordinator: Jeremy Crawford

Check more of our great videos!:
Christina Perri - A Thousand Years (Piano/Cello Cover) - ThePianoGuys - https://youtu.be/QgaTQ5-XfMM
Let It Go (Disney's "Frozen") Vivaldi's Winter - ThePianoGuys - https://youtu.be/6Dakd7EIgBE
Beethoven's 5 Secrets - OneRepublic - ThePianoGuys - https://youtu.be/mJ_fkw5j-t0
Titanium / Pavane (Piano/Cello Cover) - David Guetta / Faure - ThePianoGuys - https://youtu.be/fz4MzJTeL0c
One Direction - What Makes You Beautiful (5 Piano Guys, 1 piano) - ThePianoGuys - https://youtu.be/0VqTwnAuHws
Coldplay - Paradise (Peponi) African Style (ft. guest artist, Alex Boye) - ThePianoGuys - https://youtu.be/Cgovv8jWETM
Adele - Hello / Lacrimosa (Mozart) – ThePianoGuys - https://youtu.be/WZjFMj7OHTw
Story of My Life (One Direction -- Piano/Cello Cover) - ThePianoGuys - https://youtu.be/yET4p-r2TI8
This is Your Fight Song (Rachel Platten Scottish Cover) - ThePianoGuys - https://youtu.be/mOO5qRjVFLw

#thepianoguys #pianocello
english ( language )
Misc ( video category )
Tags:
#ThePianoGuys , #The Piano Guys , #Jon Schmidt , #Steven Sharp Nelson , #Yamaha Piano , #Classical , #frozen , #Frozen (Composition) , #disney , #Alex Boyé (Person) , #alex boye , #One Voice Children's Choir , #instrumental , #Let It Go Disney's Frozen Vilvaldi's Winter ThePianoGuys , #Let It Go Cover ThePianoGuys , #thepianoguys , #ice and snow piano , #Paul Anderson , #Vilvaldi's Winter , #Disney , #Frozen movie

Произошла ошибка! @vtatu.com __Shutdown_Decorator::renderErrorReport
Ошибка типа [1]: [
Uncaught *{DB\Exception}:
[1114][The table 'Statistics_RequestJournal_Records' is full]

BD={MySQL}
SQL=[INSERT INTO 
		`Statistics_RequestJournal_Records` 
 (
		`ID`, 
		`GUID`, 
		`POUUID`, 
		`ClassName`, 
		`ParentGUID`, 
		`OwnerGUID`, 
		`timeCreated`, 
		`timeModified`, 
		`timeAccessed`, 
		`Description`, 
		`Comments`, 
		`CodeID`, 
		`VersionString`, 
		`Name`, 
		`Hash`, 
		`Order`, 
		`Active`, 
		`timeSynchronized`, 
		`Owner_GUID`, 
		`Owner_POUUID`, 
		`Owner_ClassName`, 
		`Owner_Active`, 
		`ParentObject_GUID`, 
		`ParentObject_POUUID`, 
		`ParentObject_ClassName`, 
		`ParentObject_VersionString`, 
		`Tags`, 
		`REQUEST_METHOD`, 
		`UNIQUE_ID`, 
		`RequestTime_Start`, 
		`HTTP_SCHEME`, 
		`HTTP_HOST`, 
		`HTTP_URL`, 
		`QUERY_STRING`, 
		`HTTP_REFERER`, 
		`HTTP_REFERER_HOST`, 
		`Request_Headers_JSON`, 
		`SessionID`, 
		`Client_IP`, 
		`Client_UserAgent`, 
		`Client_IsRobot`, 
		`Client_IsSearchEngineCrawler`, 
		`Client_IsVulnerabilityScanner`, 
		`Client_Robot_Type`, 
		`Client_Robot_Fami
] в файле [/home/www-master/www/apps/HostSystem/SharedApps/moonlite13.cmf/core.moonlite13.ru/Modules/DBManagement/classes/class.DB_SQL.php] в строке [654]

Текущее(реальное) использование памяти [17'079'552] (17'563'648) из [512M] разрешённых
Участок с ошибкой:
00650:
        }
00651:
        //\System::LoadObjectsList($class_name, $Groups);
00652:
        //var_dump($query);
00653:
        
00654:        throw new \DB\Exception (
00655:
             sprintf(
00656:
                "*Ошибка при исполнении SQL запроса! <br /> MySQL error:[<b>%s</b>]\n While [<b>%s</b>] \n callstack:\n <pre>%s</pre>"
00657:
                ,$message
00658:
                ,$query
00659:
                ,$_tmp_debug_print_backtrace
00660:
            )


Файл целиком:
<?php
/**
 * Класс DB, обеспечивающий работу с SQL базами данных
 * 
 * 
 * @package     DBManagement
 * @author      Premier13 (Черных Александр) <alex@sensei.su>
 * @copyright   Sensei Media Concept(C) 2006
 *
 */
class DB_SQL
    
implements \JsonSerializable
{
    const 
DB_CATEGORY_SQL       "SQL";
    const 
DB_CATEGORY_NOSQL     "NoSQL";
    
    const 
DB_TYPE_MYSQL         "MySQL";
    const 
DB_TYPE_MSSQL         "MSSQL";
    const 
DB_TYPE_ORACLE        "Oracle";
    const 
DB_TYPE_POSTGRESQL    "PostgreSQL";
    
    
    const 
DB_ROLE_PERSISTENT    "Persistent Storage";
    const 
DB_ROLE_TEMPORARY     "Temporary Storage";
    
    
    
    
    const 
INDEX_TYPE_BTREE      "BTREE";
    const 
INDEX_TYPE_FULLTEXT   "FULLTEXT";
    const 
INDEX_TYPE_HASH       "HASH";
    const 
INDEX_TYPE_RTREE      "RTREE";
    
    
    
    
    protected 
$DB_CATEGORY  self::DB_CATEGORY_SQL;
    protected 
$DB_TYPE      self::DB_TYPE_MYSQL;
    protected 
$DB_ROLE      self::DB_ROLE_PERSISTENT;
    
    const 
PROVIDER_ID       NULL;
    
    
    
/**
     * Имя сервера
     *
     * @var string
     */
    
public $dbServer;
    
/**
     * Имя базы активной данных
     *
     * @var string
     */
    
public $dbName;
    
/**
     * Имя пользователя БД
     *
     * @var string
     */
    
public $dbUser;
    
/**
     * Пароль пользователя БД
     *
     * @var string
     */
    
public $dbPass;
    
    
    
    
/**
     * Ссылка на подключение к базе данных
     *
     * @var mixed
     */
    
var $dbConnection;
    
    
    
    
    
    
    
/**
     * Счётчик выполненных запросов к базе данных
     *
     * @var integer
     */
    
var $dbqQueryCounter;
    
/**
     * Лог запросов (текстовый)
     *
     * @var string
     */
    
var $QueryLog;
    
    
    
    var 
$QueryLog_microtime_b;
    var 
$QueryLog_microtime_e;
    var 
$QueryLog_delta;
    var 
$QueryLog_query;
    
    
    
/**
     * Суммарное время выполнения запросов
     *
     * @var float
     */
    
var $sum_delta;                 #time
    
    
    
    
    
    /**
     * Флаг разрешаюшие логирование запросов
     *
     * @var boolean
     */
    
var $enableLogging;
    
/**
     * Структура логов запросов (Порядковый номер, время, время исполнения, запрос)
     *
     * @var MemoryLog
     */
    
protected $_log;
    
    protected 
$_is_persistent_connection    =   false;
    
    protected 
$_is_persistent_connection_enabled    =   true;
    
    protected 
$_is_db_selected false;
    
    
    
//TODO: Реализовать!
    
var $_access_level;
    var 
$_access_rights;
    var 
$_alowed_operators;
    var 
$_alowed_queries;
    
    
    
    
    
    
    
/**
     * Конструктор
     *
     * @param string $server
     * @param string $name
     * @param string $user
     * @param string $pass
     */
    
public function __construct($server="localhost",$name="database",$user="root",$pass="rootpass")
    {
        
$this->dbServer         =   $server;
        
$this->dbName           =   $name;
        
$this->dbUser           =   $user;
        
$this->dbPass           =   $pass;
        
//
        
$this->sum_delta        =   0;
        
//
        
$this->enableLogging    =   true;
        
//
        
$this->_log             =   new MemoryLog();
    }
    
/**
     * Деструктор
     *
     */
    
public function __destruct()
    {
        if(!
$this->isConnectionPersistent())
        {
            if(
$this->isConnected())
            {
                
$this->disconnect();
            }
        }
    }
     
/**
     * Отключение возможности клонирования объекта.
     * Реализация шаблона Singleton
     *
     * @ignore
     */
    
private function __clone() {}
    
    
/**
     *
     * @return string
     */
    
function getProviderType()
    {
        return 
"MySQL";
    }
    
    
/**
     *
     * @return string
     */
    
function getLastErrorNo()
    {
        return 
mysql_errno($this->getDBConnection());
    }
    
/**
     *
     * @return string
     */
    
function getLastErrorMessage()
    {
        return 
mysql_error($this->getDBConnection());
    }
    
    
    
    
/**
     * Получить категорию БД
     *
     * @return string
     */
    
function getCategory()
    {
        return 
$this->DB_CATEGORY;
    }
    
    
/**
     * Получить тип базы данных
     * 
     * @return string
     */
    
function getType()
    {
        return 
$this->DB_TYPE;
    }
    
    
    function 
getRole()
    {
        return 
$this->DB_ROLE;
    }
    
    
/**
     * Получить имя сервера
     *
     * @return string
     */
    
public function getServerName ()
    {
        
$result =   $this->dbServer;
        return 
$result;
    }
    
    
/**
     * Получить имя активной базы данных в подключении
     *
     * @return string
     */
    
public function getDBName ()
    {
        
$result =   $this->dbName;
        return 
$result;
    }
    
/**
     * 
     * @param string $value
     * @return DB_SQL
     */
    
function &setDBName($value)
    {
        
$this->dbName $value;
        return 
$this;
    }
    
    
    
/**
     * 
     * @return string
     */
    
public function getUserName()
    {
        return 
$this->dbUser;
    }
    
/**
     * 
     * @return string
     */
    
public function getUserPassword()
    {
        return 
$this->dbPass;
    }
    
    
    
    
/**
     * Реализация метода интерфейса JsonSerializable (PHP 5 >= 5.4.0, PHP 7)
     *
     * Цель метода - исключение проблем с сериализацией объектов
     *  и в частности наличием в них переменных типа resource.
     *  
     * @see http://php.net/manual/ru/jsonserializable.jsonserialize.php
     *
     *
     *
     *
     * @return string
     */
    
function jsonSerialize()
    {
        
$result = array();
        
//
        
$result["Server"]   = $this->dbServer;
        
$result["Databale"] = $this->dbName;
        
$result["User"]     = $this->dbUser;
        
$result["Passowrd"] = $this->dbPass;
        
//
        
$result["IsPersistentConnection"]        = $this->_is_persistent_connection;
        
$result["IsPersistentConnectionEnabled"] = $this->_is_persistent_connection_enabled;
        
$result["IsDbSelected"]                  = $this->_is_db_selected;
        
//
        
$result["Connection"] = $this->dbConnection true false;
        
//
        
        
        
        
        
$result["enableLogging"] = $this->enableLogging;
        
//
        
$result["QueryLog"]        = $this->QueryLog;
        
        
        
$result["QueryLog_microtime_b"] = $this->QueryLog_microtime_b;
        
$result["QueryLog_microtime_e"] = $this->QueryLog_microtime_e;
        
$result["QueryLog_delta"]       = $this->QueryLog_delta;
        
$result["QueryLog_query"]       = $this->QueryLog_query;
        
        
// Суммарное время выполнения запросов
        
        
$result["TotalDBTimeUsed"]      = $this->sum_delta;
        
$result["TotalQueriesCount"]    = $this->dbqQueryCounter;
        
        
//
        
$result["sum_delta"]       = $this->sum_delta;
        
$result["dbqQueryCounter"] = $this->dbqQueryCounter;
        
        
//
        
        
        
        //
        //$this->_log             =   new MemoryLog();
        
        
        
        
        
        //return $this->toSimpleArray();
        //
        
return $result;
    }
    
    
    
/**
     * 
     * @return number
     */
    
function getTotalQueriesCount()
    {
        return 
$this->dbqQueryCounter;;
    }
    
/**
     *
     * @return number
     */
    
function getTotalDBTimeUsed()
    {
        return 
$this->sum_delta;;
    }
    
    
    function &
connect()
    {
        
//
        
$this->dbConnection     =   mysql_pconnect($this->dbServer$this->dbUser$this->dbPass);
        if(!
$this->dbConnection)
        {
            
// TODO: пересмотреть!
            
$_tmp_debug_print_backtrace =   "";
                
ob_start();
                    
debug_print_backtrace();
                    
$_tmp_debug_print_backtrace =   ob_get_contents();
                
ob_end_clean();
                
//
            
throw new DBException (
                 
sprintf(
                    
"Ошибка при подключении к серверу БД! <br /> MySQL error:[<b>%s</b>]\n While [<b>CONNECT TO BD Server</b>] \n callstack:\n <pre>%s</pre>"
                    
,mysql_error()
                    
//,$query
                    
,$_tmp_debug_print_backtrace
                 
)
                ,
503
              
);
            
//$result = false;
            
die("503");
            
//
        
}
        
$this->_is_persistent_connection    =   true;
        
//
        
        
if($this->isConnected())
        {
            
$this->onConnect();
        }
        
        return 
$this;
    }
    
    function &
disconnect()
    {
        if(
$this->isConnected())
        {
            
        }
        
        return 
$this;
    }
    
    
/**
     * Подключена ли БД
     *
     * @return boolean
     */
    
function isConnected()
    {
        return 
$this->dbConnection true false;
    }
    
    function 
isConnectionPersistent()
    {
        return  
$this->_is_persistent_connection;
    }
    
    function &
onConnect()
    {
        
$this->resetCounters();
        
//
        
$queries   = array();
        
$queries[] = "SET NAMES UTF8;";
        
$queries[] = "SET COLLATION_CONNECTION=UTF8_GENERAL_CI;";
        
        
        
// @todo только на текстовых полях и полях ввода пользователями (соц.сети)
        // Storage for variable-length columns includes length bytes, 
        // which are counted toward the row size. 
        // For example, a VARCHAR(255) CHARACTER SET utf8mb3 column 
        // takes two bytes to store the length of the value, so each value can take up to 767 bytes.
        //$queries[] = "SET COLLATION_CONNECTION=utf8mb4_unicode_ci;";
        
        // https://mathiasbynens.be/notes/mysql-utf8mb4
        //$queries[] = "SET COLLATION_CONNECTION=utf8mb4_unicode_ci;";
        
        //
        // The default SQL mode in MySQL 5.7 includes these modes: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION.
        // SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column
        
$queries[] = "SET SQL_MODE='ALLOW_INVALID_DATES';";
        
//
        
foreach($queries as $query)
        {
            
//$Result1    =   $this->ExecQuery($query,false);
            
            
if(!$this->execQuery($query,false))
            {
                
//
            
}
        }
        
//
        
return $this;
    }
    
    function 
selectDB($dbname)
    {
        return 
false;
    }
    
    
    
    function 
onConnectionError($errorno,$message)
    {
        
//
        
$_tmp_debug_print_backtrace =   "";
        
//
        
ob_start();
        
debug_print_backtrace();
        
$_tmp_debug_print_backtrace =   ob_get_contents();
        
ob_end_clean();
        
//
        
throw new \DB\Exception (
            
sprintf(
                
"Ошибка при подключении к серверу БД!"."<br />"
                
."Ошибка:[<b>%s</b>] (<b>%s</b>)"."<br />"
                
."Стэк вызова:"."<br />"
                
."<pre>%s</pre>"
                
,$message
                
,$errorno
                
//,$query
                
,$_tmp_debug_print_backtrace
            
)
            ,
503
            
,$this
        
);
        
$result false;
        
//
        
die("503");
        
//
        
return $result;
    }
    
    
    
    
    
    
    function 
onSwitchDbError($dbname,$errorno,$message)
    {
        
// Временное решение! TODO: довести до ума!
        
if(class_exists("__Shutdown_Processor"))
        {
            @
ini_set('display_errors'false);
        }
        
//
        //echo "<pre>";            debug_print_backtrace(); echo "</pre>";            die();
        //
        
$_tmp_debug_print_backtrace =   "";
        
ob_start();
        
debug_print_backtrace();
        
$_tmp_debug_print_backtrace =   ob_get_contents();
        
ob_end_clean();
        
//
        
throw new \DB\Exception (
            
sprintf(
                
"Ошибка при переключении на БД [<b>%s</b>]!"."\n<br />\n"
                
."Ошибка:[<b>%s</b>] (<b>%s</b>)"."<br />"
                
."\n<br />\n"
                
."\n<br />\n"
                
."Стэк вызова:"."<br />"
                
,$dbname
                
,$message
                
,$errorno
                
,$_tmp_debug_print_backtrace
            
)
            ,
503
            
,$this
            
,""
            
,debug_backtrace()
        );
        
//
        
$result false;
        die(
"503");
        
//
        
return $result;
    }
    
    
    
    
    
/**
     * 
     * @global Engine $engine
     * 
     * @param string $query
     * @param string $errorno
     * @param string $message
     * @throws DBException
     * @return boolean
     */
    
function onQueryError($query,$errorno,$message)
    {
        global 
$engine;
        
        
// Временное решение! TODO: довести до ума!
        
if(class_exists("__Shutdown_Processor"))
        {
            @
ini_set('display_errors'false);
        }
            
        if(
$engine->isDevServer())
        {
            echo 
sprintf(
                 
"[%s]< br />"
                
,$message
                
//,$query
            
);
        }
        
        
$_tmp_debug_print_backtrace =   "";
        
        
ob_start();
        
debug_print_backtrace();
        
$_tmp_debug_print_backtrace =   ob_get_contents();
        
//die($query);
        //
        
ob_end_clean();
        
//
        
        
        
if(1)
        {
            
error_log($query);
            
//error_log($_tmp_debug_print_backtrace);
            
            
$_trace_stack debug_backtrace();
            
array_shift($_trace_stack);
            
            
            
$___log "";
            
            foreach(
$_trace_stack as $key => $record)
            {
                
//
                // Борьба с наличием рекурсии
                //$backtrace = unserialize(    serialize(debug_backtrace()));
                //
                //$___args    =   NULL;
                //$___args    =   (isset($_trace_stack[$key]["args"])) ? unserialize(serialize($_trace_stack[$key]["args"])) : $___args;
                //
                
$___log .= sprintf(
                    
"#%s [%s] [%s][%s][%s] (%s); on [%s:%s] \n"
                    
,$key
                    
,(isset($record["object"])                                          ? get_class($record["object"])  : "")
                    ,(isset(
$record["class"]))                                          ? $record["class"]              : ""
                    
,(isset($record["type"]))                                           ? $record["type"]               : ""
                    
,(isset($record["function"]))                                       ? $record["function"]           : ""
                    
/*,(isset($_trace_stack[$key]["args"])
                    AND is_array($_trace_stack[$key]["args"]))
                    ?
                    //implode(",",$_trace_stack[$key]["args"])
                    //"I::".
                    \Debug::implode_func_arg($_trace_stack[$key]["args"])
                    //."<br />".print_r($_trace_stack[$key]["args"],true)
                      :
                     ((isset($_trace_stack[$key]["args"]))                                       ? \Debug::implode_func_arg($_trace_stack[$key]["args"])           : "")
                    */
                    
,"..."
                    
,(isset($record["file"]))                                       ? $record["file"]           : "?"
                    
,(isset($record["line"]))                                       ? $record["line"]           : "?"
                
);
            }
            
error_log($___log);
            
//error_log(Debug::Bugtrace("ext",true,false,$_trace));
        
}
        
//\System::LoadObjectsList($class_name, $Groups);
        //var_dump($query);
        
        
throw new \DB\Exception (
             
sprintf(
                
"*Ошибка при исполнении SQL запроса! <br /> MySQL error:[<b>%s</b>]\n While [<b>%s</b>] \n callstack:\n <pre>%s</pre>"
                
,$message
                
,$query
                
,$_tmp_debug_print_backtrace
            
)
            ,
503
            
,$this
            
,$query
            
,debug_backtrace()
        );
        
$result false;
        die(
"503");
        
        return 
$result;
    }
    
    
/**
     * 
     * @param mixed $handle
     * @return NULL
     */
    
function &instantiateQueryResult($handle=NULL)
    {
        
$result = new \DBQueryResult();
        
//
        
if($handle)
        {
            
$result->setHandle($handle);
        }
        
//
        
return $result;
    }
    
    
    
    
    
    
    
    
    function &
resetCounters()
    {
        
//
        
$this->dbqQueryCounter  =   0;
        
$this->sum_delta        =   0;
        
//
        
return $this;
    }
    
    
/**
     * 
     * @return self
     */
    
function &disableLogging()
    {
        
$this->enableLogging false;
        
//
        
return $this;
    }
    
/**
     * 
     * @return self
     */
    
function &enableLogging()
    {
        
$this->enableLogging true;
        
//
        
return $this;
    }
    
    
    
/**
     * Инициализация подключения к БД
     *
     */
    
public function dbInit()
    {
        
$this->connect();
    }
    
/**
     * Закрытие подключения к БД
     *
     * @return boolean
     */
    
public function dbClose()
    {
        
$this->disconnect();
    }
    
    
    
    
    
    
    
    
    
    
    
    
/**
     * Исполнение SQL запроса
     *
     * @global $engine
     * @param string $query SQL запрос
     * @param boolean $do_dbselect флаг разрешающий выбор SQL БД при исполнении запроса
     * @return resource результат выполения запроса (mysql_result)
     */
    
public function &ExecQuery($query,$do_dbselect=true)
    {
        
$result NULL;
        return 
$result;
    }
    
    
    
    
/**
     * Расширенная функция (метод) выполнения SQL-запроса
     *
     * @param SQLQuery $query
     * @param boolean $do_dbselect
     * @throws DBException
     * @return DBQueryResult
     */
    
public function &ExtendedExecQuery($query,$do_dbselect=true)
    {
        
$result NULL;
        return 
$result;
    }
    
/**
     * 
     * @param \SQLQuery $query
     * @param boolean $do_dbselect
     * @return \DBQueryResult
     */
    
public function &execQueryExtended($query,$do_dbselect=true)
    {
        if(
is_string($query))
        {
            return 
$this->instantiateQueryResult($this->ExecQuery($query));
        }
        
//
        
return $this->instantiateQueryResult($this->ExecQuery($query->toSQL()));
        
    }
    
    
    
        
    
    
    
    
/**
     * Получение числа записей получаемых при выполнении SQL запроса
     *
     * @param string $query SQL запрос
     * @param boolean $do_dbselect флаг разрешающий выбор SQL БД при исполнении запроса
     * @return integer $this->ExecQuery($query,$do_dbselect);
     */
    
public function getQueryRowsCount($query,$do_dbselect=false)
    {
        
$result NULL;
        
//
        
$query         =   str_replace(" * "," COUNT(*) as `num_count` ",$query);
        
//
        
$dbresult      =   $this->ExtendedExecQuery($query,$do_dbselect);
        
//
        
if($dbresult)
        {
            
$row_recordset =   $dbresult->getCurrentRowRecordset("assoc");
            
$result        =   $row_recordset['num_count'];
            
//
            
$dbresult->free();
        }
        
//
        
return $result;
    }
    
    
/**
     * 
     * 
     * @deprecated
     * 
     * @param string $query
     * @param boolean $do_dbselect
     * @return array
     */
    
function DBQueryResultAsArray($query,$do_dbselect=true)
    {
        
$result = array();
        
//
        
$dbresult      =   $this->ExtendedExecQuery($query,$do_dbselect);
        
//
        
if($dbresult)
        {
            
$result        =   $dbresult->asArray(true);
        }
        
//
        
return $result;
    }
    
    
    
    
    
    
/**
     * Получение списка имён баз данных на текущем сервере
     * (Замена mysql_list_dbs($this->dbConnection);)
     *
     * SHOW databases [ LIKE wild-card ]
     *
     * @return array
     */
    
public function getDBs ()
    {
        
$result =   array();
        
//
        
$query      =   'SHOW DATABASES';
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
while ($rec_db  =   $dbresult->getCurrentRowRecordset(DBQueryResult::FETCH_MODE_INDEX))
        {
            
$result[]   =   $rec_db[0];
        }
        
//
        
$dbresult->free();
        
//
        
return $result;
    }
    
    
    
    
    
/**
     * Получение списка имён таблиц выбранной базы данных
     *
     * @param string $db_name имя базы данных
     * @return array
     */
    
public function getDBTables ($db_name=NULL)
    {
        
$result =   array();
        
//
        
if(!mb_strlen($db_name))
        {
            
$db_name      =   $this->getDBName();
        }
        
//
        //SHOW [FULL] TABLES [FROM db_name]  [LIKE 'pattern' | WHERE expr]
        //
        
$query      =   "SHOW TABLES FROM ".$this->quoteIdentifier($db_name).";";
        
//
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
while ($row  =   $dbresult->getCurrentRowRecordset(DBQueryResult::FETCH_MODE_INDEX))
        {
            
$result[]   =   $row[0];
        }
        
//
        
$dbresult->free();
        return 
$result;
    }
    
    
/**
     * 
        Table
        Non_unique
        Key_name
        Seq_in_index
        Column_name
        Collation
        Cardinality
        Sub_part
        Packed
        Null
        Index_type
        Comment
        Index_comment

     * @param string $table_name
     * @param mixed $filter
     * @param array $options
     * @return mixed[]|NULL[]
     */
    
function getDBTableIndexes($table_name,$filter=NULL,$options=array())
    {
        
$result =   array();
        
//
        
        //
        /*
        $default_filter = array(
            "Index_type" => array(),
        );
        */
        //
        
$query      =   "SHOW INDEX FROM ".$this->quoteIdentifier($table_name).";";
        
//
        
if(count($filter))
        {
           if(isset(
$filter["Index_type"]) AND count($filter["Index_type"]))
           {
               
$condition = \DBPropertyCondition::instantiate("Index_type"                   ,$filter["Index_type"]    ,"IN");
               
               
               
//System::PrintArray($condition->toSQL());
               
               
               
$query      =   "SHOW INDEX \n FROM \n".$this->quoteIdentifier($table_name)."\n WHERE \n".$condition->toSQL().";";
               
           }
        }
        
//
        //System::PrintArray($query);
        //
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
while ($row  =   $dbresult->getCurrentRowRecordset(DBQueryResult::FETCH_MODE_ASSOC))
        {
            
//$result[]   =   $row[0];
            
$result[]   =   $row;
        }
        
//
        
$dbresult->free();
        return 
$result;
    }
    
    
/**
     * 
     * @param string $table_name
     * @param string $fields
     * @param string $index_name
     * @param array $options
     * @return DBQueryResult
     */
    
function &addFullTextIndexTo($table_name,$fields,$index_name NULL,$options=array())
    {
        
//$fields_string = "";
        //
        
        //
        
$fields_quoted = array();
        
//
        
foreach ($fields as $key => $field_name)
        {
            if(
strlen($field_name))
            {
                
$fields_quoted[$key] = $this->quoteIdentifier($field_name);
            }
        }
        
//
        
$sql_query sprintf(
            
"ALTER TABLE %s ADD FULLTEXT %s (%s);"
            
,$this->quoteIdentifier($table_name)
            ,
strlen($index_name) ? $this->quoteIdentifier($index_name) : ""
            
,implode(","$fields_quoted)
        );
        
//
        
$dbresult   =   $this->ExtendedExecQuery($sql_query,false);
        
//
        
return $dbresult;
    }
    
    
/**
     * 
     * @param string $table_name
     * @param string $index_name
     * @param array $options
     * @return DBQueryResult
     */
    
function &dropIndexByName($table_name,$index_name,$options=array())
    {
        
// ALTER TABLE `VTatu_Artists` DROP INDEX `TextSearch_Index_Names_2`;
        //
        
$sql_query sprintf(
            
"ALTER TABLE %s  DROP INDEX %s;"
            
,$this->quoteIdentifier($table_name)
            ,
$this->quoteIdentifier($index_name)
        );
        
//
        
$dbresult   =   $this->ExtendedExecQuery($sql_query,false);
        
//
        
return $dbresult;
    }
    
    
    
    
    
    
    
    
    
    
/**
     * Получение информации о полях таблицы
     * 
     * SHOW COLUMNS FROM `UsersManagement_Authentication_Credentials`
     * SHOW FULL COLUMNS FROM `UsersManagement_Authentication_Credentials`
     * 
     * 
     *      [Field] => id
            [Type] => int(7)
            [Null] =>
            [Key] => PRI
            [Default] =>
            [Extra] => auto_increment
     *
     * @param string $tblName
     * @param string $dbName
     * @param string $full
     * @return array
     */
    
public function getFieldsList($tblName,$dbName=NULL,$full=true)
    {
        
//
        
$query sprintf(
            
$full "SHOW FULL COLUMNS FROM %s;" "SHOW COLUMNS FROM %s;"
            
,$this->quoteIdentifier($tblName)
        );
        
//
        
if($dbName !== NULL)
        {
            
$query sprintf(
                
$full "SHOW FULL COLUMNS FROM %s;" "SHOW COLUMNS FROM %s.%s;"
                
,$this->quoteIdentifier($dbName)
                ,
$this->quoteIdentifier($tblName)
            );
        }
        
        
$dbresult $this->ExtendedExecQuery($query);
        
        if(
$dbresult)
        {
            
$result   =   $dbresult->asArray(true);
        }
        
        
        
//$str = "";
        
        
foreach($result as $key => $value)
        {
            
//
            
if(!isset($result[$key]["TypeModificator"]))
            {
                
$result[$key]["TypeModificator"] = NULL;
            }
            
//
            
$result[$key]["FullType"] = $result[$key]["Type"];
            
//$result[$key]["Type"]     = NULL;
            //
            
$matches NULL;
            
//
            
if(preg_match("/^([^\(\)]*)\((.*)\)(.*)$/uis"$result[$key]["FullType"],$matches))
            {
                
$result[$key]["Type"]            = trim($matches[1]);
                
$result[$key]["TypeModificator"] = trim($matches[3]);
                
                
//$result[$key]["_"]["Type"]       = $value["FullType"];
                
                
                
if(!key_exists("Length"$value))
                {
                    
$result[$key]["Length"] = $matches[2];
                }
                
                
                
                
$result[$key]["."]              = $matches;
            }
            
//
        
}
        
//
        
return $result;
    }
    
    
    
    
    
    
    
    
    
    
/**
     * Проверка на наличие указаной БД на сервере
     * 
     * @param string $name
     * @param string $reset_cache
     * @return boolean
     */
    
function existsDB($name=NULL,$reset_cache=false)
    {
        static 
$dbs NULL;
        
        if(
$dbs === NULL OR $reset_cache)
        {
            
$dbs $this->getDBs();
        }
        
        if(
$name === NULL)
        {
            
$name =  $this->getDBName();
        }
        
        return 
in_array($name$dbs);
    }
    
    
/**
     * Исполнить запрос на создание базы данных
     *
     * @param string $db_name
     * @param boolean $if_not_exists
     * @return boolean
     */
    
function createDB($db_name='',$if_not_exists=true)
    {
        
$query  =   sprintf(
             
"CREATE DATABASE IF NOT EXISTS %s %s;"
            
,$this->quoteIdentifier($db_name)
            ,
'DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci'
        
);
        return 
$this->ExecQuery($query,false);
    }
    
/**
     * Получение числа записей в таблице выбранной базы данных
     *
     * @param string $db_tablename
     * @param string $db_name
     * @return integer
     */
    
public function getCountDBTableRecords ($db_tablename='',$db_name='')
    {
        
$result =   -1;
        
//
        
if(mb_strlen($db_name) < 1)
        {
            
$db_name      =   $this->getDBName();
        }
        
//
        
$query  =   sprintf(
            
"SELECT COUNT(*) as `num_count` FROM %s.%s;"
            
,$this->quoteIdentifier($db_name)
            ,
$this->quoteIdentifier($db_tablename)
        );
        
//
        //
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
if($dbresult)
        {
            
$row_recordset  =   $dbresult->getCurrentRowRecordset(DBQueryResult::FETCH_MODE_ASSOC);
            
$result         =   $row_recordset["num_count"];
            
$dbresult->free();
        }
        
//
        
return $result;
    }
    
    
/**
     * Получение информации о таблицах базы данных
     *
     * @param string $dbname имя базы данных
     * @return array
     */
    
public function gatherTablesInfo($dbname="")
    {
        
$result =   array();
        
//
        
if(mb_strlen($dbname) < 1)
        {
            
$dbname      =   $this->getDBName();
        }
        
//
        
$query  =   sprintf("SHOW TABLE STATUS FROM %s;",$this->quoteIdentifier($dbname));
        
//
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
if($dbresult)
        {
            while (
$row  =   $dbresult->getCurrentRowRecordset(DBQueryResult::FETCH_MODE_ASSOC))
            {
                
$result[$row['Name']] =   array();
                
$result[$row['Name']]['Name']         =   $row['Name'];
                
$result[$row['Name']]['Data_length']  =   $row['Data_length'];
                
$result[$row['Name']]['Index_length'] =   $row['Index_length'];
                
$result[$row['Name']]['Rows']         =   $row['Rows'];
            }
            
$dbresult->free();
        }
        
//
        
return $result;
    }
    
    
    
    
/**
     * Проверка наличия таблицы в активной базе данных
     *
     * @param string $table_name имя таблицы базы данных
     * @return boolean
     */
    
public function askTableExists ($table_name,$do_dbselect=true)
    {
        
$result =   NULL;
        
//
        
if(mb_strlen($table_name) < )
        {
            return 
$result;
        }
        
//
        
$query  =   sprintf("SHOW TABLES LIKE %s;",$this->quoteString($table_name));
        
//
        
$dbresult   =   $this->ExtendedExecQuery($query,$do_dbselect);
        
//
        
if($dbresult)
        {
            
$result $dbresult->getRowsCount();
            
$dbresult->free();
        }
        
//
        
return $result;
    }
    
    
/**
     * Проверка наличия базы данных на активном сервере
     *
     * @param string $dbname имя базы данных
     * @return boolean
     */
    
public function askDatabaseExists ($dbname)
    {
        
$result =   NULL;
        
//
        
if(mb_strlen($dbname) < 1)
        {
            return 
$result;
        }
        
//
        
$query  =   sprintf("SHOW DATABASES LIKE %s;",$this->quoteString($dbname));
        
//
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
if($dbresult)
        {
            
$result $dbresult->getRowsCount();
            
$dbresult->free();
        }
        
//
        
return $result;
    }
    
    
    
    
    
    
    
    
    
    
    
/**
     * Проверка наличия таблицы в активной базе данных
     *
     * @param string $table_name имя таблицы базы данных
     * @return integer
     */
    
public function TableExists ($table_name,$do_dbselect=true)
    {
        if(!
$this->askTableExists($table_name,$do_dbselect))
        {
            
//return -1;
            
return false;
        }
        
//
        
return 1;
    }
    
    
    
/**
     * Проверка наличия базы данных на активном сервере
     *
     * @param string $dbname имя базы данных
     * @return integer
     */
    
public function DatabaseExists ($dbname)
    {
        if(
$this->askDatabaseExists($dbname))
        {
            return -
1;
        }
        
//
        
return 1;
    }
    
    
    
    
    
/**
     * Добавление нового поля в таблицу БД, если оно отсутствует
     *
     * @param string $tblName имя таблицы
     * @param string $clName имя добавляемого поля
     * @param string $clParams параметры добавляемого поля
     * @param string $PredclName имя поля передшествующего добавляемому
     * @return boolean
     */
    
public function addColumnIfItDoesNotExist($tblName,$clName,$clParams,$PredclName)
    {
        
$result NULL;
        
//
        
$query sprintf(
            
"SHOW COLUMNS FROM %s LIKE %s;"
            
,$this->quoteIdentifier($tblName)
            ,
$this->quoteString($clName)
        );
        
//
        
$dbresult   =   $this->ExtendedExecQuery($query,false);
        
//
        
if($dbresult)
        {
            
$exists $dbresult->getRowsCount();
            
$dbresult->free();
        }
        
//
        
        
if(!$exists)
        {
            
$query 
                 
"ALTER TABLE "." ".$this->quoteIdentifier($tblName)." "
                
."ADD COLUMN {$this->quoteIdentifier($clName)} {$clParams} "
                
."AFTER {$this->quoteIdentifier($PredclName)}"
                
.";"
            
;
            
$result_cmd $this->ExecQuery($query);
            if(!
$result_cmd)
            {
                
$result false;
            }
        }
        
//
        
return $result;
    }
    
    
    
    
    
/**
     * Переключиться на другую БД в текущем <b>подключении</b>
     *
     * Возвращает имя установленой БД
     *
     * @param string $db_name
     * @throws DBException
     * @return string
     */
    
function switchDB($db_name)
    {
        
$this->selectDB($db_name);
        
$this->dbName $db_name;
        
        return 
$this->dbName;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
/**
     * Получить отчёт о текущем состоянии сервера
     *
     *
     * @param boolean $print
     * @return string
     */
    
function getServerStats($_format="struct",$print=false)
    {
        
        
$result    =  NULL;
        
//
        
$status explode('  'mysqli_stat($this->dbConnection));
        
//Returns a string with the status for uptime, threads, queries, open tables, flush tables and queries per second.
        // For a complete list of other status variables, you have to use the SHOW STATUS SQL command
        
switch(mb_strtolower($_format,"UTF-8"))
        {
            case 
"string" :
            {
                
$result    =  print_r($status,true);
                break;
            }
            case 
"array" :
            case 
"struct" :
            {
                
$result =   $status;
                break;
            }
        }
        
        return 
$result;
    }
    
    
    
    
    
    
    
    
/**
     * Получить отчёт о текущем состоянии сервера
     * 
     * @deprecated use getServerStats
     *
     * @param boolean $print
     * @return string
     */
    
function ServerStats($_format="struct",$print=false)
    {
        return 
$this->getServerStats($_format,$print);
    }
    
    
    
    
    
    
/**
     * Получить лог запросов
     *
     * @return MemoryLog
     */
    
function &getQueryLog()
    {
        return 
$this->_log;
    }
    
    
    
/**
     * Получить ссылку на логгер (SQL) запросов
     *
     * @todo: Написать логгер SQL запросов (запись в файл построчно, с сериализацией, каждого отдельного запроса. заголовок лога? (с отдалочной информацией, в т.ч. и по формату)
     *
     * @return MemoryLog
     */
    
function &getQueryLogger()
    {
    
        return 
$this->_log;
    }
    
    
    
    
/**
     * Формирование информации о выполныенных запросах в соответствии с указанным шаблоном
     * 
     * @deprecated
     *
     * @param string $_rec_tmpl шаблон строки информации о выполненносм запросе (формат sprintf, порядок: порядковый номер, время выполенения запроса, время затраченное на запрос, запрос)
     * @return string
     */
    
public function QueryLogAsText($_rec_tmpl=NULL)
    {
        
$_result =   '';
        
        if(
$_rec_tmpl === NULL)
        {
            
$_rec_tmpl "<br />[<strong>%s</strong>][%s][<strong>&Delta;=%s</strong>][%s]<br />";
        }
        
        
        
#
        #   Рендеринг данных
        #
        
$_data  =   $this->_log->GetRawData();
        
#
        #
        
foreach($_data as $record)
        {
            
$_result .= sprintf(
                
#"<br />[<strong>%s</strong>][%s][<strong>&Delta;=%s</strong>][%s]<br />"
                 
$_rec_tmpl
                
,$record['No']
                ,
$record['DateTime']
                ,
$record['delta']
                ,
$record['Query']
            );
        }
        
#
        #
        
return $_result;
    }
    
    
    
/**
     * Формирование информации о выполныенных запросах в соответствии с указанным шаблоном
     * 
     * @deprecated
     *
     * @param string $_rec_tmpl шаблон строки информации о выполненносм запросе (формат sprintf, порядок: порядковый номер, время выполенения запроса, время затраченное на запрос, запрос)
     * @return string
     */
    
public function renderQueryLog()
    {
        
$_result =   "";
        
//
        
$_data  =   $this->_log->getRawData();
        
//
        
$_result '<table class="table table-bordered table-striped table-hover">';
        
        foreach(
$_data as $record)
        {
            
$_result .= "<tr>";
            
            
$_result .= "<th>".$record['No']."</th>";
            
            
$_result .= "<td>".$record['DateTime']."</td>";
            
            
$_result .= "<td>[<strong>&Delta;=".$record['delta']."</strong>]</td>";
            
            
$_result .= "<td>".\SMC\HTML::TextAsHTML($record['Query'])."</td>";
            
            
$_result .= "</tr>";
        }
        
        
$_result "</table>";
        
//
        
return $_result;
    }
    
    
    
    
    
/**
     * Получить сводку о базе данных (хранилище/источнике)
     * 
     * 
     * @var array $exclude_tables
     * @return array
     */
    
function getSummary($exclude_tables=array())
    {
        
$result = array();
        
//
        
$result["Stats"] = array();
        
$result["Stats"]["nTables"]  = 0;
        
$result["Stats"]["nRecords"] = 0;
        
$result["Stats"]["DataSize"] = 0;
        
//
        
        
        
$DBResult $this->extendedExecQuery("SHOW TABLE STATUS;");
        
        
$tables_info $DBResult->asArray(true);
        
//
        
foreach ($tables_info as $data)
        {
            if(
in_array($data["Name"], $exclude_tables))
            {
                continue;
            }
            
            
$result["Stats"]["nTables"]++;
            
$result["Stats"]["nRecords"] += (double) $data["Rows"];
            
$result["Stats"]["DataSize"] += (double) $data["Data_length"];
        }
        
//
        
$result["Category"] = $this->getCategory();
        
$result["Type"]     = $this->getType();
        
$result["Server"]   = $this->getServerName();
        
$result["Name"]     = $this->getDBName();
        
//
        
$result["Role"]     = $this->getRole();
        
//
        
return $result;
    }
    
    
    
    
    
    
    
    
    
    
    
/**
     * PostgreSQL requires double quotes for identifier (SQL standard)
     * 
     * Both Oracle and MySQL let you use reserved words as object names by representing the name with a quoted identifier. However, MySQL allows some reserved words such as DATE and TIMESTAMP to be used as unquoted identifier for object names, although this is not allowed in Oracle.
     * SQL Developer appends an underscore (_) to the name of a MySQL object that is an Oracle reserved word.
     * 
     * //MySQL allows to use single and double quotes for data and for identifiers
     * //PostgreSQL requires single quotes for data (SQL standard)
     * 
     * @return string
     */
    
function getIdentifierQuotationCharacter()
    {
        switch (
$this->DB_TYPE)
        {
            case 
self::DB_TYPE_POSTGRESQL:
            {
                
// PostgreSQL requires double quotes for identifier (SQL standard)
                
return '"';
                break;
            }
            
            case 
self::DB_TYPE_MYSQL:
            case 
self::DB_TYPE_ORACLE:
            default:
            {
                
//Both Oracle and MySQL let you use reserved words as object names by representing the name with a quoted identifier. However, MySQL allows some reserved words such as DATE and TIMESTAMP to be used as unquoted identifier for object names, although this is not allowed in Oracle. SQL Developer appends an underscore (_) to the name of a MySQL object that is an Oracle reserved word.
                
return "`";
                break;
            }
        }
    }
    
    
    
    
    
    
    
    function 
real_escape_string($string)
    {
        return 
"'".$string."'";
    }
    
    function 
quote_string($value)
    {
        if(
$value === NULL)
        {
            
$value    =   "NULL";
        }
        else
        {
            
//$value    =   "'".$this->real_escape_string($value)."'";
            
$value    =   "".$this->real_escape_string($value)."";
        }
        
//
        
return $value;
    }
    
    
    
    
    
    
    function 
quoteIdentifier($value)
    {
        
$value    =   "`".$this->real_escape_string($value)."`";
        
        
//
        
return $value;
    }
    
    function 
quoteString($value)
    {
        if(
$value === NULL)
        {
            
$value    =   "NULL";
        }
        if(
$value === false)
        {
            
$value    =   0;
        }
        else
        {
            
$value    =   "'".$this->real_escape_string($value)."'";
        }
        
//
        
return $value;
    }
}

[Debug::Bugtrace] - не определена!

#0  __Shutdown_Decorator->renderErrorReport(Array ([type] => 1,[message] => Uncaught *{DB\Exception}:
[1114][The table 'Statistics_RequestJournal_Records' is full]

BD={MySQL}
SQL=[INSERT INTO 
		`Statistics_RequestJournal_Records` 
 (
		`ID`, 
		`GUID`, 
		`POUUID`, 
		`ClassName`, 
		`ParentGUID`, 
		`OwnerGUID`, 
		`timeCreated`, 
		`timeModified`, 
		`timeAccessed`, 
		`Description`, 
		`Comments`, 
		`CodeID`, 
		`VersionString`, 
		`Name`, 
		`Hash`, 
		`Order`, 
		`Active`, 
		`timeSynchronized`, 
		`Owner_GUID`, 
		`Owner_POUUID`, 
		`Owner_ClassName`, 
		`Owner_Active`, 
		`ParentObject_GUID`, 
		`ParentObject_POUUID`, 
		`ParentObject_ClassName`, 
		`ParentObject_VersionString`, 
		`Tags`, 
		`REQUEST_METHOD`, 
		`UNIQUE_ID`, 
		`RequestTime_Start`, 
		`HTTP_SCHEME`, 
		`HTTP_HOST`, 
		`HTTP_URL`, 
		`QUERY_STRING`, 
		`HTTP_REFERER`, 
		`HTTP_REFERER_HOST`, 
		`Request_Headers_JSON`, 
		`SessionID`, 
		`Client_IP`, 
		`Client_UserAgent`, 
		`Client_IsRobot`, 
		`Client_IsSearchEngineCrawler`, 
		`Client_IsVulnerabilityScanner`, 
		`Client_Robot_Type`, 
		`Client_Robot_Fami,[file] => /home/www-master/www/apps/HostSystem/SharedApps/moonlite13.cmf/core.moonlite13.ru/Modules/DBManagement/classes/class.DB_SQL.php,[line] => 654), html) called at [/home/www-master/www/vhosts/htdocs/preload.moonlite13.ru/.preload/classes/Processor.php:492]
#1  __Shutdown_Processor->_DislpayErrorReport(Array ([type] => 1,[message] => Uncaught *{DB\Exception}:
[1114][The table 'Statistics_RequestJournal_Records' is full]

BD={MySQL}
SQL=[INSERT INTO 
		`Statistics_RequestJournal_Records` 
 (
		`ID`, 
		`GUID`, 
		`POUUID`, 
		`ClassName`, 
		`ParentGUID`, 
		`OwnerGUID`, 
		`timeCreated`, 
		`timeModified`, 
		`timeAccessed`, 
		`Description`, 
		`Comments`, 
		`CodeID`, 
		`VersionString`, 
		`Name`, 
		`Hash`, 
		`Order`, 
		`Active`, 
		`timeSynchronized`, 
		`Owner_GUID`, 
		`Owner_POUUID`, 
		`Owner_ClassName`, 
		`Owner_Active`, 
		`ParentObject_GUID`, 
		`ParentObject_POUUID`, 
		`ParentObject_ClassName`, 
		`ParentObject_VersionString`, 
		`Tags`, 
		`REQUEST_METHOD`, 
		`UNIQUE_ID`, 
		`RequestTime_Start`, 
		`HTTP_SCHEME`, 
		`HTTP_HOST`, 
		`HTTP_URL`, 
		`QUERY_STRING`, 
		`HTTP_REFERER`, 
		`HTTP_REFERER_HOST`, 
		`Request_Headers_JSON`, 
		`SessionID`, 
		`Client_IP`, 
		`Client_UserAgent`, 
		`Client_IsRobot`, 
		`Client_IsSearchEngineCrawler`, 
		`Client_IsVulnerabilityScanner`, 
		`Client_Robot_Type`, 
		`Client_Robot_Fami,[file] => /home/www-master/www/apps/HostSystem/SharedApps/moonlite13.cmf/core.moonlite13.ru/Modules/DBManagement/classes/class.DB_SQL.php,[line] => 654), html, 1) called at [/home/www-master/www/vhosts/htdocs/preload.moonlite13.ru/.preload/classes/Processor.php:274]
#2  __Shutdown_Processor->shutdown(int)

Информация о данных текущего запроса


SERVER

Array
(
    [UNIQUE_ID] => ZuyatorJsaoAAECIZ54AAAAU
    [CMF_ML13_MAIN_URL] => http://www.vtatu.ru/
    [ml13_PathTo_HostSystem] => /home/www-master/www/apps/HostSystem
    [ml13_PathTo_SharedApps] => /home/www-master/www/apps/HostSystem/SharedApps/moonlite13.cmf/core.moonlite13.ru
    [ml13_SystemFilesLocationPath] => /home/www-master/www/apps/HostSystem/SharedApps/moonlite13.cmf/core.moonlite13.ru
    [CMF_ML13_SharedCoreMode] => 1
    [HTTPS] => on
    [SSL_TLS_SNI] => vtatu.com
    [SSL_SERVER_S_DN_CN] => vtatu.ru
    [SSL_SERVER_I_DN_C] => US
    [SSL_SERVER_I_DN_O] => Let's Encrypt
    [SSL_SERVER_I_DN_CN] => R10
    [SSL_VERSION_INTERFACE] => mod_ssl/2.4.10
    [SSL_VERSION_LIBRARY] => OpenSSL/1.0.1t
    [SSL_PROTOCOL] => TLSv1.2
    [SSL_SECURE_RENEG] => true
    [SSL_COMPRESS_METHOD] => NULL
    [SSL_CIPHER] => ECDHE-RSA-AES256-GCM-SHA384
    [SSL_CIPHER_EXPORT] => false
    [SSL_CIPHER_USEKEYSIZE] => 256
    [SSL_CIPHER_ALGKEYSIZE] => 256
    [SSL_CLIENT_VERIFY] => NONE
    [SSL_SERVER_M_VERSION] => 3
    [SSL_SERVER_M_SERIAL] => 0428BDF4C0AAE673CCD1852158AA70E0EDED
    [SSL_SERVER_V_START] => Jun 28 20:20:14 2024 GMT
    [SSL_SERVER_V_END] => Sep 26 20:20:13 2024 GMT
    [SSL_SERVER_S_DN] => CN=vtatu.ru
    [SSL_SERVER_I_DN] => CN=R10,O=Let's Encrypt,C=US
    [SSL_SERVER_A_KEY] => rsaEncryption
    [SSL_SERVER_A_SIG] => sha256WithRSAEncryption
    [SSL_SESSION_RESUMED] => Initial
    [HTTP_ACCEPT] => */*
    [HTTP_USER_AGENT] => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
    [HTTP_ACCEPT_ENCODING] => gzip, br, zstd, deflate
    [HTTP_HOST] => vtatu.com
    [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    [SERVER_SIGNATURE] => 
Apache/2.4.10 (Debian) Server at vtatu.com Port 443
[SERVER_SOFTWARE] => Apache/2.4.10 (Debian) [SERVER_NAME] => vtatu.com [SERVER_ADDR] => 95.217.151.145 [SERVER_PORT] => 443 [REMOTE_ADDR] => 18.191.176.224 [DOCUMENT_ROOT] => /home/www-master/www/vhosts/htdocs/www.vtatu.ru [REQUEST_SCHEME] => https [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => /home/www-master/www/vhosts/htdocs/www.vtatu.ru [SERVER_ADMIN] => [no address given] [SCRIPT_FILENAME] => /home/www-master/www/vhosts/htdocs/www.vtatu.ru/video/index.php [REMOTE_PORT] => 44993 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => UUID=0c34cb5b-6e6f-b281-2b85-680949ae4894 [REQUEST_URI] => /video/?UUID=0c34cb5b-6e6f-b281-2b85-680949ae4894 [SCRIPT_NAME] => /video/index.php [PHP_SELF] => /video/index.php [REQUEST_TIME_FLOAT] => 1726782134.182 [REQUEST_TIME] => 1726782134 )

GET

Array
(
    [UUID] => 0c34cb5b-6e6f-b281-2b85-680949ae4894
)

POST

Array
(
)

FILES

Array
(
)

SESSION

Array
(
)

COOKIE

Array
(
)
[]