예제 #1
0
 /**
  *
  * @return type 
  */
 public static function newInstance()
 {
     if (!self::$instance instanceof self) {
         self::$instance = new self();
     }
     return self::$instance;
 }
예제 #2
0
 function query_debug($sql)
 {
     if ($sql == '') {
         return false;
     }
     $sql = 'EXPLAIN ' . $sql;
     $rsID = $this->_execute($sql);
     if (false === $rsID) {
         return false;
     }
     $rs = new DBRecordsetClass();
     $rs->connId = $this->connId;
     $rs->resultId = $rsID;
     $rs->numRows = $rs->numRows();
     if ($rs->numRows() == 0) {
         return false;
     }
     $this->log->addExplainMessage($sql, $rs->result());
     return true;
 }
예제 #3
0
 function destroy()
 {
     // Destructor
     LogDatabase::destroy();
 }
예제 #4
0
 /**
  * At the end of the execution it prints the database debug if it's necessary
  * 
  * @since 2.3
  * @access private
  */
 function debug()
 {
     $log = LogDatabase::newInstance();
     if (OSC_DEBUG_DB_EXPLAIN) {
         $log->writeExplainMessages();
     }
     if (!OSC_DEBUG_DB) {
         return false;
     }
     if (defined('IS_AJAX') && !OSC_DEBUG_DB_LOG) {
         return false;
     }
     if (OSC_DEBUG_DB_LOG) {
         $log->writeMessages();
     } else {
         $log->printMessages();
     }
     unset($log);
     return true;
 }