mysql.erl 1018 B

123456789101112131415161718192021222324252627282930313233343536
  1. %% @doc MySQL/OTP
  2. -module(mysql).
  3. -export([connect/1, disconnect/1, query/2, warning_count/1, affected_rows/1,
  4. insert_id/1]).
  5. -spec connect(list()) -> {ok, pid()} | ignore | {error, term()}.
  6. connect(Opts) ->
  7. gen_server:start_link(mysql_connection, Opts, []).
  8. -spec disconnect(pid()) -> ok.
  9. disconnect(Conn) ->
  10. exit(Conn, normal),
  11. ok.
  12. -spec query(Conn, Query) -> ok | {ok, Fields, Rows} | {error, Reason}
  13. when Conn :: pid(),
  14. Query :: iodata(),
  15. Fields :: [binary()],
  16. Rows :: [[term()]],
  17. Reason :: {Code :: integer(), SQLState :: binary(),
  18. Message :: binary()}.
  19. query(Conn, Query) ->
  20. gen_server:call(Conn, {query, Query}).
  21. -spec warning_count(pid()) -> integer().
  22. warning_count(Conn) ->
  23. gen_server:call(Conn, warning_count).
  24. -spec affected_rows(pid()) -> integer().
  25. affected_rows(Conn) ->
  26. gen_server:call(Conn, affected_rows).
  27. -spec insert_id(pid()) -> integer().
  28. insert_id(Conn) ->
  29. gen_server:call(Conn, insert_id).