From 6375f2e90c9de0fa1e94ea1429e5b53fadadf375 Mon Sep 17 00:00:00 2001 From: Francesco Chemolli <li@kinkie.it> Date: Sun, 26 Mar 2000 22:49:06 +0200 Subject: [PATCH] Initial public release Rev: lib/modules/Sql.pmod/sybase.pike:1.1 --- .gitattributes | 1 + lib/modules/Sql.pmod/sybase.pike | 102 +++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 lib/modules/Sql.pmod/sybase.pike diff --git a/.gitattributes b/.gitattributes index fe05754110..ee54f935b8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -102,6 +102,7 @@ testfont binary /lib/modules/Sql.pmod/sql.pike foreign_ident /lib/modules/Sql.pmod/sql_result.pike foreign_ident /lib/modules/Sql.pmod/sql_util.pmod foreign_ident +/lib/modules/Sql.pmod/sybase.pike foreign_ident /lib/modules/Stdio.pmod foreign_ident /lib/modules/Stdio.pmod/Readline.pike foreign_ident /lib/modules/Stdio.pmod/Terminfo.pmod foreign_ident diff --git a/lib/modules/Sql.pmod/sybase.pike b/lib/modules/Sql.pmod/sybase.pike new file mode 100644 index 0000000000..10f3403368 --- /dev/null +++ b/lib/modules/Sql.pmod/sybase.pike @@ -0,0 +1,102 @@ +/* + * Sybase driver for the Pike programming language. + * By Francesco Chemolli <kinkie@roxen.com> 10/12/1999 + * (C) Roxen IS + * + * $Id: sybase.pike,v 1.1 2000/03/26 20:49:06 kinkie Exp $ + * + */ + +#if constant(sybase.sybase) + +inherit sybase.sybase:mo; +#define THROW(X) throw(({X+"\n",backtrace()})) + + +/* + * Deprecated. Use connect(host,db,user,pass) instead. + */ +void select_db(string db) +{ + mo::big_query("use "+db); +} + +/* + * Deprecated. Use an SQL command instead. + */ +void create_db (string dbname) { + mo::big_query("create database "+dbname); +} + +/* + * Deprecated. Use an SQL command instead. + */ +void drop_db (string dbname) { + mo::big_query("drop database "+dbname); +} + +void shutdown() { + catch { //there _will_ be an error. It's just that we don't care about it. + mo::big_query("shutdown"); + }; +} + +string server_info () { + return "sybase/10.X or 11.X"; +} + +/* + * Unimplemented. Anyone knows Transact-SQL well enough? + * maybe we could use the connection properties otherwise (CS_HOSTNAME) + */ +string host_info() { + return "unknown"; +} + +/* + * Unimplemented. Anyone knows Transact-SQL well enough? + */ +array(string) list_dbs(string|void wild) { + THROW("Unsupported"); +} + +/* + * Unimplemented. PLEASE tell me somebody knows how to do this. + * There MUST be some system stored procedure... + */ +array(string) list_tables(string|void wild) { + THROW("Unsupported"); +} + +/* + * Unimplemented. + */ +array(string) list_fields(string|void wild) { + THROW("Unsupported"); +} + +int num_rows() { + THROW("Unsupported by the DB server"); +} + +void seek(int skipthismany) { + if (skipthismany<0) + THROW("Negative skips are not supported"); + if (!skipthismany) + return; + while (skipthismany && fetch_row()){ + skipthismany--; + } +} + +void create(void|string host, void|string db, void|string user, + void|string pass) { + mo::create(host||"",db||"",user||"",pass||""); + if (db && stringp(db) && sizeof(db)) { + mo::big_query("use "+db); + } +} + +#else +#error "Sybase driver not available.\n" +#endif -- GitLab