From 88e146083c6df9324a75628972db6a5ca87a1bf7 Mon Sep 17 00:00:00 2001 From: Atsushi Konno Date: Thu, 14 Jul 2011 02:18:25 +0900 Subject: [PATCH] * Fixed BUG. - if you use MySQL5.5, use ENGINE=innoDB Thanks Mr.osanai! --- src/chxj_mysql.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/chxj_mysql.c b/src/chxj_mysql.c index fe1e7784..11593a56 100644 --- a/src/chxj_mysql.c +++ b/src/chxj_mysql.c @@ -32,6 +32,7 @@ /* for MySQL */ #include +#include #include @@ -254,9 +255,16 @@ chxj_mysql_create_cookie_table(request_rec *r, mod_chxj_config *m) apr_interval_time_t wait_time = CHXJ_MYSQL_RECONNECT_WAIT_TIME; DBG(r,"REQ[%X] start %s()",TO_ADDR(r),__func__); +#if MYSQL_VERSION_ID > 50500 + apr_snprintf(query, sizeof(query)-1, "CREATE TABLE %s (cookie_id VARCHAR(%d) NOT NULL, data TEXT, PRIMARY KEY(cookie_id)) ENGINE=InnoDB;", + m->mysql.tablename, + apr_base64_encode_len(APR_MD5_DIGESTSIZE) * 3); + +#else apr_snprintf(query, sizeof(query)-1, "CREATE TABLE %s (cookie_id VARCHAR(%d) NOT NULL, data TEXT, PRIMARY KEY(cookie_id)) TYPE=InnoDB;", m->mysql.tablename, apr_base64_encode_len(APR_MD5_DIGESTSIZE) * 3); +#endif DBG(r,"REQ[%X] query:[%s]", TO_ADDR(r),query); do { if (!chxj_open_mysql_handle(r, m)) { @@ -299,9 +307,16 @@ chxj_mysql_create_cookie_expire_table(request_rec *r, mod_chxj_config *m) apr_interval_time_t wait_time = CHXJ_MYSQL_RECONNECT_WAIT_TIME; DBG(r,"REQ[%X] start %s()",TO_ADDR(r),__func__); +#if MYSQL_VERSION_ID > 50500 + apr_snprintf(query, sizeof(query)-1, "CREATE TABLE %s_expire (cookie_id VARCHAR(%d) NOT NULL, created_at DATETIME, PRIMARY KEY(cookie_id)) ENGINE=InnoDB;", + m->mysql.tablename, + apr_base64_encode_len(APR_MD5_DIGESTSIZE) * 3); + +#else apr_snprintf(query, sizeof(query)-1, "CREATE TABLE %s_expire (cookie_id VARCHAR(%d) NOT NULL, created_at DATETIME, PRIMARY KEY(cookie_id)) TYPE=InnoDB;", m->mysql.tablename, apr_base64_encode_len(APR_MD5_DIGESTSIZE) * 3); +#endif DBG(r,"REQ[%X] query:[%s]", TO_ADDR(r),query); -- 2.11.0