6375f2 | 2000-03-26 | Francesco Chemolli | | |
a580e1 | 2000-09-27 | Fredrik Hübinette (Hubbe) | | * $Id: sybase.pike,v 1.5 2000/09/28 03:39:10 hubbe Exp $
|
6375f2 | 2000-03-26 | Francesco Chemolli | | *
*/
|
a580e1 | 2000-09-27 | Fredrik Hübinette (Hubbe) | | #pike __REAL_VERSION__
|
a20af6 | 2000-09-26 | Fredrik Hübinette (Hubbe) | |
|
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);
}
}
|
6458a7 | 2000-04-29 | Francesco Chemolli | | int|object big_query(string q, mapping(string|int:mixed)|void bindings) {
if (!bindings)
return ::big_query(q);
|
4903d5 | 2000-04-29 | Francesco Chemolli | | return ::big_query(.sql_util.emulate_bindings(q,bindings,this_object()));
|
6458a7 | 2000-04-29 | Francesco Chemolli | | }
|
6375f2 | 2000-03-26 | Francesco Chemolli | | #else
#error "Sybase driver not available.\n"
#endif
|