into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/table.cc:
Auto merged
into mysql.com:/home/hf/mysql-5.1.mrg
include/m_ctype.h:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/type_enum.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
strings/CHARSET_INFO.txt:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
into mysql.com:/home/hf/mysql-5.0.mrg
include/m_ctype.h:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/type_enum.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
strings/ctype-mb.c:
SCCS merged
strings/ctype-utf8.c:
SCCS merged
into mysql.com:/home/gluh/MySQL/Merge/4.1-kt
include/m_ctype.h:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
into mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
mysql-test/r/myisam.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
sql/table.cc:
Auto merged
We use the condition from CHECK OPTION twice handling UPDATE command.
First we construnct 'update_cond' AND 'option_cond'
condition to select records to be updated, then we check the
'option_cond' for the updated row.
The problem is that first 'AND' condition is optimized during the 'select'
which can break 'option_cond' structure, so it will be unusable for
the sectond use - to check the updated row.
Possible soultion is either use copy of the condition in the first
use or to make optimization less traumatic for the operands.
I picked the first one.
mysql-test/r/view.result:
result fixed
mysql-test/t/view.test:
testcase
sql/table.cc:
now we use the copy of the CHECK OPTION condition to construct
the select's condition
into mysql.com:/home/gluh/MySQL/Merge/5.1
include/mysql_com.h:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/type_date.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/slave.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_repl.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sp.cc:
manual merge
sql/sp_head.cc:
manual merge
sql/sql_class.h:
manual merge
sql/table.cc:
manual merge
Fixed confusing error message from the storage engine when
it fails to open underlying table. The error message is issued
when a table is _opened_ (not when it is created).
myisammrg/myrg_open.c:
Set my_errno to HA_ERR_WRONG_MRG_TABLE_DEF if attempt to open
underlying table failed.
mysql-test/r/merge.result:
A test case for bug#10974.
mysql-test/r/repair.result:
Fixed a test case according to patch for bug#10974.
mysql-test/t/merge.test:
A test case for bug#10974.
sql/share/english/errmsg.txt:
Better error message if we fail to open underlying table.
sql/table.cc:
Report error from handler with print_error instead of frm_error. This
fixes confusing error message from the handler. Actually this is
backported from 5.0.
into zim.(none):/home/brian/mysql/merge-5.1
sql/ha_ndbcluster.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/table.cc:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
In practice this means that handlerton is now created by the server and is passed to the engine. Plugin startups can now also control how plugins are inited (and can optionally pass values). Bit more flexibility to those who want to write plugin interfaces to the database.
include/mysql/plugin.h:
Optional to pass parameter now to init and deinit functions
sql/ha_ndbcluster.cc:
Cleanup, handlerton is now a pointer.
sql/ha_ndbcluster_binlog.cc:
Cleanup (handlerton is now a pointer)
sql/ha_ndbcluster_binlog.h:
Cleanup (handlerton is now a pointer)
sql/ha_partition.cc:
Cleaned up handlerton change
sql/handler.cc:
Cheanup of handlerton change
sql/item_sum.cc:
Cleanedup of handlerton change
sql/log.cc:
Cleanup of handlerton change
sql/mysql_priv.h:
Reverted patch for variables (what would have happen previously if a have_ would have been called that was dynamically loaded? boom!)
sql/mysqld.cc:
Cleanup of handlerton changes and reverted have variable patch
sql/partition_info.cc:
Cleanup of handlerton (we need to clean this up a bit more).
sql/set_var.cc:
Cleanup related to handlerton changes
sql/sql_cache.cc:
Handlerton changes cleanup
sql/sql_insert.cc:
Handlerton changes cleanup.
sql/sql_partition.cc:
Handlerton cleanup changes
sql/sql_plugin.cc:
Handlerton changes.
init() can now be controlled by a plugin specific startup.
There was also an issue with how we deinited the status variables. It should have been occuring before we shut down the engines.
sql/sql_select.cc:
Handlerton cleanup changes
sql/sql_show.cc:
Handlerton cleanup changes
sql/sql_table.cc:
Handlerton cleanup changes
sql/table.cc:
Cleanup
storage/archive/ha_archive.cc:
Cleanup
storage/archive/ha_archive.h:
Cleanup
storage/blackhole/ha_blackhole.cc:
Cleanup
storage/csv/ha_tina.cc:
Cleanup
storage/example/ha_example.cc:
Cleanup
storage/federated/ha_federated.cc:
Cleanup
storage/heap/ha_heap.cc:
Cleanup
storage/innobase/handler/ha_innodb.cc:
Cleanup
storage/myisam/ha_myisam.cc:
Cleanup
storage/myisammrg/ha_myisammrg.cc:
Cleanup
into mysql.com:/usr/home/ram/work/mysql-5.1-maint
BitKeeper/etc/ignore:
auto-union
mysql-test/mysql-test-run.pl:
Auto merged
sql/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
0xFF is internal separator for SET|ENUM names.
If this symbol is present in SET|ENUM names then we replace it with
','(deprecated symbol for SET|ENUM names) during frm creation
and restore to 0xFF during frm opening
mysql-test/r/type_enum.result:
Bug#20922 mysql removes a name of first column in a table
test case
mysql-test/t/type_enum.test:
Bug#20922 mysql removes a name of first column in a table
test case
sql/table.cc:
Bug#20922 mysql removes a name of first column in a table
Replace all ',' symbols with NAMES_SEP_CHAR in interval names.
sql/unireg.cc:
Bug#20922 mysql removes a name of first column in a table
if NAMES_SEP_CHAR symbols are present in interval name
then replace all NAMES_SEP_CHAR symbols with ','
into mysql.com:/home/gluh/MySQL/Merge/5.0
include/mysql_com.h:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/ctype_utf8.result:
manual merge
sql/sql_acl.cc:
manual merge
into bk-internal.mysql.com:/data0/bk/mysql-5.1-wl3337
client/mysqltest.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/events.result:
Auto merged
mysql-test/r/not_embedded_server.result:
Auto merged
mysql-test/t/events.test:
Auto merged
sql/CMakeLists.txt:
Auto merged
sql/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
include/mysql_com.h:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
added new constants NAME_BYTE_LEN, USERNAME_BYTE_LENGTH, SYSTEM_CHARSET_MBMAXLEN
mysql-test/r/ctype_utf8.result:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
test case
mysql-test/t/ctype_utf8.test:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
test case
sql-common/client.c:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
increased buffers for user name & db
sql/sql_acl.cc:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
check that user name is not longer than USERNAME_LENGTH symbols
sql/sql_parse.cc:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
increased buffers for user name & db
sql/table.cc:
Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
check that db name is not longer than NAME_LEN symbols
into dator5.(none):/home/pappa/bug21388
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/item.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
into bk-internal.mysql.com:/data0/bk/mysql-5.1-wl3337
mysql-test/r/ps_1general.result:
Auto merged
sql/sp_head.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
into mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/handler.cc:
manual merge
We need to use an arena to indicate we are preparing a statement when loading partition function and
parsing it as part of an open table.
mysql-test/r/partition.result:
Moved test case
mysql-test/t/partition.test:
Moved test case
sql/item.cc:
Shouldn't call change_item_tree in prepare statement phase even if arena was already activated
sql/sql_partition.cc:
We need to use an arena to indicate we are preparing a statement when loading partition function and
parsing it as part of an open table.
sql/table.cc:
We need to use an arena to indicate we are preparing a statement when loading partition function and
parsing it as part of an open table.
from cache" and #21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes
server to crash".
Crash happened when one ran DROP DATABASE or SHOW OPEN TABLES statements
while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
or any other command that takes name-lock) in other connection.
This problem was caused by the fact that table placeholders which were
added to table cache in order to obtain name-lock on table had
TABLE_SHARE::db and table_name set to 0. Therefore they broke assumption
that these members are non-0 for all tables in table cache on which some
of our code relies.
The fix sets these members for such placeholders to appropriate value making
this assumption true again. As attempt to avoid such problems in future
we introduce auxiliary TABLE_SHARE::set_table_cache_key() methods which
should be used when one wants to set TABLE_SHARE::table_cache_key and which
ensure that TABLE_SHARE::table_name/db are set properly.
Test cases for these bugs were added to 5.0 test-suite (with 5.0-specific
fix for bug #21216).
sql/lock.cc:
Our code assumes that TABLE_SHARE::table_name/db for objects in table cache
is set properly (and is non-NULL). For example look in list_open_tables()
and remove_db_from_cache(). This was not true for table placeholders that
were added to table cache for name-locking. Changed lock_table_name() to
preserve this assumption (now it uses TABLE_SHARE::set_table_cache_key()
to set all three table_cache_key/db/table_name members at once).
Also now we use my_multi_malloc() to allocate memory for TABLE and
TABLE_SHARE objects instead of using my_malloc() + summing sizes as
it automatically provides proper alignment for memory allocated.
sql/sql_base.cc:
Now we use TABLE_SHARE::set_table_cache_key() auxiliary methods to set
TABLE_SHARE::table_cache_key/db/table_name members at once.
We also use multi_alloc_root() instead of alloc_root() for allocating
memory for several objects as it is less error prone.
Finally, we also got rid of unused code in reopen_name_locked_table().
sql/sql_select.cc:
Got rid of redundant code. TABLE_SHARE::db/table_cache_key are both set to
empty string by the call to init_tmp_table_share() routine.
sql/table.cc:
Now alloc_table_share() uses auxiliary TABLE_SHARE::set_table_cache_key()
method to properly set TABLE_SHARE::table_cache_key/db/table_name members.
Also now we use multi_alloc_root() instead of alloc_root() for allocating
memory for several objects as it is more clear/less error-prone.
sql/table.h:
Added comment about importance of apropriate setting of
TABLE_SHARE::table_name/db/table_cache_key for tables in table cache.
Introduced two auxiliary TABLE_SHARE::set_table_cache_key() methods which
allow to set these three members at once.
Post-review fixes. Mostly whitespace, int-to-bool return value, fixed comments
sql/Makefile.am:
compile all submodules of Events before compiling the facade
sql/event_data_objects.cc:
- Use initialization list
- Clean whitespaces
- Shorten comments
- Fix comments
sql/event_data_objects.h:
- Fix whitespace
sql/event_db_repository.cc:
- Change return type from int to bool where only one error code is
returned.
- Don't use macros but get the maximal number of characters in a column
from the column
- Fix comments
- Make functions which has return value but it's not used - void.
sql/event_db_repository.h:
- Methods with only one error code int -> bool return value
- Remove declaration of fill_schema_events, a function that does not exist
sql/event_queue.cc:
- Use initialization lists
- Let find_n_remove_event delete the object thus making the code more robust.
The caller could forget to destruct the object. In addition, find_n_remove_element()
does not return a value.
- Move check_system_tables() to class Events
- Fix comments
sql/event_queue.h:
- Whitespace changes
- init_queue() should allow passing of THD
- check_system_tables moved to class Events
- find_n_remove_event() is now void
sql/event_scheduler.cc:
- Initialize res before use
- Remove end stop from message
sql/event_scheduler.h:
Add uninitialized state. The scheduler is in it before init_scheduler()
is called. The rationale is that otherwise state has no value before
the call. If the system tables were damaged the scheduler won't be initialized
but in Events::deinit() Event_scheduler::stop() will be called and this will
touch state, generating valgrind warning at minimum.
sql/events.cc:
- Whitespace changes
- Fix comments
- Make methods which have only one error code be bool instead of int
- Create temporarily a THD to be used for the initialization of Event_queue
- Event_queue::check_system_tables() moved to Events::check_system_tables
- is_started() is renamed to is_execution_of_events_started()
sql/events.h:
- Whitespace changes
- When a method returns only one error code it should be bool, not int
- is_started() renamed to is_execution_of_events_started()
sql/set_var.cc:
is_started() is renamed to is_execution_of_events_started()
sql/sql_db.cc:
The return code is not used, thus don't return anything and drop_schema_events()
is now void.
sql/sql_yacc.yy:
- Fix comments
- Remove unneeded initialization which is performed in lex_init()
sql/share/errmsg.txt:
New error message
sql/table.cc:
- Fix comments
- make table_check_intact() accespt const *table_def
sql/table.h:
Make table_check_intact() accespt const *table_def
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/sql_db.cc:
Manual merge.
sql/sql_show.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
Auto merged
BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
Auto merged
BitKeeper/deleted/.del-mysys.dsp~32695fee91189326:
Auto merged
BitKeeper/deleted/.del-im_options_set.imtest~b53d9d60e5684833:
Auto merged
BitKeeper/deleted/.del-im_options_unset.imtest~768eb186b51d0048:
Auto merged
BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
Auto merged
client/mysql.cc:
Auto merged
client/mysqlbinlog.cc:
Auto merged
client/mysqlcheck.c:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
dbug/dbug.c:
Auto merged
extra/perror.c:
Auto merged
extra/yassl/src/yassl_imp.cpp:
Auto merged
extra/yassl/src/yassl_int.cpp:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/cast.result:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/federated.result:
Auto merged
mysql-test/r/func_compress.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/gis.result:
Auto merged
mysql-test/r/im_daemon_life_cycle.result:
Auto merged
mysql-test/r/im_utils.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/mysqlcheck.result:
Auto merged
mysql-test/r/rpl_sp.result:
Auto merged
mysql-test/r/rpl_trigger.result:
Auto merged
mysql-test/r/sp-code.result:
Auto merged
mysql-test/r/sp-security.result:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/r/type_ranges.result:
Auto merged
mysql-test/r/udf.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/func_group.test:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
Auto merged
mysql-test/t/im_life_cycle.imtest:
Auto merged
mysql-test/t/im_utils.imtest:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqlcheck.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/rpl_trigger.test:
Auto merged
mysql-test/t/sp-security.test:
Auto merged
mysql-test/t/strict.test:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql-common/client.c:
Auto merged
sql-common/my_time.c:
Auto merged
sql/table.h:
Auto merged
storage/ndb/src/kernel/error/ndbd_exit_codes.c:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
mysql-test/r/im_life_cycle.result:
e
use local
mysql-test/r/ps.result:
use local
client/Makefile.am:
Manual merge.
client/mysqlimport.c:
Manual merge.
configure.in:
Manual merge.
mysql-test/mysql-test-run.pl:
Manual merge.
mysql-test/r/mysqldump.result:
Manual merge.
mysql-test/r/mysqltest.result:
Manual merge.
mysql-test/r/ndb_basic.result:
Manual merge.
mysql-test/r/rpl_view.result:
Manual merge.
mysql-test/r/show_check.result:
Manual merge.
mysql-test/r/sp-error.result:
Manual merge.
mysql-test/r/sp.result:
Manual merge.
mysql-test/r/union.result:
Manual merge.
mysql-test/t/mysqldump.test:
Manual merge.
mysql-test/t/mysqltest.test:
Manual merge.
mysql-test/t/ndb_basic.test:
Manual merge.
mysql-test/t/rpl_sp.test:
Manual merge.
mysql-test/t/rpl_view.test:
Manual merge.
mysql-test/t/show_check.test:
Manual merge.
mysql-test/t/sp-error.test:
Manual merge.
mysql-test/t/sp.test:
Manual merge.
sql/item_sum.cc:
Manual merge.
sql/mysql_priv.h:
Manual merge.
sql/sp_head.cc:
Manual merge.
sql/sql_db.cc:
Manual merge.
sql/sql_delete.cc:
Manual merge.
sql/sql_lex.h:
Manual merge.
sql/sql_show.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
sql/sql_trigger.cc:
Manual merge.
sql/sql_yacc.yy:
Manual merge.
tests/mysql_client_test.c:
Manual merge.
into govinda.patg.net:/home/patg/mysql-build/mysql-5.1-engines-merge
sql/ha_myisam.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/innobase/row/row0mysql.c:
Auto merged
into sunlight.local:/local_work/leak_fix-5.1-mysql
sql/sql_lex.h:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_view.h:
Auto merged
sql/unireg.h:
Auto merged
sql/sql_base.cc:
Manual merge
sql/table.cc:
Manual merge
into sunlight.local:/local_work/leak_fix
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/table.cc:
Auto merged
sql/sql_view.cc:
Manually merged
into chilla.local:/home/mydev/mysql-5.1-bug18775
sql/ha_myisam.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql/sql_db.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Manual merge
Continued implementation of WL#1324 (table name to filename encoding)
The intermediate (not temporary) files of the new table
during ALTER TABLE was visible for SHOW TABLES. These
intermediate files are copies of the original table with
the changes done by ALTER TABLE. After all the data is
copied over from the original table, these files are renamed
to the original tables file names. So they are not temporary
files. They persist after ALTER TABLE, but just with another
name.
In 5.0 the intermediate files are invisible for SHOW TABLES
because all file names beginning with "#sql" were suppressed.
This failed since 5.1.6 because even temporary table names were
converted when making file names from them. The prefix became
converted to "@0023sql". Converting the prefix during SHOW TABLES
would suppress the listing of user tables that start with "#sql".
The solution of the problem is to continue the implementation of
the table name to file name conversion feature. One requirement
is to suppress the conversion for temporary table names.
This change is straightforward for real temporary tables as there
is a function that creates temporary file names.
But the generated path names are located in TMPDIR and have no
relation to the internal table name. This cannot be used for
ALTER TABLE. Its intermediate files need to be in the same
directory as the old table files. And it is necessary to be
able to deduce the same path from the same table name repeatedly.
Consequently the intermediate table files must be handled like normal
tables. Their internal names shall start with tmp_file_prefix
(#sql) and they shall not be converted like normal table names.
I added a flags parameter to all relevant functions that are
called from ALTER TABLE. It is used to suppress the conversion
for the intermediate table files.
The outcome is that the suppression of #sql in SHOW TABLES
works again. It does not suppress user tables as these are
converted to @0023sql on file level.
This patch does also fix ALTER TABLE ... RENAME, which could not
rename a table with non-ASCII characters in its name.
It does also fix the problem that a user could create a table like
`#sql-xxxx-yyyy`, where xxxx is mysqld's pid and yyyy is the thread
ID of some other thread, which prevented this thread from running
ALTER TABLE.
Some of the above problems are mentioned in Bug 1405, which can
be closed with this patch.
This patch does also contain some minor fixes for other forgotten
conversions. Still known problems are reported as bugs 21370,
21373, and 21387.
mysql-test/r/alter_table.result:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added test results.
mysql-test/r/backup.result:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added test results.
mysql-test/r/repair.result:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added test results.
mysql-test/t/alter_table.test:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added test cases.
mysql-test/t/backup.test:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added test cases.
mysql-test/t/repair.test:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added a test case.
sql/ha_myisam.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added missing table name mapping calls to backup() and restore().
sql/ha_myisammrg.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/ha_ndbcluster.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/ha_ndbcluster_binlog.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/ha_ndbcluster_binlog.h:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Removed unnecessary check for wrong temp file prefix.
sql/mysql_priv.h:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Extended quick_rm_table(), mysql_rename_table(), and
build_table_filename() by an flags argument, which can indicate
temporary table names that should not be converted.
Added symbolic flag values.
sql/sql_acl.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_base.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Fixed a comment.
Added DBUG calls.
sql/sql_db.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_delete.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_insert.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_partition.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_rename.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_show.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Reverted the former fix for this bug. tmp_file_prefix is now used
verbatim in the comparison of file names.
sql/sql_table.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added a check for a tmp_file_prefix file name to
filename_to_tablename(). These names are now accepted without
conversion.
Extended quick_rm_table(), mysql_rename_table(), and
build_table_filename() by an flags argument, which can indicate
temporary table names that should not be converted.
Removed the table to file name conversion from
build_tmptable_filename().
Disabled REPAIR TABLE ... USE_FRM for temporary tables.
Added the forgotten conversion to mysql_alter_table() for the case
of ALTER TABLE ... RENAME.
Added comments and DBUG calls.
sql/sql_trigger.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/sql_view.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Added an zero argument for the new 'flags' parameter.
sql/table.cc:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Replaced a literal ".frm" by reg_ext.
Added DBUG calls.
storage/innobase/row/row0mysql.c:
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Changed back the encoded temp file prefix to #sql.
into rama.(none):/home/jimw/my/mysql-5.1-clean
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
extra/yassl/include/openssl/ssl.h:
Auto merged
extra/yassl/include/yassl_int.hpp:
Auto merged
extra/yassl/src/ssl.cpp:
Auto merged
extra/yassl/src/template_instnt.cpp:
Auto merged
extra/yassl/src/yassl_imp.cpp:
Auto merged
extra/yassl/src/yassl_int.cpp:
Auto merged
include/mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/embedded_priv.h:
Auto merged
BitKeeper/deleted/.del-mysql_explain_log.sh~5ddc62808e16bd57:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
libmysqld/libmysqld.c:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/mysqldump-max.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/time.cc:
Auto merged
storage/myisam/mi_create.c:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
tests/mysql_client_test.c:
Auto merged
BitKeeper/deleted/.del-have_case_sensitive_file_system.inc:
Delete: mysql-test/include/have_case_sensitive_file_system.inc
BitKeeper/deleted/.del-case_sensitive_file_system.require:
Delete: mysql-test/r/case_sensitive_file_system.require
mysql-test/lib/mtr_cases.pl:
Resolve conflict
mysql-test/mysql-test-run.pl:
Resolve conflict
mysql-test/r/mysqldump.result:
Resolve conflict
mysql-test/t/mysqldump.test:
Resolve conflict
sql/sql_parse.cc:
Resolve conflict
into myoffice.izhnet.ru:/usr/home/gluh/MySQL/5.1
mysql-test/r/sp_notembedded.result:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/t/strict.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
sql/handler.h:
manual merge
sql/table.cc:
manual merge
sql/unireg.cc:
manual merge
tests/mysql_client_test.c:
SCCS merged
client/mysql.cc:
Auto merged
client/sql_string.h:
Auto merged
configure.in:
Auto merged
myisam/mi_create.c:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/table.cc:
Auto merged
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/federated.result:
Manual merge.
mysql-test/t/federated.test:
Manual merge.
sql/sql_insert.cc:
Manual merge.
when dropping/creating tables"
mysql-test/r/ps.result:
A post-merge fix.
mysql-test/t/ps.test:
A post-merge fix: all 5.0 tests should go after 4.1 tests.
sql/sql_lex.cc:
auxilliary -> auxiliary
sql/sql_prepare.cc:
auxilliary -> auxiliary
sql/table.cc:
Update st_table_list::reinit_before_use in 5.0 to include 5.0-specific
cleanups.
sql/table.h:
st_table_list::reinit_before_use is public.
dropping/creating tables".
The bug could lead to a crash when multi-delete statements were
prepared and used with temporary tables.
The bug was caused by lack of clean-up of multi-delete tables before
re-execution of a prepared statement. In a statement like
DELETE t1 FROM t1, t2 WHERE ... the first table list (t1) is
moved to lex->auxilliary_table_list and excluded from lex->query_tables
or select_lex->tables. Thus it was unaccessible to reinit_stmt_before_use
and not cleaned up before re-execution of a prepared statement.
mysql-test/r/ps.result:
Updated test results (Bug#19399)
mysql-test/t/ps.test:
A test case for Bug#19399 "Stored Procedures 'Lost Connection' when
dropping/creating tables": test that multi-delete
tables are cleaned up properly before re-execution.
sql/sql_lex.cc:
Always initialize auxilliary_table_list when we initialize the lex:
this way we don't have to check that lex->sql_command equals to
SQLCOM_DELETE_MULTI whenever we need to access auxilliary_table_list.
In particular, in reinit_stmt_before_use we can simply check that
auxilliary_table_list is not NULL and clean it up if the check returns
a true value.
sql/sql_prepare.cc:
Move the one table clean-up functionality to a method of st_table_list.
Clean up auxiliary_table_list if it's not empty.
sql/table.cc:
Implement st_table_list::reinit_before_use().
sql/table.h:
Declare st_table_list::reinit_before_use().
into chilla.local:/home/mydev/mysql-5.0-bug16218
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/table.cc:
Auto merged
before update trigger on NDB table".
Two main changes:
- We use TABLE::read_set/write_set bitmaps for marking fields used by
statement instead of Field::query_id in 5.1.
- Now when we mark columns used by statement we take into account columns
used by table's triggers instead of marking all columns as used if table
has triggers.
mysql-test/r/federated.result:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
mysql-test/t/federated.test:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
sql/ha_partition.cc:
Added handling of HA_EXTRA_WRITE_CAN_REPLACE/HA_EXTRA_WRITE_CANNOT_REPLACE
to ha_partition::extra().
sql/item.cc:
Adjusted comment after merge. In 5.1 we use TABLE::read_set/write_set
bitmaps instead of Field::query_id for marking columns used.
sql/log_event.cc:
Write_rows_log_event::do_before_row_operations():
Now we explicitly inform handler that we want to replace rows so it can
promote operation done by write_row() to replace.
sql/mysql_priv.h:
Removed declaration of mark_fields_used_by_triggers_for_insert_stmt() which
is no longer used (we have TABLE::mark_columns_needed_for_insert() instead).
sql/sql_insert.cc:
Adjusted code after merge. Get rid of mark_fields_used_by_triggers_for_insert_stmt()
as now we use TABLE::mark_columns_needed_for_insert() for the same purprose.
Aligned places where we call this method with places where we call
mark_fields_used_by_triggers_for_insert() in 5.0.
Finally we no longer need to call handler::extra(HA_EXTRA_WRITE_CAN_REPLACE)
in case of REPLACE statement since in 5.1 write_record() marks all columns
as used before doing actual row replacement.
sql/sql_load.cc:
Adjusted code after merge. In 5.1 we use TABLE::mark_columns_needed_for_insert() instead of
mark_fields_used_by_triggers_for_insert_stmt() routine. We also no longer
need to call handler::extra(HA_EXTRA_RETRIEVE_ALL_COLS) if we execute LOAD
DATA REPLACE since in 5.1 write_record() will mark all columns as used before
doing actual row replacement.
sql/sql_trigger.cc:
Table_triggers_list::mark_fields_used():
We use TABLE::read_set/write_set bitmaps for marking fields used instead
of Field::query_id in 5.1.
sql/sql_trigger.h:
TABLE::mark_columns_needed_for_* methods no longer need to be friends of
Table_triggers_list class as intead of dirrectly accessing its private
members they can use public Table_triggers_list::mark_fields_used() method.
Also Table_triggers)list::mark_fields_used() no longer needs THD argument.
sql/table.cc:
TABLE::mark_columns_needed_for_*():
Now we mark columns which are really used by table's triggers instead of
marking all columns as used if table has triggers.