Используя модуль erlang mysql, как закрывается соединение с базой данных? - PullRequest
1 голос
/ 28 марта 2010

При использовании модуля 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 ]

1 голос
/ 01 марта 2013
{Type, Result} = mysql:start_link(P1, Host, User, Passwd, DB),

stop(Result) закрывает соединение

1 голос
/ 28 марта 2010

Я быстро просмотрел код mysql_driver. Вы правы - похоже, у него нет механизма закрытия открытых соединений. На самом деле, я даже не вижу правильного кода очистки для закрытия открытых сокетов, когда, скажем, gen_server завершает работу (в методе terminate).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...