generate_errcodes_src.sh 486 B

12345678910111213141516171819202122
  1. #!/usr/bin/env bash -e
  2. #
  3. # Used to generate epgsql_errcodes.erl
  4. #
  5. ERRFILE="https://raw.github.com/postgres/postgres/master/src/backend/utils/errcodes.txt"
  6. date=$(date)
  7. echo "%% DO NOT EDIT - AUTOGENERATED ON $date"
  8. wget -qO- "$ERRFILE" | awk '
  9. BEGIN {
  10. print "-module(epgsql_errcodes)."
  11. print "-export([to_name/1])."
  12. print
  13. }
  14. NF == 4 && \
  15. $1 ~ /[^\s]{5}/ && \
  16. $2 ~ /[EWS]/ \
  17. {
  18. printf("to_name(<<\"%s\">>) -> %s;\n", $1, $4)
  19. }
  20. END {
  21. print "to_name(_) -> undefined."
  22. }'