Nothing really to see here. Updated comments in code.
More comments are probably needed, but isn't that always the case?
client/mysqlslap.c:
Updated docs.
Removed complicated malloc calls with a single malloc. Cleaned up the way statements were be free'd (aka its now a function instead of a bunch of copy/paste).
Removed older and not so accurate timediff() call. Cleaned up call to parse out concurrency.
mysql-test/t/mysqlslap.test:
Edited the tests to make sure we check default concurrency (we can't test concurrency normally since in theory the results could be random).
You will noticed that the result was not changed.
Now does averaging when running iterations.
Realligned a bunch of code and continued to remove global variables.
Added CSV output along with printable.
Structures are now provided for print options so adding XML, HTML, ... should now be trivial.
client/client_priv.h:
Simplified options
client/mysqlslap.c:
Giant cleanup.
We now do single pass testing, not dual pass. The dual pass made no sense really especially when you started adding in more stats.
Modified the testing loop so that it should not be possible to have both a fork() and thread version (which will make it easier to port to windows should someone want to).
mysql-test/r/mysqlslap.result:
New results
mysql-test/t/mysqlslap.test:
Adjusting for new options, and removed "archive" from the tests just in case archive is not compiled.
include/my_bitmap.h:
Protect incluce of my_pthread.h with #ifdef THREAD, to make it work in non-thread environment.
sql/rpl_tblmap.h:
Remove unused NO_TABLE enum which broke compilation on picky compilers (trying to put ULONG_MAX into an int...)
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
set non-update pk pre data to UNDEFINED (previously unspecified)
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
fix detached trigger opType
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
fix detached trigger opType
storage/ndb/test/ndbapi/test_event_merge.cpp:
exact verif post/pre data
is the same in the plugin and in the mysqld.
store the size in the plugin.
To simplify access to plugin's st_mysql_plugin, copy it on open and
convert to the latest version, so that the rest of the code would
not need to care about versions.
include/plugin.h:
plugin versioning: we cannot assume that sizeof(st_mysql_plugin)
is the same in the plugin and in the mysqld.
store the size in the plugin.
which makes it possible to run RENAME TABLE
on old tables when upgrading from 5.0.
TODO: A stored procedure to rename all tables and
databases with old name format into new format,
it will simplify upgrade.
sql_table.cc:
Making old tables seen with "#mysql50#" prefix.
Adding warning into .err log when an old name is found.
sql_show.cc:
Skip non-directories before filename_to_tablename
call, to avoid unnecessary warnings.
strfunc.cc:
Adding "error" argument to strconvert()
mysql_priv.h:
Adding "error" agrument to strconvert()
sql/mysql_priv.h:
Adding "error" agrument to strconvert()
sql/strfunc.cc:
Adding "error" argument to strconvert()
sql/sql_show.cc:
Skip non-directories before filename_to_tablename
call, to avoid warning.
sql/sql_table.cc:
Making old tables seen with "#mysql50#" prefix,
which makes it possible to run RENAME TABLE
on old tables.
Adding warning into .err log when an old name is found.
- Encoding itself, implemented as a charset
"filename". Originally planned to use '.'
as an escape character, but now changed to '@'
for two reasons: "ls" does not return
file names starting with '.' considering them
as a kind of hidden files; some platforms
do not allow several dots in a file name.
- replacing many calls of my_snprintf() and
strnxmov() to the new build_table_filename().
- Adding MY_APPEND_EXT mysys flag, to append
an extention rather that replace it.
- Replacing all numeric constants in fn_format
flag arguments to their mysys definitions, e.g.
MY_UNPACK_FILENAME,
- Predictability in several function/methods:
when a table name can appear with or withot .frm
extension. Some functions/methods were changed
so accept names strictly with .frm, other - strictly
without .frm extensions. Several DBUG_ASSERTs were
added to check whether an extension is passed.
Many files:
table name to file name encoding
mysql_priv.h:
Prototypes for new table name encoding tools.
ctype-utf8.c:
Implementing "filename" charset for
table name to file name encoding.
row0mysql.c:
Fixing table name prefix.
mf_format.c:
Adding MY_APPEND_EXT processing.
Many files:
Fixing tests.
my_sys.h:
Adding new flag to append rather than replace an extension.
m_ctype.h:
Adding "filename" charset definition.
include/m_ctype.h:
Adding "filename" charset definition.
include/my_sys.h:
Adding new flag to append rather than replace an extension.
mysql-test/t/alter_table.test:
Fixing tests.
mysql-test/t/create.test:
Fixing tests.
mysql-test/t/show_check.test:
Fixing tests.
mysql-test/r/alter_table.result:
Fixing tests.
mysql-test/r/create.result:
Fixing tests.
mysql-test/r/mysqldump.result:
Fixing tests.
mysys/mf_format.c:
Adding MY_APPEND_EXT processing.
sql/discover.cc:
table name to file name encoding
sql/ha_berkeley.cc:
table name to file name encoding
sql/ha_innodb.cc:
table name to file name encoding
sql/ha_myisam.cc:
table name to file name encoding
sql/ha_myisammrg.cc:
table name to file name encoding
sql/ha_ndbcluster.cc:
table name to file name encoding
sql/ha_partition.cc:
table name to file name encoding
sql/handler.cc:
table name to file name encoding.
sql/init.cc:
table name to file name encoding
sql/mysqld.cc:
table name to file name encoding
sql/parse_file.cc:
table name to file name encoding
sql/sql_acl.cc:
table name to file name encoding
sql/sql_base.cc:
table name to file name encoding
sql/sql_db.cc:
table name to file name encoding
sql/sql_delete.cc:
table name to file name encoding
sql/sql_rename.cc:
table name to file name encoding
sql/sql_show.cc:
table name to file name encoding
sql/sql_table.cc:
table name to file name encoding
sql/sql_trigger.cc:
table name to file name encoding
sql/sql_view.cc:
table name to file name encoding
sql/strfunc.cc:
table name to file name encoding
sql/table.cc:
table name to file name encoding
sql/unireg.cc:
table name to file name encoding
storage/innobase/row/row0mysql.c:
Fixing table name prefix.
,
storage/myisam/mi_create.c:
table name to file name encoding
storage/myisam/mi_delete_table.c:
table name to file name encoding
storage/myisam/mi_open.c:
table name to file name encoding
storage/myisam/mi_rename.c:
table name to file name encoding
strings/ctype-utf8.c:
Implementing "filename" charset for
table name to file name encoding.
sql/mysql_priv.h:
Prototypes for new table name encoding tools.
storage/myisammrg/myrg_create.c:
table name to file name encoding
storage/myisammrg/myrg_open.c:
table name to file name encoding
sql/log_event.cc:
some casts to make Visual 2005 happy
sql/log_event.h:
actually return a bool expression instead of assuming a pointer
expression is boolean
sql/sql_class.cc:
some casts to make Visual 2005 happy
sql/handler.cc:
actually return 0 as the function docs say
t4 was not dropped, which made the "backup" test fail
if one of the previous tests using t4 (e.g. "archive") failed.
mysql-test/t/backup.test:
t4 was not dropped.
mysql-test/r/backup.result:
t4 was not dropped.
client/mysqlslap.c:
compilation errors
include/plugin.h:
comments corrected
sql/sql_plugin.cc:
LEX_STRING instead of char*,
MYSQL_HANDLERTON_INTERFACE_VERSION instead of 0x0000
sql/sql_plugin.h:
LEX_STRING instead of char*
sql/sql_show.cc:
LEX_STRING instead of char*.
STRING_WITH_LEN works only on string literals, not on expressions
Fixed that --plugin_dir option doesn't work.
Fixed that parser name is not restored correctly from the table.
sql/mysqld.cc:
Overwrite opt_plugin_dir_ptr _after_ loading the path.
sql/table.cc:
Partition saves at least 5 bytes in .frm.
into mysql.com:/home/mydev/mysql-5.1-bug15591
mysql-test/mysql-test-run.sh:
Auto merged
sql/mysqld.cc:
Bug#15591 - Occasional test suite abort due to port in use
Manual merge.
Added --slave option if you are trying to syncronize around one server using the lock-directory option plus NFS.
Added options to allow you to run several concurrency runs in one call. aka --concurrency="1, 8, 64, 128"
Time collection is now done in a finer grain manner, and is linked to the sync call (doesn't count the cost of the blocked processes that are setup to run).
client/Makefile.am:
Adding my_lock compile bits so we can have locking.
client/client_priv.h:
New options for lock directory, number of query, number of rows and slave status.
client/mysqlslap.c:
Updates for lock-directory.
Simplified fork() code that is called. It should be possible to build now a version that used threads if someone wanted to port to windows).
You can now specify several concurrency runs in one pass of the code.
If the server is started with --port-open-timeout=#
retry to bind the TCP port if it fails with EADDRINUSE.
Use the new option in mysql-test-run.sh.
mysql-test/mysql-test-run.sh:
Bug#15591 Occasional test suite abort due to port in use
Use the new option --port-open-timeout=# for server starts.
This should fix occasionally late closed TCP ports.
sql/mysqld.cc:
Bug#15591 Occasional test suite abort due to port in use
If the server is started with --port-open-timeout=#
retry to bind the TCP port if it fails with EADDRINUSE.
into moonbone.local:/work/14583-bug-5.1-new-mysql
BitKeeper/deleted/.del-ha_blackhole.cc~727c69ef7846623a:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
strings/ctype-ucs2.c:
Auto merged
- Update patch for 5.0
- Added common function to be called when 'acl_users' has been modified
mysql-test/r/grant2.result:
Use "create user" to avoid warnings about missing fields
mysql-test/t/grant2.test:
Use "create user" to avoid warnings about missing fields
sql/sql_acl.cc:
Add new function "rebuild_check_host" that is to be called when the 'acl_users'
list has changed.
Call function "rebuild_check_host" from mysql_drop_user, mysql_rename_user and acl_insert_user.
Use "acl_user->host.hostname" as key when searching the acl_check_hosts in init_check_host.