* A class that implements the DB interface for Postgres
* Note: This class uses ADODB and returns RecordSets.
*
- * $Id: Postgres72.php,v 1.19 2002/12/21 11:16:46 chriskl Exp $
+ * $Id: Postgres72.php,v 1.20 2002/12/22 15:01:29 chriskl Exp $
*/
// This gets it from the database.
// $rs = pg_exec($link, "SELECT oid FROM pg_database WHERE datname='template1'") or pg_die(pg_errormessage(), "", __FILE__, __LINE__);
// $builtin_max = pg_result($rs, 0, "oid");
+
+ function Postgres72($host, $port, $database, $user, $password) {
+ $this->Postgres71($host, $port, $database, $user, $password);
+ }
// Table functions
--- /dev/null
+<?php
+
+/**
+ * Overrides default ADODB error handler to provide nicer error handling.
+ *
+ * $Id: errorhandler.inc.php,v 1.1 2002/12/22 15:01:32 chriskl Exp $
+ */
+
+define('ADODB_ERROR_HANDLER','Error_Handler');
+
+/**
+ * Default Error Handler. This will be called with the following params
+ *
+ * @param $dbms the RDBMS you are connecting to
+ * @param $fn the name of the calling function (in uppercase)
+ * @param $errno the native error number from the database
+ * @param $errmsg the native error msg from the database
+ * @param $p1 $fn specific parameter - see below
+ * @param $P2 $fn specific parameter - see below
+ */
+function Error_Handler($dbms, $fn, $errno, $errmsg, $p1=false, $p2=false)
+{
+ global $strSQLError, $strInStatement;
+
+ switch($fn) {
+ case 'EXECUTE':
+ $sql = $p1;
+ $inputparams = $p2;
+
+ $s = "<p><b>{$strSQLError}</b><br>" . htmlspecialchars($errmsg) . "</p>
+ <p><b>{$strInStatement}</b><br>" . htmlspecialchars($sql) . "</p>
+ ";
+ echo "<table class=\"error\" cellpadding=\"5\"><tr><td>{$s}</td></tr></table>\n";
+
+ break;
+
+ case 'PCONNECT':
+ case 'CONNECT':
+ $host = $p1;
+ $database = $p2;
+
+ $s = "$dbms error: [$errno: $errmsg] in $fn($host, ?, ?, $database)\n";
+ /*
+ echo $s;
+ include('../conf/config.inc.php');
+ include($appBase . '/login.php');
+ // Theme
+ echo "<style type=\"text/css\">\n<!--\n";
+ include("../themes/{$guiTheme}/global.css");
+ echo "\n-->\n</style>\n";
+ exit;
+ */
+ break;
+ default:
+ $s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)\n";
+ echo "<table class=\"error\" cellpadding=\"5\"><tr><td>{$s}</td></tr></table>\n";
+ break;
+ }
+ /*
+ * Log connection error somewhere
+ * 0 message is sent to PHP's system logger, using the Operating System's system
+ * logging mechanism or a file, depending on what the error_log configuration
+ * directive is set to.
+ * 1 message is sent by email to the address in the destination parameter.
+ * This is the only message type where the fourth parameter, extra_headers is used.
+ * This message type uses the same internal function as mail() does.
+ * 2 message is sent through the PHP debugging connection.
+ * This option is only available if remote debugging has been enabled.
+ * In this case, the destination parameter specifies the host name or IP address
+ * and optionally, port number, of the socket receiving the debug information.
+ * 3 message is appended to the file destination
+ */
+ if (defined('ADODB_ERROR_LOG_TYPE')) {
+ $t = date('Y-m-d H:i:s');
+ if (defined('ADODB_ERROR_LOG_DEST'))
+ error_log("($t) $s", ADODB_ERROR_LOG_TYPE, ADODB_ERROR_LOG_DEST);
+ else
+ error_log("($t) $s", ADODB_ERROR_LOG_TYPE);
+ }
+}
+?>