CR.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. """MySQL Connection Errors
  2. Nearly all of these raise OperationalError. COMMANDS_OUT_OF_SYNC
  3. raises ProgrammingError.
  4. """
  5. if __name__ == "__main__":
  6. """
  7. Usage: python CR.py [/path/to/mysql/errmsg.h ...] >> CR.py
  8. """
  9. import fileinput
  10. import re
  11. data = {}
  12. error_last = None
  13. for line in fileinput.input():
  14. line = re.sub(r"/\*.*?\*/", "", line)
  15. m = re.match(r"^\s*#define\s+CR_([A-Z0-9_]+)\s+(\d+)(\s.*|$)", line)
  16. if m:
  17. name = m.group(1)
  18. value = int(m.group(2))
  19. if name == "ERROR_LAST":
  20. if error_last is None or error_last < value:
  21. error_last = value
  22. continue
  23. if value not in data:
  24. data[value] = set()
  25. data[value].add(name)
  26. for value, names in sorted(data.items()):
  27. for name in sorted(names):
  28. print(f"{name} = {value}")
  29. if error_last is not None:
  30. print("ERROR_LAST = %s" % error_last)
  31. ERROR_FIRST = 2000
  32. MIN_ERROR = 2000
  33. UNKNOWN_ERROR = 2000
  34. SOCKET_CREATE_ERROR = 2001
  35. CONNECTION_ERROR = 2002
  36. CONN_HOST_ERROR = 2003
  37. IPSOCK_ERROR = 2004
  38. UNKNOWN_HOST = 2005
  39. SERVER_GONE_ERROR = 2006
  40. VERSION_ERROR = 2007
  41. OUT_OF_MEMORY = 2008
  42. WRONG_HOST_INFO = 2009
  43. LOCALHOST_CONNECTION = 2010
  44. TCP_CONNECTION = 2011
  45. SERVER_HANDSHAKE_ERR = 2012
  46. SERVER_LOST = 2013
  47. COMMANDS_OUT_OF_SYNC = 2014
  48. NAMEDPIPE_CONNECTION = 2015
  49. NAMEDPIPEWAIT_ERROR = 2016
  50. NAMEDPIPEOPEN_ERROR = 2017
  51. NAMEDPIPESETSTATE_ERROR = 2018
  52. CANT_READ_CHARSET = 2019
  53. NET_PACKET_TOO_LARGE = 2020
  54. EMBEDDED_CONNECTION = 2021
  55. PROBE_SLAVE_STATUS = 2022
  56. PROBE_SLAVE_HOSTS = 2023
  57. PROBE_SLAVE_CONNECT = 2024
  58. PROBE_MASTER_CONNECT = 2025
  59. SSL_CONNECTION_ERROR = 2026
  60. MALFORMED_PACKET = 2027
  61. WRONG_LICENSE = 2028
  62. NULL_POINTER = 2029
  63. NO_PREPARE_STMT = 2030
  64. PARAMS_NOT_BOUND = 2031
  65. DATA_TRUNCATED = 2032
  66. NO_PARAMETERS_EXISTS = 2033
  67. INVALID_PARAMETER_NO = 2034
  68. INVALID_BUFFER_USE = 2035
  69. UNSUPPORTED_PARAM_TYPE = 2036
  70. SHARED_MEMORY_CONNECTION = 2037
  71. SHARED_MEMORY_CONNECT_REQUEST_ERROR = 2038
  72. SHARED_MEMORY_CONNECT_ANSWER_ERROR = 2039
  73. SHARED_MEMORY_CONNECT_FILE_MAP_ERROR = 2040
  74. SHARED_MEMORY_CONNECT_MAP_ERROR = 2041
  75. SHARED_MEMORY_FILE_MAP_ERROR = 2042
  76. SHARED_MEMORY_MAP_ERROR = 2043
  77. SHARED_MEMORY_EVENT_ERROR = 2044
  78. SHARED_MEMORY_CONNECT_ABANDONED_ERROR = 2045
  79. SHARED_MEMORY_CONNECT_SET_ERROR = 2046
  80. CONN_UNKNOW_PROTOCOL = 2047
  81. INVALID_CONN_HANDLE = 2048
  82. UNUSED_1 = 2049
  83. FETCH_CANCELED = 2050
  84. NO_DATA = 2051
  85. NO_STMT_METADATA = 2052
  86. NO_RESULT_SET = 2053
  87. NOT_IMPLEMENTED = 2054
  88. SERVER_LOST_EXTENDED = 2055
  89. STMT_CLOSED = 2056
  90. NEW_STMT_METADATA = 2057
  91. ALREADY_CONNECTED = 2058
  92. AUTH_PLUGIN_CANNOT_LOAD = 2059
  93. DUPLICATE_CONNECTION_ATTR = 2060
  94. AUTH_PLUGIN_ERR = 2061
  95. INSECURE_API_ERR = 2062
  96. FILE_NAME_TOO_LONG = 2063
  97. SSL_FIPS_MODE_ERR = 2064
  98. MAX_ERROR = 2999
  99. ERROR_LAST = 2064