function do_pg_connect() { global $mtt_database_name; global $mtt_database_username; global $mtt_database_password; global $pgsql_conn; static $connected = false; if (!$connected) { $pgsql_conn = pg_connect("host=localhost port=5432 dbname={$mtt_database_name} user={$mtt_database_username} password={$mtt_database_password}"); # Exit if we cannot connect if (!$pgsql_conn) { mtt_abort("\nCould not connect to the {$dbname} database; " . "submit this run later."); } else { $connected = true; } } }
function get_serial() { $error_function = "get_serial()"; # Works in psql cli, *BROKEN* in php # $cmd = "\n SELECT relname FROM pg_class WHERE " . # "\n\t relkind = 'S' AND " . # "\n\t relnamespace IN ( " . # "\n\t SELECT oid FROM pg_namespace WHERE " . # "\n\t nspname NOT LIKE 'pg_%' AND " . # "\n\t nspname != 'information_schema') " . # "\n\t AND relname NOT LIKE '%id_seq';"; # # $serial_name = select_scalar($cmd); $serial_name = 'client_serial'; $serial = fetch_single_nextval($serial_name); if (NULL == $serial) { $error_output = "CRITICAL ERROR: Cannot continue\n" . "-------------------------------\n" . "Failed to find a ({$serial_name}) value!\n" . "-------------------------------\n"; mtt_send_mail($error_output, $error_function); mtt_abort(400, $error_output); exit(1); } return $serial; }