additional changes (after discussion with Monty)
libmysql/libmysql.c:
it's good to check my_thread_init() result as well
sql/client_settings.h:
0 is more relevant here
now mysql_server_init is called from mysql_init with fake parameters
mysql_once_init code included to mysql_server_init.
embedded-specific initialization is in init_embedded_server function
include/errmsg.h:
this error won't happen
include/mysql.h:
declarations removed
libmysql/client_settings.h:
declaration of init_embedded_server/end_embedded_server added
libmysql/errmsg.c:
this error won't happen
libmysql/libmysql.c:
mysql_once_init -> mysql_server_init transformations
libmysqld/embedded_priv.h:
declaration deleted
libmysqld/lib_sql.cc:
mysql_server_init -> init_embedded_server
mysql_server_end -> end_embedded_server
libmysqld/libmysqld.c:
check for server_inited not needed now
sql-common/client.c:
mysql_server_init now called from mysql_init
sql/client_settings.h:
fake mysql_server_init for server code
sql/net_serv.cc:
we need MYSQL_CLIENT defined in embedded server
sql/sql_client.cc:
not needed now
Some intersections with Monty encountered
libmysql/client_settings.h:
We don't need the trick with macroses since Monty moved cli_mysql_use_result
into sql-common/client.c
libmysql/libmysql.c:
mysql_use_result moved in sql-common/client.c
sql-common/client.c:
code simplified with the moving of mysql_use_result here
sql/client_settings.h:
we don't need this #define anymore
sql/sql_client.cc:
this function was moved to sql-common/pack.c by me
i think the pack.c is the better place for it
merged conflicts about my previous commit
it seems there are some errors left - gonna check...
BitKeeper/etc/logging_ok:
auto-union
client/mysqltest.c:
Auto merged
include/mysql_com.h:
Auto merged
include/sql_common.h:
Auto merged
include/mysql.h:
conflicts merged
libmysql/client_settings.h:
conflicts merged
libmysql/libmysql.c:
conflicts merged
sql-common/client.c:
conflicts merged
sql/client_settings.h:
conflicts merged
sql/protocol.cc:
conflict merged
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?
BitKeeper/deleted/.del-lib_vio.c~d779731a1e391220:
Delete: libmysqld/lib_vio.c
BitKeeper/etc/ignore:
Added libmysqld/client.c libmysqld/client_settings.h libmysqld/libmysql.c libmysqld/pack.c to the ignore list
client/mysqltest.c:
we don't need this now
include/mysql.h:
MYSQL and related structures unified
four methods made "virtual"
relative wrappers added
include/mysql_com.h:
todo added
include/mysql_embed.h:
now we include implementations of Vio structure in libmysqld
include/sql_common.h:
declarations changed
include/violite.h:
implementation of Vio included in libmysqld
libmysql/client_settings.h:
changes to make this working with both client and embedded
libmysql/libmysql.c:
global variables and my_net_local_init moved to sql-common/pack.c
libmysqld/Makefile.am:
libmysql.c, client.c, pack.c symlinked and added to sources
lib_vio.c removed
libmysqld/examples/Makefile.am:
now we need CLIENT_LIBS here
libmysqld/lib_sql.cc:
code duplications removed
emb_advanced_command was made from simple_command
libmysqld/libmysqld.c:
duplicated code removed
sql-common/client.c:
code trimmed with new model of calling
sql-common/pack.c:
some code moved here from libmysql.c and protocol.cc
sql/client_settings.h:
we don't need mysql_use_result for mini_client
sql/net_serv.cc:
file included in embedded server
sql/protocol.cc:
code moved to sql-common/pack.c
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect()
Changed mysql_port and mysql_unix_port to mysqld_xxxx
client/mysql.cc:
Removed valgrind & compiler warnings
client/sql_string.h:
Fix to remove valgrind warnings
include/mysql.h:
Added read_timeout and write_timeout to mysql options struct.
This is to be used for slave when connection to master.
code cleanup
include/mysql_com.h:
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS
include/sql_common.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
include/sql_state.h:
Removed default states
libmysql/client_settings.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
libmysql/libmysql.c:
Cleanup after split of libmysql.c to client.c and libmysql.c
mysql-test/r/type_blob.result:
Update results after someone updated error messages without running tests
mysys/charset.c:
More debug information
mysys/errors.c:
Fixed wrong error message
sql-common/client.c:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/Makefile.am:
Added sql_client.cc
sql/client_settings.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/log.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysql_priv.h:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysqld.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/protocol.cc:
Fix for SQLSTATE_LENGTH
Moved function to sql_client.c
sql/repl_failsafe.cc:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/set_var.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/slave.cc:
Cleanup after split of libmysql.c to client.c and libmysql.c
VC++Files/libmysqld/libmysqld.dsp:
Remove the old files from Embedded library
sql/slave.h:
Fix for client.c - slave_net_timeout
sql-common/client.c:
Fix warning
splittiln common client's parts
include/sql_common.h:
superfluous #ifdef-s removed
libmysql/client_settings.h:
superfluous #ifdef-s removed
libmysql/libmysql.c:
some litter removed
libmysqld/lib_sql.cc:
here we had wrong parameters
mysys/default.c:
this is not needed anymore - calling code fixed
sql-common/client.c:
code trimmed and simplified
sql/client_settings.h:
code trimmed
sql/repl_failsafe.cc:
option's initialization added
sql/slave.cc:
option's initialization added
Here is another pack of changes about gathering common client code in
sql-common/client.c.
Now i symlink the client.c from sql/ and libmysql/. These directories
have client_settings.h files to be included to client.c. It contains
defines and declarations to compile client.c in appropriate manner.
Also i've added include/sql_common.h, containing declarations of what
is exported from client.c
I removed as many #ifdef-s from client.c as i dared to. I think it's better
push it with some extra #ifdef-s now (of course, if everythihg besides it is
ok) so other people can check the code.
Makefile.am:
symlinking of sql-common/client.c was added
include/mysql.h:
MYSQL_CLIENT define moved here from libmysql/Makefile
libmysql/Makefile.am:
../libmysql/client_settings.h added to the list of necessary h-files
libmysql/Makefile.shared:
client.lo added to the list of objects
libmysql/libmysql.c:
a lot of changes about separating code between libmysql.c and client.c
mysys/default.c:
changed to keep compiler happy
sql-common/client.c:
a lot of changes about code separating
sql/Makefile.am:
mini_client.h has to be removed
sql/repl_failsafe.cc:
mysql_real_connect prototype was unified, so we've got to set connection timeout separately
sql/slave.cc:
trimming code to the changed function's prototypes
sql/sql_repl.cc:
mini_client isn't needed anymore