handling of init-file option added to embedded library
main problem was killing of output (resulting recordsets etc)
i added checks for empty output in Protocol:: methods
better solution could be special Protocol_nul class to redirect
results to nowhere
WL#604 Privileges in embedded library
code added to check privileges in embedded library
NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
access-checking parts. Actually we now can exclude these parts from
standalone server as well. Do we need it?
Access checks are disabled in embedded server by default. One should
edit libmysqld/Makefile manually to get this working.
We definitely need the separate configure for embedded server
null_string wasn't known in libmysqld/lib_sql.cc, that caused compiler's error
i put the declaration of the null_string in mysql_priv.h and renamed it
to my_null_string to reduce the probability of name's intersections
embedded library
some dirty places cleaned:
uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library
embedded library
I decided to get rid of #define mysql_some_function in mysql.h
It puzzles users and makes problems with dynamic libraries
Finally, there are only two functions left, that are covered with
the #define-s and it won't hurt performance at all
Prepared statements in embedded server
Several changes in library code with two goals:
to make mysql_prepare_stmt working in embedded server
to get rid of #define mysql_interface_func mysql->methods->interface_func
in user's interface
mysql_fetch_length fixed for embedded library. Now data length is stored
before the data. Pointers in row still points to the data so you have to
get *(uint*)(data_ptr - sizeof(uint)) to get data length
client capabilities included into libmysqld
some API methods became "virtual"
lots of duplicated code removed
IMHO all the above made library's code way more pleasant to look at, didn't it?
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86