diff -upr project_issue_file_review/pifr.review.inc drupal-slaves/sites/all/modules/project_issue_file_review/pifr.review.inc --- project_issue_file_review/pifr.review.inc 2008-12-12 17:14:45.000000000 +1300 +++ drupal-slaves/sites/all/modules/project_issue_file_review/pifr.review.inc 2008-12-19 17:00:54.000000000 +1300 @@ -220,12 +220,20 @@ function pifr_review_install() { $db = substr(urldecode($url['path']), 1) . '_checkout'; $user = urldecode($url['user']); $pass = urldecode($url['pass']); - - // Clear database of previous instance and any left of testing tables. - exec('mysql -u' . $user . ' -p' . $pass . ' ' . $db . ' -e "SHOW TABLES"' . - ' | grep -v Tables_in | grep -v "+"' . - ' | \gawk \'{print "DROP TABLE " $1 ";"}\'' . - ' | mysql -u' . $user . ' -p' . $pass . ' ' . $db, $output, $status); + switch ($url['scheme']) { + case 'mysql': + // Clear database of previous instance and any left of testing tables. + exec('mysql -u' . $user . ' -p' . $pass . ' ' . $db . ' -e "SHOW TABLES"' . + ' | grep -v Tables_in | grep -v "+"' . + ' | \gawk \'{print "DROP TABLE " $1 ";"}\'' . + ' | mysql -u' . $user . ' -p' . $pass . ' ' . $db, $output, $status); + break; + case 'pgsql': + $pass = !empty($pass) ? " -W $pass " : ""; + exec('psql -t -A -F\' \' -c \'\dt\' -h ' . $url['host'] . ' -U ' . $user . ' ' . $db . + '| awk \'{ print "DROP " $3 " " $2 ";" }\' | psql -h ' . $url['host'] . ' -U ' . $user . ' ' . $db, $output, $status); + break; + } if ($status != 0) { watchdog('pifr', 'Failed to clear test database.', array(), WATCHDOG_ERROR); } @@ -252,7 +260,9 @@ function pifr_review_install() { $edit['database'] = $db; $edit['username'] = $user; $edit['password'] = $pass; + $edit['host'] = urlencode($url['host']); $edit['db_prefix'] = ''; + #$edit['driver'] = $url['scheme']; $d->drupalPost(NULL, $edit, t('Save and continue')); // Step: Site configuration. diff -upr project_issue_file_review/pifr.slave.inc drupal-slaves/sites/all/modules/project_issue_file_review/pifr.slave.inc --- project_issue_file_review/pifr.slave.inc 2008-12-12 17:14:45.000000000 +1300 +++ drupal-slaves/sites/all/modules/project_issue_file_review/pifr.slave.inc 2008-12-18 16:03:57.000000000 +1300 @@ -10,6 +10,8 @@ // This needs to be the same as the DRUPAL_MINIMUM_MYSQL in Drupal HEAD. define('PIFR_MINIMUM_MYSQL', '5.0'); +define('PIFR_MINIMUM_PGSQL', '8.3'); + /** * Test the server configuration and display the results. * @@ -165,14 +167,14 @@ function pifr_slave_check_configuration( $rows[] = array(l('mbstring', 'http://www.php.net/manual/en/book.mbstring.php', array('absolute' => TRUE)), $min_version, $found_version, $result ? t('Passed') : t('Failed')); // Check for correct MySQL version. - $min_version = PIFR_MINIMUM_MYSQL; + $min_version = PIFR_MINIMUM_PGSQL; $found_version = 0; $result = FALSE; $found_version = db_version(); if ($min_version <= $found_version) { $result = TRUE; } - $rows[] = array(l('mysql', 'http://www.php.net/manual/en/book.mysql.php', array('absolute' => TRUE)), $min_version, $found_version, $result ? t('Passed') : t('Failed')); + $rows[] = array(l('pgsql', 'http://www.php.net/manual/en/book.pgsql.php', array('absolute' => TRUE)), $min_version, $found_version, $result ? t('Passed') : t('Failed')); // Check for PDO. $min_version = 1; diff -upr project_issue_file_review/pifr.file.inc drupal-master/sites/all/modules/project_issue_file_review/pifr.file.inc --- project_issue_file_review/pifr.file.inc 2008-12-04 17:30:10.000000000 +1300 +++ drupal-master/sites/all/modules/project_issue_file_review/pifr.file.inc 2008-12-19 16:45:13.000000000 +1300 @@ -125,9 +125,9 @@ function pifr_file_get_all_sent($slave_i */ function pifr_file_set_queued($file_id) { db_query("UPDATE {pifr_file} - SET slave_id = NULL, + SET slave_id = 0, status = %d, - sent = NULL + sent = 0 WHERE file_id = %d", PIFR_FILE_QUEUED, $file_id); pifr_log_event($file_id, t('Re-test request received from the project server.')); }