[前][次][番号順一覧][スレッド一覧]

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

[前][次][番号順一覧][スレッド一覧]