[erlang-questions] API design and pgapp
Tue Sep 5 19:03:16 CEST 2017
> This came up, lately: https://github.com/epgsql/pgapp/issues/22
> Which seems to pit two things against one another:
> * On one hand, using the process registry to keep track of the Conn
> (connection) is not very Erlang-y and might introduce errors.
> * That said, it's also nice for things to be composable in the sense
> that you can write, say, update_stats() either within the transaction
> or outside and have it 'just work' without having to provide both an
> update_stats() and update_stats(Conn).
I don't think it's a productive addition to that epgsql conversation, but I would write only update_stats/1. A Postgres connection is not a trivial thing like an Erlang process. On a default installation you only get a couple hundred of them and you can see some unpleasant surprises if you go over. Therefore, I think it's a mistake to not explicitly track your connections in the code.
More information about the erlang-questions