diff --git a/lib/modules/Sql.pmod/sql.pike b/lib/modules/Sql.pmod/sql.pike index fec94af3589017be6b8eaf2eb22fa53228d3a87b..b65f0e1822ad5a457c2d4f660d9cd3f5e0408d85 100644 --- a/lib/modules/Sql.pmod/sql.pike +++ b/lib/modules/Sql.pmod/sql.pike @@ -1,5 +1,5 @@ /* - * $Id: sql.pike,v 1.6 1997/04/23 00:30:26 grubba Exp $ + * $Id: sql.pike,v 1.7 1997/06/08 18:44:56 grubba Exp $ * * Implements the generic parts of the SQL-interface * @@ -8,7 +8,7 @@ //. //. File: sql.pike -//. RCSID: $Id: sql.pike,v 1.6 1997/04/23 00:30:26 grubba Exp $ +//. RCSID: $Id: sql.pike,v 1.7 1997/06/08 18:44:56 grubba Exp $ //. Author: Henrik Grubbström (grubba@infovav.se) //. //. Synopsis: Implements the generic parts of the SQL-interface. @@ -32,7 +32,7 @@ object master_sql; //. > host //. object - Use this object to access the SQL-database. //. string - Use any available database server on this host. -//. If "" or 0, access through UNIX-domain socket. +//. If "" or 0, access through UNIX-domain socket or similar. //. > database //. Select this database. //. > user @@ -63,19 +63,38 @@ void create(void|string|object host, void|string db, err = catch { program p = Sql[program_name]; - if (password && password != "") { - master_sql = p(host||"", db||"", user||"", password); - } else if (user && user != "") { - master_sql = p(host||"", db||"", user); - } else if (db && db != "") { - master_sql = p(host||"", db); - } else if (host && host != "") { - master_sql = p(host); + if (p) { + array err2 = catch { + if (password && password != "") { + master_sql = p(host||"", db||"", user||"", password); + } else if (user && user != "") { + master_sql = p(host||"", db||"", user); + } else if (db && db != "") { + master_sql = p(host||"", db); + } else if (host && host != "") { + master_sql = p(host); + } else { + master_sql = p(); + } + return; + }; +#ifdef PIKE_SQL_DEBUG + if (err2) { + Stdio.stderr->write(sprintf("Sql.sql(): Failed to connect using module Sql.%s\n", + program_name)); + } } else { - master_sql = p(); + Stdio.stderr->write(sprintf("Sql.sql(): Failed to index module Sql.%s\n", + program_name)); +#endif /* PIKE_SQL_DEBUG */ } - return; }; +#ifdef PIKE_SQL_DEBUG + if (err) { + Stdio.stderr->write(sprintf("Sql.sql(): Failed to compile module Sql.%s\n", + program_name)); + } +#endif /* PIKE_SQL_DEBUG */ } } }