使用erlang mysql模块,数据库连接是如何关闭的?

时间:2010-03-28 03:41:24

标签: mysql erlang

在使用erlang mysql模块时,暴露的外部函数是:

%% External exports
-export([start_link/5,
   start_link/6,
   start_link/7,
   start_link/8,

   start/5,
   start/6,
   start/7,
   start/8,

   connect/7,
   connect/8,
   connect/9,

   fetch/1,
   fetch/2,
   fetch/3,

   prepare/2,
   execute/1,
   execute/2,
   execute/3,
   execute/4,
   unprepare/1,
   get_prepared/1,
   get_prepared/2,

   transaction/2,
   transaction/3,

   get_result_field_info/1,
   get_result_rows/1,
   get_result_affected_rows/1,
   get_result_reason/1,

   encode/1,
   encode/2,
   asciz_binary/2
  ]).

从这一点来看,如何关闭连接并不明显。 连接如何关闭?

2 个答案:

答案 0 :(得分:1)

我快速浏览了mysql_driver代码。你是对的 - 它似乎没有一种机制来关闭打开的连接。事实上,当gen_server让我们说关闭时(在终止方法中),我实际上甚至看不到正确的清理代码来关闭打开的套接字。

答案 1 :(得分:1)

{Type, Result} = mysql:start_link(P1, Host, User, Passwd, DB),

stop(Result)关闭连接