Пример #1
0
 private function _setupDatabase($importFile = null, $echoDropCreate = false, $echoImport = false, $dbInserts = false)
 {
     $drop = $this->_generateDrop();
     $create = $this->_generateCreate();
     if (sizeof($drop) != sizeof($create)) {
         throw new Exception("Size of Created Drop and Create Command lists isnt equal (" . sizeof($drop) . "," . sizeof($create) . "), Note from Peter Beardsley: This is a bad thing you should investigate.");
     }
     if ($echoDropCreate) {
         echo "-- Setting Up Database\n";
     }
     Dao::connect();
     for ($i = 0; $i < sizeof($drop); $i++) {
         if ($echoDropCreate) {
             echo $drop[$i];
         }
         if ($dbInserts) {
             Dao::execSql($drop[$i]);
         }
         if ($echoDropCreate) {
             echo $create[$i];
         }
         if ($dbInserts) {
             Dao::execSql($create[$i]);
         }
     }
     if ($importFile != null) {
         if ($echoImport) {
             echo "\n\nImporting Data ({$importFile})\n";
         }
         try {
             $data = explode("\n", file_get_contents($importFile));
         } catch (Exception $e) {
             echo "File \"{$importFile}\" Failed to open.\n";
             return;
         }
         foreach ($data as $row) {
             $sql = trim($row);
             if (strlen($sql) > 0) {
                 $dont = false;
                 try {
                     if ($dbInserts) {
                         Dao::execSql($sql);
                     }
                 } catch (Exception $e) {
                     echo $sql . "\n";
                     echo $e->getMessage() . "\n";
                     $dont = true;
                 }
                 if ($echoImport && !$dont) {
                     echo $sql . "\n";
                 }
             }
         }
     }
 }
Пример #2
0
// db select is contained with bmark_connect
if (strlen($db_type) <= 0) {
    $db_type = 'drizzle';
}
// phpinfo(); die();
// use software partition
$timer = new Benchmark_Timer();
$timer->start();
$login = '******';
$dao = new Dao($db_type, 'db.yaml');
$dao->connect();
$dao->find('users', 'login', $login, '=');
$dao->close();
$timer->setMarker('Test_Code_Partition');
echo "Elapsed time between Start and Test_Code_Partition: " . $timer->timeElapsed('Start', 'Test_Code_Partition') . "\n";
// use backend partition
$dao2 = new Dao($db_type, 'db.yaml');
$dao2->connect();
$dao2->find('users', 'login', $login, '=', 'mysql');
$dao2->close();
$timer->setMarker('DB_Partition');
echo "Elapsed time between Test_Code_Partition and DB_Partition: " . $timer->timeElapsed('Test_Code_Partition', 'DB_Partition') . "\n";
// use no partition
$dao3 = new Dao($db_type, 'db.yaml');
$dao3->connect();
$dao3->find('users', 'login', $login, '=', 'nopart');
$dao3->close();
$timer->setMarker('No_Partition');
echo "Elapsed time between DB_Partition and No_Partition: " . $timer->timeElapsed('DB_Partition', 'No_Partition') . "\n";
$timer->stop();
$timer->display();