For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed;
- password.c: new functions were implemented, old rolled back to 4.0 state
- server code was rewritten to use new authorization algorithm (check_user(), change
user, and other stuff in sql/sql_parse.cc)
- client code was rewritten to use new authorization algorithm
(mysql_real_connect, myslq_authenticate in sql-common/client.c)
- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)
- mysqladmin.c was fixed to work correctly with new passwords
Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.
BitKeeper/etc/ignore:
Added start_mysqld.sh mysys/main.cc to the ignore list
client/mysqladmin.c:
fixed with new password api
include/mysql.h:
So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary.
gotta be fixed
include/mysql_com.h:
new constants and password.c api changes
libmysql/libmysql.c:
mysql_change_user rewritten to work with new password api
scripts/mysql_create_system_tables.sh:
fixed 'Password' column length to 41
scripts/mysql_fix_privilege_tables.sql:
fixed 'Password' column length to 41
sql-common/client.c:
mysql_real_connect rewritten to support new handshake procedure
sql/item_strfunc.cc:
Item_func_password and Item_func_old_password rewritten with new password api
sql/item_strfunc.h:
bit commented, numbers replaced with #defined constants
sql/mysql_priv.h:
removed unnecessary declaration as now all constants defined is in mysql_com.h
sql/mysqld.cc:
scramble initialization moved to sql_parce.cc:check_connection
sql/password.c:
All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes.
Names for 4.0 functions were suffixed with '_323'
Functions for new handshake were added.
sql/slave.cc:
Fixed to new constant; Bug #766 remains to be fixed
sql/slave.h:
fixed to new constant; Buf #766 remains to be fixed
sql/sql_acl.cc:
rewritten to support new passwords (41 byte-long) and password api
sql/sql_acl.h:
ditto
sql/sql_class.cc:
initialization for new members added
sql/sql_class.h:
same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old
sql/sql_parse.cc:
check_connections was renamed to check_connection as this name reflects better what this function does
authorization part of check_connection was rewritten
check_user was rewritten with new password and acl api
new function 'authenticate', which optionally re-request scramble from client was added
fixed some typos
COM_CHANGE_USER piece of dipsatch_command() was rewritten
sql/sql_repl.h:
HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH
bug #766 remains
sql/sql_yacc.yy:
Two-argument form of PASSWORD() was removed
PASSWORD() function was fixed with new password api.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed;
- password.c: new functions were implemented, old rolled back to 4.0 state
- server code was rewritten to use new authorization algorithm (check_user(), change
user, and other stuff in sql/sql_parse.cc)
- client code was rewritten to use new authorization algorithm
(mysql_real_connect, myslq_authenticate in sql-common/client.c)
- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)
- mysqladmin.c was fixed to work correctly with new passwords
Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.
mysql-test/r/insert_select.result:
Fixed results
mysql-test/r/join_outer.result:
New test case for inner join table dependency
mysql-test/t/insert_select.test:
Remove not used drop tables.
Fixed table names
mysql-test/t/join_outer.test:
New test case for inner join table dependency
sql/slave.cc:
Simple optimizations
Updated VC++ files
VC++Files/client/mysql.dsp:
Update of VC++ files
VC++Files/client/mysqlclient.dsp:
Update of VC++ files
VC++Files/libmysqld/examples/test_libmysqld.dsp:
Update of VC++ files
VC++Files/libmysqld/libmysqld.def:
Update of VC++ files
VC++Files/libmysqld/libmysqld.dsp:
Update of VC++ files
VC++Files/myisam/myisam.dsp:
Update of VC++ files
VC++Files/mysql.dsw:
Update of VC++ files
VC++Files/sql/mysqld.dsp:
Update of VC++ files
include/mysql.h:
Add missing client functions to embedded server
libmysql/libmysql.def:
sort functions to enable comparison with libmysqld.def
libmysqld/libmysqld.c:
Add missing client functions to embedded server
libmysqld/libmysqld.def:
sort functions to enable comparison with libmysql.def
Added missing functions
myisam/mi_preload.c:
Fixed compiler warning.
Small code cleanup
scripts/make_win_src_distribution.sh:
Fixed typo
Don't run zip in verbose mode
scripts/mysql_create_system_tables.sh:
Change so that localhost has full access (to make this like 4.0)
scripts/mysql_fix_privilege_tables.sh:
Allow on to run this from the source distribution
sql-common/client.c:
Fixed memory leak
sql/item_sum.cc:
Removed compiler warning
sql/slave.cc:
Cleanup
sql/sql_client.cc:
Portability fix
sql/sql_help.cc:
Fixed memory leak
mysql-test/r/innodb.result:
Fixed test case after innodb optimize->analyze fix
mysys/mf_pack.c:
Added comments
sql/log_event.cc:
Fixed usage of fn_format()
sql/slave.cc:
Indentation fixes and comments cleanup
sql/sql_repl.cc:
Comment cleanup
mysql-test/r/rpl_rotate_logs.result:
result update
mysql-test/t/rpl_rotate_logs.test:
comments and test update with the error code
sql/slave.cc:
A DBUG_PRINT
sql/sql_repl.cc:
Use ER_MASTER_INFO instead of custom message and zero error code (which display
badly).
More messages.
Testcase for bug 651.
client/mysqltest.c:
More explicit error message if MASTER_POS_WAIT() returns NULL.
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/r/rpl_master_pos_wait.result:
result update
mysql-test/t/rpl000001.test:
sync_with_master (=MASTER_POS_WAIT()) was called when we could expect the SQL slave thread had stopped.
As I yesterday changed code so that "SQL thread stops => MASTER_POS_WAIT() returns NULL immediately" (bugfix),
sync_with_master received NULL (on build.mysql.com, not on my machine; this is a question of milliseconds,
if the slave server will process MASTER_POS_WAIT() before or after the slave SQL thread has stopped), and
in mysqltest.c, sync_with_master complained that it could not sync.
So I just remove this sync_with_master, which does not make sense anymore: we just wait for the slave SQL
thread to stop.
mysql-test/t/rpl_loaddata.test:
Discovered we had wait_for_slave_to_stop, so used it as it automates things.
mysql-test/t/rpl_master_pos_wait.test:
Discovered we had 'send' to send a query without waiting for the resultn so could had a testcase for bug 651.
Shorter timeouts as there is no risk the position is reached.
sql/slave.cc:
A longer DBUG_PRINT.
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting for relay log space.
Reset ignore_log_space_limit to 0 when the SQL thread terminates.
mysql-test/r/rpl_relayspace.result:
result update
mysql-test/t/rpl_relayspace-slave.opt:
smaller relay_log_space_limit to speed up things.
mysql-test/t/rpl_relayspace.test:
Less queries in the test, to make it simpler.
Testcase if the IO thread blocked in wait_for_relay_log_space
accepts to stop when STOP SLAVE.
sql/slave.cc:
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting on cond (waiting for relay log space).
Reset ignore_log_space_limit to 0 when the SQL thread terminates.
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting for relay log space.
Reset ignore_log_space_limit to 0 when the SQL thread terminates.
Could not add a testcase for this: if the test goes into a MASTER_POS_WAIT, it waits
until this terminates (even doing "connection other_con" to launch "stop slave" is blocked).
- In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
- Some DBUG info for this bugfix.
sql/slave.cc:
Fix for bug 651: now a dying SQL slave threads wakes up any waiting MASTER_POS_WAIT().
In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
Some DBUG info.
Could not add a testcase for this: if the test goes into a MASTER_POS_WAIT, it waits
until this terminates (even doing "connection other_con" to launch "stop slave" is blocked).
- In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
- Some DBUG info for this bugfix.
into narttu.mysql.fi:/my/mysql-4.1
client/mysql.cc:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
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
- Comments for future devs.
- Start_log_event::exec_event() : when we hit it, do a rollback.
- We don't need LOG_EVENT_FORCED_ROTATE_F.
- Stop_log_event::exec_event() : when we hit it, we needn't clean anything.
- Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
- We don't need Stop events in the relay log.
- Now filtering of server id is done in the I/O thread first.
sql/log.cc:
We don't need LOG_EVENT_FORCED_ROTATE_F
sql/log_event.cc:
- Comments for future devs.
- Start_log_event::exec_event() : when we hit it, do a rollback. If the SQL
thread was inside a transaction (for example, the master died while writing
to the binlog, so did not commit (because we write to the binlog before committing),
so will rollback), it's sensible to rollback. If we're not in a transaction,
rollback will not hurt (it will do nothing).
- We don't need LOG_EVENT_FORCED_ROTATE_F.
- Stop_log_event::exec_event() : when we hit it, we needn't clean anything, because
each threads has already written some cleaning statements (DROP TEMPORARY TABLE,
DO RELEASE_LOCK); we still clean in Start_log_event::exec_event() (if 4.x).
sql/log_event.h:
- Comments for future devs.
- Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
sql/slave.cc:
- We don't need Stop events in the relay log (see changeset's description about
log_event.cc). So we can make event queuing (writing to the relay log) simpler.
- Something that was marked TODO: now filtering of server id (if the server id
of this event is the same as mine ignore it) is done in the I/O thread if
the master is 4.x (it still also done in the SQL thread whatever the version of
the master is, for safe upgrades). This saves disk space.
sql/slave.h:
We don't need master_info.ignore_stop_event anymore, as we don't write Stop_event
to the relay log anymore.
- Comments for future devs.
- Start_log_event::exec_event() : when we hit it, do a rollback.
- We don't need LOG_EVENT_FORCED_ROTATE_F.
- Stop_log_event::exec_event() : when we hit it, we needn't clean anything.
- Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
- We don't need Stop events in the relay log.
- Now filtering of server id is done in the I/O thread first.
support issue with an unclear message which can have N reasons for appearing.
This should help us know at which point it failed, and get the errno when
my_open was involved (as the reason for the unclear message is often a
permission problem).
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this,
rpl_loaddata.test, which is expected to generate an error in last_error, influenced
rpl_log_pos.test).
A small test update.
Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages
which are printed while the master restarts and the slave attempts/manages to
connect to it and sends it nonsense binlog requests.
mysql-test/mysql-test-run.sh:
Before running a test, stop slave threads if they exist (if they don't
the script goes on fine). This also works fine with the manager.
Before this change, when the master was stopped/restarted (which happened before
the slave server was stopped/restarted), the slave threads
noticed the stop (so printed an error message in slave.err), then managed to
reconnect (to the new master, the one that is running for the _next_ test),
and this reconnection had time to produce error messages (because, for example,
the binlog the slave thread was asking had been deleted) before the slave server
was killed. This change reduces by 10% (40 lines) slave.err in replication tests.
mysql-test/r/rpl000018.result:
Result update.
mysql-test/t/rpl000018.test:
This test does "show master logs" so should do "reset master" instead of
relying on the previous tests.
sql/slave.cc:
More error messages.
sql/sql_repl.cc:
More error messages.
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS.
support issue with an unclear message which can have N reasons for appearing.
This should help us know at which point it failed, and get the errno when
my_open was involved (as the reason for the unclear message is often a
permission problem).
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this,
rpl_loaddata.test, which is expected to generate an error in last_error, influenced
rpl_log_pos.test).
A small test update.
Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages
which are printed while the master restarts and the slave attempts/manages to
connect to it and sends it nonsense binlog requests.
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
a Start_log_event written at server startup and one written at FLUSH LOGS, so we
have a way to know if the slave must drop old temp tables or not.
Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
which had 'bool old_format' as an argument have their prototypes unchanged, because
the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
where we want to distinguish between the 3 possible enum values.
sql/log_event.cc:
Fix for bug 254 :
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one), to know if the slave must drop old temp tables or not.
sql/slave.cc:
Fix for bug 254 : mi->old_format is now enum.
An unrelated comment.
sql/slave.h:
fix for bug 254 : mi->old_format is now enum.
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
a Start_log_event written at server startup and one written at FLUSH LOGS, so we
have a way to know if the slave must drop old temp tables or not.
Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
which had 'bool old_format' as an argument have their prototypes unchanged, because
the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
where we want to distinguish between the 3 possible enum values.
BitKeeper/deleted/.del-internals.texi~62b6f580a41c2a43:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
sql/handler.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/config-win.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_version.h.in:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysys/default.c:
Auto merged
sql/Makefile.am:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
BUILD/SETUP.sh:
Auto merged
BitKeeper/deleted/.del-internals.texi~62b6f580a41c2a43:
Auto merged
client/mysqltest.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/errors.result:
Auto merged
mysql-test/r/loaddata.result:
Auto merged
mysql-test/r/rpl_insert_id.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/std_data/rpl_loaddata2.dat:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/raid.test:
Auto merged
mysql-test/t/rpl_insert_id.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/time.cc:
Auto merged
configure.in:
No changes
libmysqld/lib_sql.cc:
No changes
Plus a changeset which I had committed but forgot to push (and this changeset is lost on
another computer, so I recreate it here). This changeset is "user-friendly SHOW BINLOG EVENTS
and CHANGE MASTER TO when log positions < 4 are used.
sql/slave.cc:
fix for bug 576 (DBUG_ASSERT failure when using CHANGE MASTER TO RELAY_LOG_POS=4).
sql/sql_repl.cc:
User-friendly SHOW BINLOG EVENTS:
SHOW BINLOG EVENTS FROM 0: currently one gets
MASTER> show binlog events from 0;
ERROR 1220: Error when executing command SHOW BINLOG EVENTS: Invalid log position
so we silently convert <4 to 4.
sql/sql_yacc.yy:
User-friendly CHANGE MASTER TO:
presently when one does CHANGE MASTER TO MASTER_LOG_POS=0 he gets
030425 10:12:41 Slave I/O thread: connected to master 'root@localhost:3306', r
eplication started in log 'gbichot-bin.013' at position 151
030425 10:12:41 Error reading packet from server: Client requested master to st
art replication from impossible position (server_errno=1236)
030425 10:12:41 Got fatal error 1236: 'Client requested master to start replica
tion from impossible position' from master when reading data from binary log
030425 10:12:41 Slave I/O thread exiting, read up to log 'gbichot-bin.013', pos
ition 151
while she/he probably just wanted to start at the beginning of the
binlog, which is 4. So we silently convert <4 to 4 in sql_yacc.yy
(i.e. in the slave code; fortunately all versions have the same
BIN_LOG_HEADER_SIZE=4 and we should not change this). See comments
for an explaination of why we have to do this in sql_yacc.yy,
not in sql_repl.cc.
Same thing for CHANGE MASTER TO RELAY_LOG_POS.
sql/unireg.h:
warning comment
Plus a changeset which I had committed but forgot to push (and this changeset is lost on
another computer, so I recreate it here). This changeset is "user-friendly SHOW BINLOG EVENTS
and CHANGE MASTER TO when log positions < 4 are used.
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
not the master's binlog) (SW 1571).
sql/slave.cc:
Clearer error message (in the customer's case, the relay log was corrupted,
not the master's binlog).
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
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.
libmysqld/Makefile.am:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/slave.cc:
Auto merged
libmysql/libmysql.c:
Resolved conflicts
sql/mini_client.cc:
resolved conflicts
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted