123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- %% MySQL/OTP – MySQL client library for Erlang/OTP
- %% Copyright (C) 2014 Viktor Söderqvist
- %%
- %% This file is part of MySQL/OTP.
- %%
- %% MySQL/OTP is free software: you can redistribute it and/or modify it under
- %% the terms of the GNU Lesser General Public License as published by the Free
- %% Software Foundation, either version 3 of the License, or (at your option)
- %% any later version.
- %%
- %% This program is distributed in the hope that it will be useful, but WITHOUT
- %% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- %% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- %% more details.
- %%
- %% You should have received a copy of the GNU Lesser General Public License
- %% along with this program. If not, see <https://www.gnu.org/licenses/>.
- %% Response packet tag (first byte)
- -define(OK, 0).
- -define(EOF, 16#fe).
- -define(ERROR, 16#ff).
- %% Character sets
- -define(UTF8, 16#21). %% utf8_general_ci
- %% --- Capability flags ---
- %% Server: sends found rows instead of affected rows in EOF_Packet
- -define(CLIENT_FOUND_ROWS, 16#00000002).
- %% Server: supports schema-name in Handshake Response Packet
- %% Client: Handshake Response Packet contains a schema-name
- -define(CLIENT_CONNECT_WITH_DB, 16#00000008).
- %% Server: supports the 4.1 protocol
- %% Client: uses the 4.1 protocol
- -define(CLIENT_PROTOCOL_41, 16#00000200).
- %% Client: supports SSL
- -define(CLIENT_SSL, 16#00000800).
- %% Server: can send status flags in EOF_Packet
- %% Client: expects status flags in EOF_Packet
- -define(CLIENT_TRANSACTIONS, 16#00002000).
- %% Server: supports Authentication::Native41
- %% Client: supports Authentication::Native41
- -define(CLIENT_SECURE_CONNECTION, 16#00008000).
- %% Server: can handle multiple statements per COM_QUERY and COM_STMT_PREPARE
- %% Client: may send multiple statements per COM_QUERY and COM_STMT_PREPARE
- %% Requires: CLIENT_PROTOCOL_41
- -define(CLIENT_MULTI_STATEMENTS, 16#00010000).
- %% Server: can send multiple resultsets for COM_QUERY
- %% Client: can handle multiple resultsets for COM_QUERY
- %% Requires: CLIENT_PROTOCOL_41
- -define(CLIENT_MULTI_RESULTS, 16#00020000).
- %% Server: can send multiple resultsets for COM_STMT_EXECUTE
- %% Client: can handle multiple resultsets for COM_STMT_EXECUTE
- %% Requires: CLIENT_PROTOCOL_41
- -define(CLIENT_PS_MULTI_RESULTS, 16#00040000).
- %% Server: sends extra data in Initial Handshake Packet and supports the
- %% pluggable authentication protocol.
- %% Client: supports auth plugins
- %% Requires: CLIENT_PROTOCOL_41
- -define(CLIENT_PLUGIN_AUTH, 16#00080000).
- %% --- Commands ---
- -define(COM_SLEEP, 16#00).
- -define(COM_QUIT, 16#01).
- -define(COM_INIT_DB, 16#02).
- -define(COM_QUERY, 16#03).
- -define(COM_FIELD_LIST, 16#04).
- -define(COM_CREATE_DB, 16#05).
- -define(COM_DROP_DB, 16#06).
- -define(COM_REFRESH, 16#07).
- -define(COM_SHUTDOWN, 16#08).
- -define(COM_STATISTICS, 16#09).
- -define(COM_PROCESS_INFO, 16#0a).
- -define(COM_CONNECT, 16#0b).
- -define(COM_PROCESS_KILL, 16#0c).
- -define(COM_DEBUG, 16#0d).
- -define(COM_PING, 16#0e).
- -define(COM_TIME, 16#0f).
- -define(COM_DELAYED_INSERT, 16#10).
- -define(COM_CHANGE_USER, 16#11).
- -define(COM_BINLOG_DUMP, 16#12).
- -define(COM_TABLE_DUMP, 16#13).
- -define(COM_CONNECT_OUT, 16#14).
- -define(COM_REGISTER_SLAVE, 16#15).
- -define(COM_STMT_PREPARE, 16#16).
- -define(COM_STMT_EXECUTE, 16#17).
- -define(COM_STMT_SEND_LONG_DATA, 16#18).
- -define(COM_STMT_CLOSE, 16#19).
- -define(COM_STMT_RESET, 16#1a).
- -define(COM_SET_OPTION, 16#1b).
- -define(COM_STMT_FETCH, 16#1c).
- %% --- Types ---
- -define(TYPE_DECIMAL, 16#00).
- -define(TYPE_TINY, 16#01).
- -define(TYPE_SHORT, 16#02).
- -define(TYPE_LONG, 16#03).
- -define(TYPE_FLOAT, 16#04).
- -define(TYPE_DOUBLE, 16#05).
- -define(TYPE_NULL, 16#06).
- -define(TYPE_TIMESTAMP, 16#07).
- -define(TYPE_LONGLONG, 16#08).
- -define(TYPE_INT24, 16#09).
- -define(TYPE_DATE, 16#0a).
- -define(TYPE_TIME, 16#0b).
- -define(TYPE_DATETIME, 16#0c).
- -define(TYPE_YEAR, 16#0d).
- -define(TYPE_VARCHAR, 16#0f).
- -define(TYPE_BIT, 16#10).
- -define(TYPE_JSON, 16#f5).
- -define(TYPE_NEWDECIMAL, 16#f6).
- -define(TYPE_ENUM, 16#f7).
- -define(TYPE_SET, 16#f8).
- -define(TYPE_TINY_BLOB, 16#f9).
- -define(TYPE_MEDIUM_BLOB, 16#fa).
- -define(TYPE_LONG_BLOB, 16#fb).
- -define(TYPE_BLOB, 16#fc).
- -define(TYPE_VAR_STRING, 16#fd).
- -define(TYPE_STRING, 16#fe).
- -define(TYPE_GEOMETRY, 16#ff).
- %% --- Field flags ---
- -define(UNSIGNED_FLAG, 32).
|