mysql:657
From: <takeshi@xxxxxxxxxx>
Date: Thu, 28 Jan 1999 19:55:28 +0900
Subject: [mysql 00657] Re: mysql_reload
毅です。 takeshi> 3.22.14 のマニュアルで C API の説明が違うことに気づきました。 しつれいしました。違うのではなくて、 "refresh が無い" の間違いです。 mysql_reload は mysql_refresh(a,REFRESH_GRANT) で再定義されてました。 takeshi> で、民斗さんの mysql-ruby-2.1.1 に対するパッチを添付します こちらが正解のパッチです。 --- mysql.c.orig Sun Jan 24 15:04:28 1999 +++ mysql.c Thu Jan 28 19:53:20 1999 @@ -256,6 +256,7 @@ return TRUE; } +#if MYSQL_VERSION_ID < 32100 /* reload() */ static VALUE reload(VALUE obj) { @@ -264,6 +265,21 @@ mysql_raise(m); return TRUE; } +#endif +#if MYSQL_VERSION_ID >= 32100 +/* refresh() */ +static VALUE reload(VALUE obj) +{ + refresh(obj,REFRESH_GRANT); +} +static VALUE refresh(VALUE obj, VALUE a) +{ + MYSQL* m = GetHandler(obj); + if (mysql_refresh(m, a) != 0) + mysql_raise(m); + return TRUE; +} +#endif /* select_db(db) */ static VALUE select_db(VALUE obj, VALUE db) @@ -624,6 +640,9 @@ rb_define_method(cMysql, "ping", ping, 0); rb_define_method(cMysql, "query", query, 1); rb_define_method(cMysql, "reload", reload, 0); +#if MYSQL_VERSION_ID >= 32100 + rb_define_method(cMysql, "refresh", refresh, 1); +#endif rb_define_method(cMysql, "select_db", select_db, 1); rb_define_method(cMysql, "shutdown", my_shutdown, 0); rb_define_method(cMysql, "stat", my_stat, 0);