diff options
Diffstat (limited to 'mod_log_sql_mysql.c')
| -rw-r--r-- | mod_log_sql_mysql.c | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/mod_log_sql_mysql.c b/mod_log_sql_mysql.c index a3f8bbc..5a654f3 100644 --- a/mod_log_sql_mysql.c +++ b/mod_log_sql_mysql.c | |||
| @@ -29,13 +29,13 @@ | |||
| 29 | #define MYSQL_ERROR(mysql) ((mysql)?(mysql_error(mysql)):"MySQL server has gone away") | 29 | #define MYSQL_ERROR(mysql) ((mysql)?(mysql_error(mysql)):"MySQL server has gone away") |
| 30 | 30 | ||
| 31 | /* Connect to the MYSQL database */ | 31 | /* Connect to the MYSQL database */ |
| 32 | logsql_opendb_ret log_sql_mysql_connect(server_rec *s, logsql_dbconnection *db) | 32 | static logsql_opendb_ret log_sql_mysql_connect(server_rec *s, logsql_dbconnection *db) |
| 33 | { | 33 | { |
| 34 | const char *host = apr_table_get(db->parms,"host"); | 34 | const char *host = apr_table_get(db->parms,"hostname"); |
| 35 | const char *user = apr_table_get(db->parms,"user"); | 35 | const char *user = apr_table_get(db->parms,"username"); |
| 36 | const char *passwd = apr_table_get(db->parms,"passwd"); | 36 | const char *passwd = apr_table_get(db->parms,"password"); |
| 37 | const char *database = apr_table_get(db->parms,"database"); | 37 | const char *database = apr_table_get(db->parms,"database"); |
| 38 | const char *s_tcpport = apr_table_get(db->parms,"tcpport"); | 38 | const char *s_tcpport = apr_table_get(db->parms,"port"); |
| 39 | unsigned int tcpport = (s_tcpport)?atoi(s_tcpport):3306; | 39 | unsigned int tcpport = (s_tcpport)?atoi(s_tcpport):3306; |
| 40 | const char *socketfile = apr_table_get(db->parms,"socketfile"); | 40 | const char *socketfile = apr_table_get(db->parms,"socketfile"); |
| 41 | MYSQL *dblink = db->handle; | 41 | MYSQL *dblink = db->handle; |
| @@ -63,7 +63,7 @@ logsql_opendb_ret log_sql_mysql_connect(server_rec *s, logsql_dbconnection *db) | |||
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | /* Close the DB link */ | 65 | /* Close the DB link */ |
| 66 | void log_sql_mysql_close(logsql_dbconnection *db) | 66 | static void log_sql_mysql_close(logsql_dbconnection *db) |
| 67 | { | 67 | { |
| 68 | mysql_close((MYSQL *)db->handle); | 68 | mysql_close((MYSQL *)db->handle); |
| 69 | } | 69 | } |
| @@ -71,7 +71,7 @@ void log_sql_mysql_close(logsql_dbconnection *db) | |||
| 71 | /* Routine to escape the 'dangerous' characters that would otherwise | 71 | /* Routine to escape the 'dangerous' characters that would otherwise |
| 72 | * corrupt the INSERT string: ', \, and " | 72 | * corrupt the INSERT string: ', \, and " |
| 73 | */ | 73 | */ |
| 74 | const char *log_sql_mysql_escape(const char *from_str, apr_pool_t *p, | 74 | static const char *log_sql_mysql_escape(const char *from_str, apr_pool_t *p, |
| 75 | logsql_dbconnection *db) | 75 | logsql_dbconnection *db) |
| 76 | { | 76 | { |
| 77 | if (!from_str) | 77 | if (!from_str) |
| @@ -110,7 +110,7 @@ const char *log_sql_mysql_escape(const char *from_str, apr_pool_t *p, | |||
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | /* Run a mysql insert query and return a categorized error or success */ | 112 | /* Run a mysql insert query and return a categorized error or success */ |
| 113 | logsql_query_ret log_sql_mysql_query(request_rec *r,logsql_dbconnection *db, | 113 | static logsql_query_ret log_sql_mysql_query(request_rec *r,logsql_dbconnection *db, |
| 114 | const char *query) | 114 | const char *query) |
| 115 | { | 115 | { |
| 116 | int retval; | 116 | int retval; |
| @@ -147,7 +147,7 @@ logsql_query_ret log_sql_mysql_query(request_rec *r,logsql_dbconnection *db, | |||
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | /* Create table table_name of type table_type. */ | 149 | /* Create table table_name of type table_type. */ |
| 150 | logsql_table_ret log_sql_mysql_create(request_rec *r, logsql_dbconnection *db, | 150 | static logsql_table_ret log_sql_mysql_create(request_rec *r, logsql_dbconnection *db, |
| 151 | logsql_tabletype table_type, const char *table_name) | 151 | logsql_tabletype table_type, const char *table_name) |
| 152 | { | 152 | { |
| 153 | int retval; | 153 | int retval; |
| @@ -231,3 +231,18 @@ logsql_table_ret log_sql_mysql_create(request_rec *r, logsql_dbconnection *db, | |||
| 231 | signal(SIGPIPE, handler); | 231 | signal(SIGPIPE, handler); |
| 232 | return LOGSQL_TABLE_SUCCESS; | 232 | return LOGSQL_TABLE_SUCCESS; |
| 233 | } | 233 | } |
| 234 | |||
| 235 | static char *supported_drivers[] = {"mysql",NULL}; | ||
| 236 | static logsql_dbdriver mysql_driver = { | ||
| 237 | supported_drivers, | ||
| 238 | log_sql_mysql_connect, /* open DB connection */ | ||
| 239 | log_sql_mysql_close, /* close DB connection */ | ||
| 240 | log_sql_mysql_escape, /* escape query */ | ||
| 241 | log_sql_mysql_query, /* insert query */ | ||
| 242 | log_sql_mysql_create /* create table */ | ||
| 243 | }; | ||
| 244 | |||
| 245 | LOGSQL_REGISTER(mysql) { | ||
| 246 | log_sql_register_driver(p,&mysql_driver); | ||
| 247 | LOGSQL_REGISTER_RETURN; | ||
| 248 | } | ||
