(updated) Protocol_cursor class.
Also did some bug fixes.
Docs/sp-imp-spec.txt:
Added CURSOR docs (and fixed typos)
Docs/sp-implemented.txt:
Updated for CURSORs
include/mysqld_error.h:
New error codes/messages for CURSORs
libmysqld/Makefile.am:
SP cursors now needs this.
mysql-test/r/sp-error.result:
New tests for cursors.
mysql-test/r/sp.result:
New tests for cursors.
mysql-test/t/sp-error.test:
New tests for cursors.
mysql-test/t/sp.test:
New tests for cursors.
sql/protocol.cc:
We now always have Protocol_cursor (SPs use it)
sql/protocol.h:
Fixed bugs in Protocol_cursor (for SPs)
sql/protocol_cursor.cc:
Fixed bugs in Protocol_cursor (for SPs)
sql/share/czech/errmsg.txt:
New error codes/messages for CURSORs
sql/share/danish/errmsg.txt:
New error codes/messages for CURSORs
sql/share/dutch/errmsg.txt:
New error codes/messages for CURSORs
sql/share/english/errmsg.txt:
New error codes/messages for CURSORs
sql/share/estonian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/french/errmsg.txt:
New error codes/messages for CURSORs
sql/share/german/errmsg.txt:
New error codes/messages for CURSORs
sql/share/greek/errmsg.txt:
New error codes/messages for CURSORs
sql/share/hungarian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/italian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/japanese/errmsg.txt:
New error codes/messages for CURSORs
sql/share/korean/errmsg.txt:
New error codes/messages for CURSORs
sql/share/norwegian-ny/errmsg.txt:
New error codes/messages for CURSORs
sql/share/norwegian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/polish/errmsg.txt:
New error codes/messages for CURSORs
sql/share/portuguese/errmsg.txt:
New error codes/messages for CURSORs
sql/share/romanian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/russian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/serbian/errmsg.txt:
New error codes/messages for CURSORs
sql/share/slovak/errmsg.txt:
New error codes/messages for CURSORs
sql/share/spanish/errmsg.txt:
New error codes/messages for CURSORs
sql/share/swedish/errmsg.txt:
New error codes/messages for CURSORs
sql/share/ukrainian/errmsg.txt:
New error codes/messages for CURSORs
sql/sp_head.cc:
Added cursor support.
Also fixed problems with item_lists, where pointers and ref_pointer_arrays.
sql/sp_head.h:
Added cursor support
sql/sp_pcontext.cc:
Added cursor support
sql/sp_pcontext.h:
Added cursor support
sql/sp_rcontext.cc:
Added cursor support, in particular the new sp_cursor class.
sql/sp_rcontext.h:
Added cursor support, in particular the new sp_cursor class.
sql/sql_lex.h:
We sometimes need to copy item_lists in LEX when executing substatements in SPs
sql/sql_yacc.yy:
Added minimal cursor support (not the full syntax yet).
prepared statements in embedded library
include/mysql_com.h:
to make net_flush() working in expressions
libmysqld/lib_sql.cc:
some bugs fixed
libmysqld/libmysqld.c:
we already have the define in client_settings.h
sql/protocol.cc:
net_store_data should work that way in Protocol_prep (embedded server)
sql/protocol.h:
definition for net_store_data
sql/sql_prepare.cc:
now it works in embedded library
prepared statements in embedded library
include/mysql.h:
Another 'virtual' method
libmysql/client_settings.h:
client implementation declared
libmysql/libmysql.c:
mysql_execute edited to work with embedded implementation
libmysqld/lib_sql.cc:
one error fixed (we do need parameter's buffer in embedded library)
embedded recordset transfer methods implementations added
sql-common/client.c:
method added to the table
sql/client_settings.h:
no prepared statements in mimiclient
sql/mysql_priv.h:
these functions became global
sql/protocol.cc:
the stub added
sql/protocol.h:
had to change Protocol's interface for embedded library
sql/sql_class.h:
i changed this only for embedded case, but i think it's better to do the
same for remote server also
sql/sql_prepare.cc:
parts of code #ifndef-ed
Now special 1-byte packet is used for request of old password
Fixed bug with --skip-grant-tables and acl_getroot
include/mysql.h:
removed scramble_323 member as now scramble_323 function does not count
on trailing zero for scramble
include/mysql_com.h:
updated declarations
libmysql/libmysql.c:
now server sends special 1-byte packet instead of old scramble
to re-request password.
mysql->scramble_323 replaced with mysql->scramble
sql-common/client.c:
now server sends special 1-byte packet instead of old scramble
to re-request password.
mysql->scramble_323 replaces with mysql->scramble
sql/password.c:
comments beautified
hash_password now accepts password length
sql/protocol.cc:
added send_old_password_request function
sql/protocol.h:
added send_old_password_request function
sql/sql_acl.cc:
style fixes, bug with --skip-grant-tables and acl_getroot
fixed
sql/sql_class.h:
thd->scramble_323 removed as now
old functions accept not null-terminated scrambles
sql/sql_crypt.cc:
fixed with new hash_password proto
sql/sql_parse.cc:
style fixes
few comments added
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.
libmysql/libmysql.c:
Jump over reserved bits in the binary protocol
libmysqld/Makefile.am:
rename of net_pkg.cc to protocol.cc
mysql-test/r/case.result:
Fixed previously wrong test
mysql-test/r/cast.result:
Fixed previously wrong test
sql/Makefile.am:
Rename of net_pkg.cc to protocol.cc
sql/field.cc:
Binary protocol
Added key handling functions for new VARCHAR type
sql/field.h:
New protocol
sql/ha_berkeley.cc:
New protocol
sql/ha_berkeley.h:
New protocol
sql/ha_innodb.cc:
New protocol
sql/ha_myisam.cc:
New protocol
sql/item.cc:
New protocol
sql/item.h:
New protocol
sql/item_func.cc:
Removed old code from 3.23
sql/item_func.h:
Set cached_result_type as it was previosly used before set
sql/item_subselect.cc:
Standard make_field() is now good enough
sql/item_subselect.h:
Use default make_field()
sql/item_sum.cc:
Clean up Item_sum::make_field()
sql/item_sum.h:
Use standard make_field()
sql/item_timefunc.h:
return correct types for casts()
Use standard make_field()
sql/log_event.cc:
New protocol
sql/log_event.h:
New protocol
sql/mysql_priv.h:
Move things to protocol.h
sql/opt_range.cc:
Indentation cleanups + small optimization
sql/procedure.h:
Use MYSQL_TYPE instead of FIELD_TYPE
sql/protocol.cc:
Class for sending data from server to client.
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
sql/repl_failsafe.cc:
New protocol
sql/slave.cc:
New protocol
sql/sql_acl.cc:
New protocol
sql/sql_base.cc:
Move send_fields() to protocol.cc
sql/sql_class.cc:
New protocol
sql/sql_class.h:
New protocol
sql/sql_db.cc:
New protocol
sql/sql_error.cc:
New protocol
sql/sql_handler.cc:
New protocol
sql/sql_help.cc:
New protocol
sql/sql_parse.cc:
Remove wrong assert (variable was not initalized at this point)
sql/sql_prepare.cc:
New protocol
sql/sql_repl.cc:
New protocol
sql/sql_select.cc:
New protocol
sql/sql_show.cc:
New protocol
sql/sql_string.h:
New functions used by the protocol functions
sql/sql_table.cc:
New protocol
sql/structs.h:
Make second_part ulong to prepare for ANSI sub-seconds
sql/time.cc:
New convert function needed by the new protocol functions