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