Class for sending data from server to client (Protocol)
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
Added my_global.h to compile after my_list.h is added to mysql.h
sql_prepare.cc:
Handle close stmt from client
Minor fixups to make SET variable=? to work
sql_parse.cc:
Added missed COM_CLOSE_STMT
mysql_priv.h:
Change mysql_stmt_close to mysql_stmt_free to not to conflict with client type
libmysql.c:
Clean all open stmts during mysql_close() implicitly
Warning handling and initial prepared statement handling (last not complete yet)
Changed a lot of functions that returned 0/1 to my_bool type.
GRANT handling now uses read/write locks instead of mutex
Change basic net functions to use THD instead of NET
(needed for 4.1 protocol)
Use my_sprintf instead of sprintf() + strlen()
Added alloc_query() to be able to chare query initialization code with
prepared statements.
Cleanup handling of SHOW COUNT(*) WARNINGS and SELECT LAST_INSERT_ID()
Note that the following test fails (will be fixed ASAP):
sub_select, union, rpl_rotate_logs and rpl_mystery22
new file
Client-server protocol 4.1 changes - Server side:
* Enhanced metadata information:
- SHOW [COUNT(*)] ERRORS [LIMIT [offset,] rows]
- SHOW [COUNT(*)] WARNING [LIMIT [offset,] rows]
- SHOW TABLE TYPES
- SHOW PRIVILEGES
- SHOW COLUMN TYPES (Not fully implemented)
* Prepared execution
* Long data handling in pieces
* And other misc changes