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"; } } } } }
// 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();