* @param object $db an AdoDB database connection.
* @param int $strlen the width to use for string fields.
*/
-function load_test_table($tablename, $data, $db, $strlen = 255) {
+function load_test_table($tablename, $data, $db = null, $strlen = 255) {
$colnames = array_shift($data);
$coldefs = array();
foreach (array_combine($colnames, $data[0]) as $colname => $value) {
*
* @param string $tablename the name of the table to populate. E.g. 'mdl_unittest_user'.
* @param array $data a two-dimensional array of data, in the format described.
- * @param object $db an AdoDB database connection.
+ * @param object $localdb an AdoDB database connection.
*/
-function load_test_data($tablename, $data, $db) {
+function load_test_data($tablename, $data, $localdb = null) {
global $CFG;
+
+ if (null == $localdb) {
+ global $db;
+ $localdb = $db;
+ }
$colnames = array_shift($data);
$idcol = array_search('id', $colnames);
$maxid = -1;
foreach ($data as $row) {
- _private_execute_sql($db->GetInsertSQL($tablename, array_combine($colnames, $row)), $db);
+ _private_execute_sql($localdb->GetInsertSQL($tablename, array_combine($colnames, $row)), $localdb);
if ($idcol !== false && $row[$idcol] > $maxid) {
$maxid = $row[$idcol];
}
}
if ($CFG->dbtype == 'postgres7' && $idcol !== false) {
$maxid += 1;
- _private_execute_sql("ALTER SEQUENCE {$tablename}_id_seq RESTART WITH $maxid;", $db);
+ _private_execute_sql("ALTER SEQUENCE {$tablename}_id_seq RESTART WITH $maxid;", $localdb);
}
}
* @param object $db an AdoDB database connection.
*/
function wipe_sequences($prefix, $db) {
+ global $CFG;
+
if ($CFG->dbtype == 'postgres7') {
$sequences = $db->GetCol("SELECT relname FROM pg_class WHERE relname LIKE '$prefix%_id_seq' AND relkind = 'S';");
if ($sequences) {
return in_array('id', $db->MetaColumnNames($table));
}
-function _private_execute_sql($sql, $db) {
- if (!$rs = $db->Execute($sql)) {
- echo '<p>SQL ERROR: ', $db->ErrorMsg(), ". STATEMENT: $sql</p>";
+function _private_execute_sql($sql, $localdb = null) {
+
+ if (null == $localdb) {
+ global $db;
+ $localdb = $db;
+ }
+ if (!$rs = $localdb->Execute($sql)) {
+ echo '<p>SQL ERROR: ', $localdb->ErrorMsg(), ". STATEMENT: $sql</p>";
}
return $rs;
}