6375f2 | 2000-03-26 | Francesco Chemolli | |
#if constant(sybase.sybase)
inherit sybase.sybase:mo;
#define THROW(X) throw(({X+"\n",backtrace()}))
void select_db(string db)
{
mo::big_query("use "+db);
}
void create_db (string dbname) {
mo::big_query("create database "+dbname);
}
void drop_db (string dbname) {
mo::big_query("drop database "+dbname);
}
void shutdown() {
catch {
mo::big_query("shutdown");
};
}
string server_info () {
return "sybase/10.X or 11.X";
}
string host_info() {
return "unknown";
}
array(string) list_dbs(string|void wild) {
THROW("Unsupported");
}
array(string) list_tables(string|void wild) {
THROW("Unsupported");
}
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
|