summaryrefslogtreecommitdiffstats
path: root/server/.svn/text-base/mysqldb.c.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'server/.svn/text-base/mysqldb.c.svn-base')
-rw-r--r--server/.svn/text-base/mysqldb.c.svn-base163
1 files changed, 0 insertions, 163 deletions
diff --git a/server/.svn/text-base/mysqldb.c.svn-base b/server/.svn/text-base/mysqldb.c.svn-base
deleted file mode 100644
index 517c15b..0000000
--- a/server/.svn/text-base/mysqldb.c.svn-base
+++ /dev/null
@@ -1,163 +0,0 @@
-#include "conf.h"
-#include "array.h"
-#include "config.h"
-#include "nastdio.h"
-#include "log.h"
-#include "mysqldb.h"
-#include "thread.h"
-
-#include <errno.h>
-#include <errmsg.h>
-#include <mysql.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-RCSID("$Id: mysqldb.c,v 1.30 2001/10/10 20:29:47 shmit Exp $");
-
-extern fieldent *db_fields;
-extern char db_key[1024];
-extern char db_dbn[1024];
-extern char db_tbl[1024];
-extern short db_fieldcount;
-
-static char cols[512];
-
-static int sec_c;
-static float onemin_c, fivemin_c, fifteenmin_c;
-
-int
-mysqldb_new()
-{
- int i;
-
- sec_c = 0;
- onemin_c = fivemin_c = fifteenmin_c = 0;
-
- cols[0] = '\0';
- for (i = 0; i < db_fieldcount; i++) {
- strncat(cols, db_fields[i].name, sizeof(cols));
- if (i < db_fieldcount-1)
- strncat(cols, ",", sizeof(cols));
- }
-
- return 0;
-}
-
-void *
-mysqldb_connect_new()
-{
- MYSQL *dbh;
-
- log_info("Initialising MySQL database.");
-
- dbh = mysql_init(NULL);
- if (dbh == NULL) {
- log_err("Couldn't allocate mysql handle: %s.",
- strerror(errno));
- return NULL;
- }
-
- if (!mysql_connect(dbh, config.mysql_host,
- config.mysql_user, config.mysql_pass)) {
- log_err("Couldn't open connection to database: %s.",
- mysql_error(dbh));
- mysqldb_connect_close(dbh);
- return NULL;
- }
-
- if (mysql_select_db(dbh, db_dbn)) {
- log_err("Couldn't open database: %s.",
- mysql_error(dbh));
- mysqldb_connect_close(dbh);
- return NULL;
- }
-
- log_info("MySQL database interface initialised.");
- return (void *)dbh;
-}
-
-void
-mysqldb_connect_close(void *dbh)
-{
- if (dbh != NULL) {
- log_info("MySQL connection shutting down.");
- mysql_close(dbh);
- free(dbh);
- }
-}
-
-int
-mysqldb_get(reqthread_t *self, const char *key, int keylen, array_t *aa)
-{
- MYSQL *dbh;
- MYSQL_RES *result;
- char buffer[1024];
- MYSQL_ROW row;
- int i, rc;
-
- snprintf(buffer, sizeof(buffer), DBSELECT, cols, db_tbl, db_key, key);
-
- if (self->arg == NULL) {
- self->arg = mysqldb_connect_new();
- if (self->arg == NULL)
- return -1;
- }
- dbh = (MYSQL *)self->arg;
-
- rc = mysql_query(dbh, buffer);
- if (rc) {
- log_err("Error performing query: %s.", mysql_error(dbh));
- mysqldb_connect_close(dbh);
- self->arg = NULL;
- return -1;
- }
-
- result = mysql_use_result(dbh);
- row = mysql_fetch_row(result);
- if (row == NULL) {
- log_info("Couldn't find %s in MySQL database.",
- key);
- mysql_free_result(result);
- sec_c++;
- return 1;
- }
-
- if (mysql_num_fields(result) < db_fieldcount) {
- log_err("MySQL server didn't return all fields.");
- mysql_free_result(result);
- return 0;
- }
-
- for (i = 0; i < db_fieldcount; i++) {
- if (array_add(aa, strlen(row[i]), row[i], ARRTERM) == -1) {
- mysql_free_result(result);
- return -1;
- }
- }
- while (mysql_fetch_row(result));
- mysql_free_result(result);
-
- sec_c++;
-
- return 0;
-}
-
-int
-mysqldb_stats(array_t *statarr)
-{
- char buffer[512];
-
- snprintf(buffer, sizeof(buffer), "MySQL: %.2f, %.2f, %.2f",
- onemin_c, fivemin_c, fifteenmin_c);
- return array_add(statarr, strlen(buffer), buffer, ARRTERM);
-}
-
-void
-mysqldb_collate()
-{
- onemin_c = ((onemin_c * 59) + sec_c) / 60;
- fivemin_c = ((fivemin_c * 299) + sec_c) / 300;
- fifteenmin_c = ((fifteenmin_c * 899) + sec_c) / 900;
- sec_c = 0;
-}