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.
client/mysqltest.c:
Display the error message along with error number when query fails with wrong expected error.
mysql-test/r/mysqltest.result:
Update test results
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.
Manual merge.
Makefile.am:
Added new 'plugin' subdir.
configure.in:
Added plugin related makefiles.
include/my_base.h:
Added HA_OPEN_FROM_SQL_LAYER flag - indicates that a table was openned from the sql layer.
Added HA_OPTION_RELIES_ON_SQL_LAYER flag - indicates that a table relies on the sql layer.
Added HA_CREATE_RELIES_ON_SQL_LAYER flag - indicates that a table must be created with
HA_OPTION_RELIES_ON_SQL_LAYER flag.
include/myisam.h:
Distinct fulltext parser number added.
include/plugin.h:
Revise comment.
sql/ha_myisam.cc:
Pass HA_OPEN_FROM_SQL_LAYER flag to mi_open().
Pass HA_CREATE_RELIES_ON_SQL_LAYER flag to mi_create().
sql/sql_plugin.cc:
Reuse "unused" dynamic array elements.
A check for plugin info interface version.
sql/sql_plugin.h:
Added plugin_type_names[] - string plugin type names.
sql/sql_show.cc:
Use plugin_type_names array instead of switch to find literal parser name representation.
sql/sql_table.cc:
Fixed that ALTER TABLE ... ADD INDEX loses WITH PARSER info.
storage/myisam/ft_boolean_search.c:
Call fulltext parser init() function, pass MYSQL_FTPARSER_PARAM, returned by
ftparser_call_initializer(), to parser->parse().
storage/myisam/ft_nlq_search.c:
Call fulltext parser init() function, pass MYSQL_FTPARSER_PARAM, returned by
ftparser_call_initializer(), to parser->parse().
storage/myisam/ft_parser.c:
Added two functions:
ftparser_call_initializer() - calls parser->init() function if specified and parser is not yet
initialized. Returns MYSQL_FTPARSER_PARAM *.
ftparser_call_deinitializer() - calls parser->deinit() function if specified and parser was
initialized. Deinitializes all parsers.
ft_parse() accepts additional param now - MYSQL_FTPARSER_PARM and passes it to parser->parse().
storage/myisam/ft_update.c:
Call fulltext parser init() function, pass MYSQL_FTPARSER_PARAM, returned by
ftparser_call_initializer(), to _mi_ft_parse().
_mi_ft_parse() accepts additional param now - MYSQL_FTPARSER_PARAM and passes
it to parser->parse().
storage/myisam/ftdefs.h:
Prototypes for new functions were added. MYSQL_FTPARSER_PARAM was added
to ft_parse and _mi_ft_parse().
storage/myisam/mi_close.c:
Free ftparser_param allocated by ftparser_call_initializer().
storage/myisam/mi_create.c:
If a table relies on the sql layer, set HA_OPTION_RELIES_ON_SQL_LAYER.
storage/myisam/mi_locking.c:
Call deinitializer for each initialized parser.
storage/myisam/mi_open.c:
Set default values for share->ftparser and keydef->ftparser_nr.
If a table is openned from the non-sql layer and HA_OPTION_RELIES_ON_SQL_LAYER is set, raise
HA_ERR_UNSUPPORTED error.
storage/myisam/myisamdef.h:
Added number of distinct parsers to MYISAM_SHARE.
Added ftparser_param to MI_INFO.
plugin/Makefile.am:
New BitKeeper file ``plugin/Makefile.am''
plugin/fulltext/Makefile.am:
New BitKeeper file ``plugin/fulltext/Makefile.am''
plugin/fulltext/plugin_example.c:
New BitKeeper file ``plugin/fulltext/plugin_example.c''
into neptunus.(none):/home/msvensson/mysql/bug15775_part2/my50-bug15775_part2
mysql-test/r/grant2.result:
Merge test results
mysql-test/t/grant2.test:
Merge tests
sql/sql_acl.cc:
Removing the 4.1 version patch
- DROP USER command didn't reload the acl_check_hosts cache causing subsequent
connect's via TCP to fail randomly.
- 4.1 version
mysql-test/r/grant2.result:
Update test results
mysql-test/t/grant2.test:
Add test for to check that connect via TCP work after "drop user"
sql/sql_acl.cc:
Reload acl_check_hosts as its memory is mapped to acl_user
Use acl_user->host.hostname when searching the acl_check_hosts list
storage/archive/azio.c:
Build fixes for not having zutil.h
use memset instead of zmemzero.
use 8 as memory usage level (the default, which we were using anyway)
in the .gz header, just say we're UNIX.
use memcpy instead of zmemcpy.
storage/archive/azlib.h:
don't use zutil.h, it's private to zlib
into mysql.com:/home/stewart/Documents/MySQL/5.1/new
client/mysqltest.c:
Auto merged
sql/item.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
storage/myisam/mi_create.c:
Auto merged
storage/myisam/mi_delete.c:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
strings/decimal.c:
Auto merged
configure.in:
remove 5.0 version increement
sql/ha_archive.cc:
merge
sql/handler.cc:
merge
sql/mysqld.cc:
merge
When InnoDB compares varchar field in ucs2 with given key using bin collation,
it calls my_strnncollsp_ucs2_bin() to perform comparison.
Because field length was lesser than length of key field should be padded
with trailing spaces in order to get correct result.
Because my_strnncollsp_ucs2_bin() was calling my_strnncollp_ucs2_bin(), which
doesn't pads field, wrong comparison result was returned. This results in
wrong result set.
my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
mysql-test/t/ctype_ucs.test:
Test case for bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping
correct records.
mysql-test/r/ctype_ucs.result:
Test case for bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping correct records.
strings/ctype-ucs2.c:
Fix bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping
correct records.my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
ndb/src/ndbapi/NdbEventOperationImpl.cpp:
error code 4709 was set outside if()
ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
fix opType for detached triggers (accidental miss since v21x?)
ndb/test/ndbapi/Makefile.am:
test_event_merge v5.0
ndb/test/ndbapi/test_event_merge.cpp:
test_event_merge v5.0