Browse Source

fix backward compability for public function get_worker

Yuriy Zhloba 4 years ago
parent
commit
6669dbf4fb
2 changed files with 12 additions and 4 deletions
  1. 1 1
      src/epgsql_pool.app.src
  2. 11 3
      src/epgsql_pool.erl

+ 1 - 1
src/epgsql_pool.app.src

@@ -3,7 +3,7 @@
 {application, epgsql_pool,
 {application, epgsql_pool,
  [
  [
   {description, "Connection pool for PostgreSQL"},
   {description, "Connection pool for PostgreSQL"},
-  {vsn, "1.4.2"},
+  {vsn, "1.4.3"},
   {registered, []},
   {registered, []},
   {applications, [stdlib, kernel, epgsql, pooler]},
   {applications, [stdlib, kernel, epgsql, pooler]},
   {env, [
   {env, [

+ 11 - 3
src/epgsql_pool.erl

@@ -233,10 +233,18 @@ set_notice(Worker, Pid) ->
     gen_server:call(Worker, {set_async_receiver, Pid}, Timeout).
     gen_server:call(Worker, {set_async_receiver, Pid}, Timeout).
 
 
 
 
+-spec get_worker(pool_name()) -> {ok, pid()} | {error, term()}.
+get_worker(PoolName) ->
+    case get_worker_with_time(PoolName) of
+        {ok, Worker, _Time} -> {ok, Worker};
+        Error -> Error
+    end.
+
+
 %%% inner functions
 %%% inner functions
 
 
--spec get_worker(pool_name()) -> {ok, pid(), integer()} | {error, term()}.
-get_worker(PoolName) ->
+-spec get_worker_with_time(pool_name()) -> {ok, pid(), integer()} | {error, term()}.
+get_worker_with_time(PoolName) ->
     {ok, Timeout} = application:get_env(epgsql_pool, pooler_get_worker_timeout),
     {ok, Timeout} = application:get_env(epgsql_pool, pooler_get_worker_timeout),
     T1 = os:system_time(microsecond),
     T1 = os:system_time(microsecond),
     case pooler:take_member(PoolName, Timeout) of
     case pooler:take_member(PoolName, Timeout) of
@@ -252,7 +260,7 @@ get_worker(PoolName) ->
 
 
 -spec with_worker(pool_name(), fun()) -> {epgsql:reply(), #epgsql_query_stat{}} | {error, term()}.
 -spec with_worker(pool_name(), fun()) -> {epgsql:reply(), #epgsql_query_stat{}} | {error, term()}.
 with_worker(PoolName, Fun) ->
 with_worker(PoolName, Fun) ->
-    case get_worker(PoolName) of
+    case get_worker_with_time(PoolName) of
         {ok, Worker, GetWorkerTime} ->
         {ok, Worker, GetWorkerTime} ->
             Response =
             Response =
                 try
                 try