protocol.hrl 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. %% --- Status flags (bits) ---
  2. -define(SERVER_STATUS_IN_TRANS, 16#0001). %% a transaction is active
  3. -define(SERVER_STATUS_AUTOCOMMIT, 16#0002). %% auto-commit is enabled
  4. -define(SERVER_MORE_RESULTS_EXISTS, 16#0008).
  5. -define(SERVER_STATUS_NO_GOOD_INDEX_USED, 16#0010).
  6. -define(SERVER_STATUS_NO_INDEX_USED, 16#0020).
  7. -define(SERVER_STATUS_CURSOR_EXISTS, 16#0040). %% Used by Binary Protocol
  8. %% Resultset to signal that
  9. %% COM_STMT_FETCH has to be used
  10. %% to fetch the row-data.
  11. -define(SERVER_STATUS_LAST_ROW_SENT, 16#0080).
  12. -define(SERVER_STATUS_DB_DROPPED, 16#0100).
  13. -define(SERVER_STATUS_NO_BACKSLASH_ESCAPES, 16#0200).
  14. -define(SERVER_STATUS_METADATA_CHANGED, 16#0400).
  15. -define(SERVER_QUERY_WAS_SLOW, 16#0800).
  16. -define(SERVER_PS_OUT_PARAMS, 16#1000).
  17. -define(SERVER_STATUS_IN_TRANS_READONLY, 16#2000). %% in a read-only transaction
  18. -define(SERVER_SESSION_STATE_CHANGED, 16#4000). %% connection state information
  19. %% has changed
  20. %% Response packet tag (first byte)
  21. -define(OK, 0).
  22. -define(EOF, 16#fe).
  23. -define(ERROR, 16#ff).
  24. %% --- Capability flags ---
  25. %% Server: supports the 4.1 protocol
  26. %% Client: uses the 4.1 protocol
  27. -define(CLIENT_PROTOCOL_41, 16#00000200).
  28. %% Server: can send status flags in EOF_Packet
  29. %% Client: expects status flags in EOF_Packet
  30. -define(CLIENT_TRANSACTIONS, 16#00002000).
  31. %% Server: supports Authentication::Native41
  32. %% Client: supports Authentication::Native41
  33. -define(CLIENT_SECURE_CONNECTION, 16#00008000).
  34. %% Server: can handle multiple statements per COM_QUERY and COM_STMT_PREPARE
  35. %% Client: may send multiple statements per COM_QUERY and COM_STMT_PREPARE
  36. %% Requires: CLIENT_PROTOCOL_41
  37. -define(CLIENT_MULTI_STATEMENTS, 16#00010000).
  38. %% Server: can send multiple resultsets for COM_QUERY
  39. %% Client: can handle multiple resultsets for COM_QUERY
  40. %% Requires: CLIENT_PROTOCOL_41
  41. -define(CLIENT_MULTI_RESULTS, 16#00020000).
  42. %% Server: sends extra data in Initial Handshake Packet and supports the
  43. %% pluggable authentication protocol.
  44. %% Client: supports auth plugins
  45. %% Requires: CLIENT_PROTOCOL_41
  46. -define(CLIENT_PLUGIN_AUTH, 16#00080000).
  47. %% --- Commands ---
  48. -define(COM_SLEEP, 16#00).
  49. -define(COM_QUIT, 16#01).
  50. -define(COM_INIT_DB, 16#02).
  51. -define(COM_QUERY, 16#03).
  52. -define(COM_FIELD_LIST, 16#04).
  53. -define(COM_CREATE_DB, 16#05).
  54. -define(COM_DROP_DB, 16#06).
  55. -define(COM_REFRESH, 16#07).
  56. -define(COM_SHUTDOWN, 16#08).
  57. -define(COM_STATISTICS, 16#09).
  58. -define(COM_PROCESS_INFO, 16#0a).
  59. -define(COM_CONNECT, 16#0b).
  60. -define(COM_PROCESS_KILL, 16#0c).
  61. -define(COM_DEBUG, 16#0d).
  62. -define(COM_PING, 16#0e).
  63. -define(COM_TIME, 16#0f).
  64. -define(COM_DELAYED_INSERT, 16#10).
  65. -define(COM_CHANGE_USER, 16#11).
  66. -define(COM_BINLOG_DUMP, 16#12).
  67. -define(COM_TABLE_DUMP, 16#13).
  68. -define(COM_CONNECT_OUT, 16#14).
  69. -define(COM_REGISTER_SLAVE, 16#15).
  70. -define(COM_STMT_PREPARE, 16#16).
  71. -define(COM_STMT_EXECUTE, 16#17).
  72. -define(COM_STMT_SEND_LONG_DATA, 16#18).
  73. -define(COM_STMT_CLOSE, 16#19).
  74. -define(COM_STMT_RESET, 16#1a).
  75. -define(COM_SET_OPTION, 16#1b).
  76. -define(COM_STMT_FETCH, 16#1c).