Yuriy Zhloba 9 лет назад
Родитель
Сommit
d78161b2d1
1 измененных файлов с 11 добавлено и 13 удалено
  1. 11 13
      src/epgsql_pool.erl

+ 11 - 13
src/epgsql_pool.erl

@@ -15,7 +15,7 @@
 
 
 %% Module API
 %% Module API
 
 
--spec start(pool_name(), integer(), integer(), map() | #epgsql_connection_params{}) -> {ok, pid()} | {error, term()}.
+-spec start(pool_name(), integer(), integer(), map() | #epgsql_connection_params{}) -> {ok, pid()}.
 start(PoolName, InitCount, MaxCount, ConnectionParams) when is_map(ConnectionParams) ->
 start(PoolName, InitCount, MaxCount, ConnectionParams) when is_map(ConnectionParams) ->
     Params2 = #epgsql_connection_params{
     Params2 = #epgsql_connection_params{
                  host = maps:get(host, ConnectionParams),
                  host = maps:get(host, ConnectionParams),
@@ -30,17 +30,15 @@ start(PoolName0, InitCount, MaxCount, #epgsql_connection_params{} = ConnectionPa
     PoolName = epgsql_pool_utils:pool_name_to_atom(PoolName0),
     PoolName = epgsql_pool_utils:pool_name_to_atom(PoolName0),
     epgsql_pool_settings:set_connection_params(PoolName, ConnectionParams),
     epgsql_pool_settings:set_connection_params(PoolName, ConnectionParams),
     MaxQueue = epgsql_pool_settings:get(pooler_max_queue),
     MaxQueue = epgsql_pool_settings:get(pooler_max_queue),
-    case epgsql_pool_settings:get_connection_params(PoolName) of
-        {ok, _} -> PoolConfig = [{name, PoolName},
-                                 {init_count, InitCount},
-                                 {max_count, MaxCount},
-                                 {queue_max, MaxQueue},
-                                 {start_mfa, {epgsql_pool_worker, start_link, [PoolName]}},
-                                 {stop_mfa, {epgsql_pool_worker, stop, []}}
-                                ],
-                   pooler:new_pool(PoolConfig);
-        {error, not_found} -> {error, connection_params_not_found}
-    end.
+    {ok, _} = epgsql_pool_settings:get_connection_params(PoolName),
+    PoolConfig = [{name, PoolName},
+                  {init_count, InitCount},
+                  {max_count, MaxCount},
+                  {queue_max, MaxQueue},
+                  {start_mfa, {epgsql_pool_worker, start_link, [PoolName]}},
+                  {stop_mfa, {epgsql_pool_worker, stop, []}}
+                 ],
+    pooler:new_pool(PoolConfig).
 
 
 
 
 -spec stop(pool_name()) -> ok | {error, term()}.
 -spec stop(pool_name()) -> ok | {error, term()}.
@@ -82,8 +80,8 @@ query(Worker, Stmt, Params, Options) when is_pid(Worker) ->
         gen_server:call(Worker, {equery, Stmt, Params}, Timeout)
         gen_server:call(Worker, {equery, Stmt, Params}, Timeout)
     catch
     catch
         exit:{timeout, _} ->
         exit:{timeout, _} ->
-            gen_server:call(Worker, cancel),
             error_logger:error_msg("query timeout ~p ~p", [Stmt, Params]),
             error_logger:error_msg("query timeout ~p ~p", [Stmt, Params]),
+            gen_server:call(Worker, cancel, infinity),
             {error, timeout}
             {error, timeout}
     end;
     end;