pq.erl 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. -module(pq).
  2. -compile([export_all, nowarn_export_all]).
  3. %% postgresql queries module
  4. %% without pool
  5. % get_all_cities(Mpid)
  6. % update_city_by_id(Mpid, City_Id, City_Name, City_Pop)
  7. % add_city(Mpid, City_Name, City_Pop)
  8. % add_city_return_id(Mpid, City_Name, City_Pop)
  9. % delete_city_by_id(Mpid, City_Id)
  10. %% with pool
  11. % get_all_cities()
  12. % update_city_by_id(City_Id, City_Name, City_Pop)
  13. % add_city(City_Name, City_Pop)
  14. % add_city_return_id(City_Name, City_Pop)
  15. % delete_city_by_id(City_Id)
  16. %% with pool and in transaction
  17. % get_all_cities_t(Worker)
  18. % add_city_t(Worker, City_Name, City_Pop)
  19. %
  20. get_all_cities(Ppid) ->
  21. pgm:select(Ppid, "SELECT id, name, population FROM test ORDER BY id", []).
  22. update_city_by_id(Ppid, City_Id, City_Name, City_Pop) ->
  23. pgm:in_up_del(Ppid, "UPDATE test SET name = $1, population = $2 WHERE id = $3", [City_Name, City_Pop, City_Id]).
  24. add_city(Ppid, City_Name, City_Pop) ->
  25. pgm:in_up_del(Ppid, "INSERT INTO test (name, population) VALUES ($1, $2)", [City_Name, City_Pop]).
  26. add_city_return_id(Ppid, City_Name, City_Pop) ->
  27. pgm:returning(Ppid, "INSERT INTO test (name, population) VALUES ($1, $2) RETURNING id", [City_Name, City_Pop]).
  28. delete_city_by_id(Ppid, City_Id) ->
  29. pgm:in_up_del(Ppid, "DELETE FROM test WHERE id = $1", [City_Id]).
  30. get_all_cities() ->
  31. pgm:select("SELECT id, name, population FROM test ORDER BY id", []).
  32. update_city_by_id(City_Id, City_Name, City_Pop) ->
  33. pgm:in_up_del("UPDATE test SET name = $1, population = $2 WHERE id = $3", [City_Name, City_Pop, City_Id]).
  34. add_city(City_Name, City_Pop) ->
  35. pgm:in_up_del("INSERT INTO test (name, population) VALUES ($1, $2)", [City_Name, City_Pop]).
  36. add_city_return_id(City_Name, City_Pop) ->
  37. pgm:returning("INSERT INTO test (name, population) VALUES ($1, $2) RETURNING id", [City_Name, City_Pop]).
  38. delete_city_by_id(City_Id) ->
  39. pgm:in_up_del("DELETE FROM test WHERE id = $1", [City_Id]).
  40. get_all_cities_t(Worker) ->
  41. pgm:transaction_q(Worker, "SELECT id, name, population FROM test ORDER BY id", []).
  42. add_city_t(Worker, City_Name, City_Pop) ->
  43. pgm:transaction_q(Worker, "INSERT INTO test (name, population) VALUES ($1, $2)", [City_Name, City_Pop]).