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);