into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
- test result.
Problem: we don't proper handle "" value of the --myisam-recover option.
Fix: turn off myisam recovering if --myisam-recover="" is set.
mysql-test/r/show_check.result:
Fix for bug #30088: Can't disable myisam-recover by a value of "".
- test result.
mysql-test/t/show_check-master.opt:
Fix for bug #30088: Can't disable myisam-recover by a value of "".
- test case.
mysql-test/t/show_check.test:
Fix for bug #30088: Can't disable myisam-recover by a value of "".
- test case.
sql/mysqld.cc:
Fix for bug #30088: Can't disable myisam-recover by a value of "".
- turn off myisam recovering if --myisam-recover="" is passed.
Addendum to thr fix for bug 30000:
show procedure/function code defined only in debug builds
show_check.test:
Addendum to thr fix for bug 30000:
show procedure/function code defined only in debug builds
mysql-test/t/show_check.test:
Addendum to thr fix for bug 30000:
show procedure/function code defined only in debug builds
mysql-test/r/show_check.result:
Addendum to thr fix for bug 30000:
show procedure/function code defined only in debug builds
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25422-d
client/mysqldump.c:
Auto merged
mysql-test/r/log_state.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sp.cc:
Auto merged
into ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merge
mysql-test/r/mysqldump-max.result:
Auto merged
mysql-test/r/openssl_1.result:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
client/mysqldump.c:
Manual merge.
mysql-test/r/mysqldump.result:
Manual merge + use local.
slow query log
Disable the SHOW commands to appear in the show query
log.
Update the commands type array.
mysql-test/r/show_check.result:
Bug #30000: test case
mysql-test/t/show_check.test:
Bug #30000: test case
sql/sql_parse.cc:
Bug #30000: skip SHOW commands from the
slow query log.
Bug#25422 (Hang with log tables)
Bug 17876 (Truncating mysql.slow_log in a SP after using cursor locks the
thread)
Bug 23044 (Warnings on flush of a log table)
Bug 29129 (Resetting general_log while the GLOBAL READ LOCK is set causes
a deadlock)
Prior to this fix, the server would hang when performing concurrent
ALTER TABLE or TRUNCATE TABLE statements against the LOG TABLES,
which are mysql.general_log and mysql.slow_log.
The root cause traces to the following code:
in sql_base.cc, open_table()
if (table->in_use != thd)
{
/* wait_for_condition will unlock LOCK_open for us */
wait_for_condition(thd, &LOCK_open, &COND_refresh);
}
The problem with this code is that the current implementation of the
LOGGER creates 'fake' THD objects, like
- Log_to_csv_event_handler::general_log_thd
- Log_to_csv_event_handler::slow_log_thd
which are not associated to a real thread running in the server,
so that waiting for these non-existing threads to release table locks
cause the dead lock.
In general, the design of Log_to_csv_event_handler does not fit into the
general architecture of the server, so that the concept of general_log_thd
and slow_log_thd has to be abandoned:
- this implementation does not work with table locking
- it will not work with commands like SHOW PROCESSLIST
- having the log tables always opened does not integrate well with DDL
operations / FLUSH TABLES / SET GLOBAL READ_ONLY
With this patch, the fundamental design of the LOGGER has been changed to:
- always open and close a log table when writing a log
- remove totally the usage of fake THD objects
- clarify how locking of log tables is implemented in general.
See WL#3984 for details related to the new locking design.
Additional changes (misc bugs exposed and fixed):
1)
mysqldump which would ignore some tables in dump_all_tables_in_db(),
but forget to ignore the same in dump_all_views_in_db().
2)
mysqldump would also issue an empty "LOCK TABLE" command when all the tables
to lock are to be ignored (numrows == 0), instead of not issuing the query.
3)
Internal errors handlers could intercept errors but not warnings
(see sql_error.cc).
4)
Implementing a nested call to open tables, for the performance schema tables,
exposed an existing bug in remove_table_from_cache(), which would perform:
in_use->some_tables_deleted=1;
against another thread, without any consideration about thread locking.
This call inside remove_table_from_cache() was not required anyway,
since calling mysql_lock_abort() takes care of aborting -- cleanly -- threads
that might hold a lock on a table.
This line (in_use->some_tables_deleted=1) has been removed.
sql/handler.cc:
Moved logic for system / log tables in the SQL layer.
sql/handler.h:
Moved logic for system / log tables in the SQL layer.
sql/lock.cc:
Revised locking of log tables
sql/log.cc:
Major cleanup: changed how log tables are locked / written to.
sql/log.h:
Major cleanup: changed how log tables are locked / written to.
sql/mysql_priv.h:
performance schema helpers
sql/slave.cc:
open_ltable() lock flags
sql/sp.cc:
open_ltable() lock flags
sql/sql_acl.cc:
open_ltable() lock flags
sql/sql_class.h:
performance schema helpers
sql/sql_delete.cc:
log tables cleanup in TRUNCATE
sql/sql_error.cc:
Internal handlers can also intercept warnings
sql/sql_insert.cc:
open_ltable() lock flags
sql/sql_parse.cc:
performance schema helpers
sql/sql_plugin.cc:
open_ltable() lock flags
sql/sql_rename.cc:
log tables cleanup in RENAME
sql/sql_servers.cc:
open_ltable() lock flags
sql/sql_show.cc:
Move INFORMATION_SCHEMA_NAME to table.cc
sql/sql_table.cc:
log tables cleanup (admin operations, ALTER TABLE)
sql/sql_udf.cc:
open_ltable() lock flags
sql/table.cc:
Implemented TABLE_CATEGORY.
sql/share/errmsg.txt:
Changed the wording and name of ER_CANT_READ_LOCK_LOG_TABLE
sql/table.h:
Implemented TABLE_CATEGORY.
storage/csv/ha_tina.cc:
Moved logic for system / log tables in the SQL layer.
storage/csv/ha_tina.h:
Moved logic for system / log tables in the SQL layer.
storage/myisam/ha_myisam.cc:
Moved logic for system / log tables in the SQL layer.
storage/myisam/ha_myisam.h:
Moved logic for system / log tables in the SQL layer.
client/mysqldump.c:
Don't lock tables in the ignore list.
Don't issue empty LOCK TABLES queries.
sql/sql_base.cc:
log tables cleanup
performance schema helpers
mysql-test/r/ps.result:
Adjust test results
mysql-test/r/show_check.result:
Adjust test results
mysql-test/r/status.result:
Adjust test results
mysql-test/t/log_state.test:
Added tests for Bug#29129
mysql-test/t/ps.test:
Make the test output deterministic
mysql-test/t/show_check.test:
Make the test output deterministic
mysql-test/r/log_state.result:
Changed the default location of the log output to LOG_FILE,
for backward compatibility with MySQL 5.0
---
Adjust test results
mysql-test/r/log_tables.result:
cleanup for -ps-protocol
mysql-test/t/log_tables.test:
cleanup for -ps-protocol
sql/set_var.cc:
Changed the default location of the log output to LOG_FILE,
for backward compatibility with MySQL 5.0
---
log tables cleanup
SHOW TABLE TYPES is a (to be deprecated) synonym for
SHOW STORAGE ENGINES.
Fixed to use the right schema table in addition to
issuing a warning.
mysql-test/r/show_check.result:
Bug #30036: test case
mysql-test/t/show_check.test:
Bug #30036: test case
sql/sql_yacc.yy:
Bug #30036: use the right schema table
binary SHOW CREATE TABLE or SELECT FROM I_S.
The problem is that mysqldump generates incorrect dump for a table
with non-ASCII column name if the mysqldump's character set is
ASCII.
The fix is to:
1. Switch character_set_client for the mysqldump's connection
to binary before issuing SHOW CREATE TABLE statement in order
to avoid conversion.
2. Dump switch character_set_client statements to UTF8 and back
for CREATE TABLE statement.
client/mysqldump.c:
1. Switch character_set_client for the mysqldump's connection
to binary before issuing SHOW CREATE TABLE statement in order
to avoid conversion.
2. Dump switch character_set_client statements to UTF8 and back
for CREATE TABLE statement.
mysql-test/r/mysqldump-max.result:
Update result file.
mysql-test/r/mysqldump.result:
Update result file.
mysql-test/r/openssl_1.result:
Update result file.
mysql-test/r/show_check.result:
Update result file.
mysql-test/t/show_check.test:
Test case:
- create a table with non-ASCII column name;
- dump the database by mysqldump using ASCII character set;
- drop the database;
- load the dump;
- check that the table has been re-created properly.
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
client/mysqldump.c:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/events_bugs.result:
Manual merge.
SHOW CREATE TABLE or SELECT FROM I_S.
This is the last patch for this bug, which depends on the big
CS patch and was pending.
The problem was that SHOW CREATE statements returned original
queries in the binary character set. That could cause the query
to be unreadable.
The fix is to use original character_set_client when sending
the original query to the client. In order to preserve the query
in mysqldump, 'binary' character set results should be set when
issuing SHOW CREATE statement. If either source or destination
character set is 'binary' , no conversion is performed.
The idea is that since the source character set is no longer
'binary', we fix the destination character set to still produce
valid dumps.
client/mysqldump.c:
Switch character_set_results of mysqldump-connection before
calling SHOW CREATE statements for the objects.
mysql-test/r/show_check.result:
Result file.
mysql-test/t/show_check.test:
Add test case for the part of BUG#10491.
sql/events.cc:
Send original query in the original character set.
sql/sp_head.cc:
Send original query in the original character set.
sql/sql_show.cc:
Send original query in the original character set.
into mysql.com:/home/ram/work/b28808/b28808.5.1
sql/mysqld.cc:
Auto merged
sql/unireg.h:
Auto merged
mysql-test/t/show_check.test:
merging
sql/sql_parse.cc:
merging
Problem: logging queries not using indexes we check a special flag which
is set only at the server startup and is not changing with a corresponding
server variable together.
Fix: check the variable value instead of the flag.
mysql-test/r/show_check.result:
Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
- test result.
mysql-test/t/show_check.test:
Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
- test case.
sql/mysqld.cc:
Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
- SPECIAL_LOG_QUERIES_NOT_USING_INDEXES is not used anymore.
sql/sql_parse.cc:
Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
- check opt_log_queries_not_using_indexes instead of
SPECIAL_LOG_QUERIES_NOT_USING_INDEXES flag.
sql/unireg.h:
Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
- SPECIAL_LOG_QUERIES_NOT_USING_INDEXES is not used anymore.
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
BitKeeper/deleted/.del-ps_6bdb.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
sql/handler.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/show_check.result:
Manual merge.
mysql-test/t/show_check.test:
Manual merge.
sql/item.h:
Manual merge.
sql/sp.cc:
Manual merge.
sql/sql_trigger.cc:
Manual merge.
tests/mysql_client_test.c:
Manual merge.
- BUG#11986: Stored routines and triggers can fail if the code
has a non-ascii symbol
- BUG#16291: mysqldump corrupts string-constants with non-ascii-chars
- BUG#19443: INFORMATION_SCHEMA does not support charsets properly
- BUG#21249: Character set of SP-var can be ignored
- BUG#25212: Character set of string constant is ignored (stored routines)
- BUG#25221: Character set of string constant is ignored (triggers)
There were a few general problems that caused these bugs:
1. Character set information of the original (definition) query for views,
triggers, stored routines and events was lost.
2. mysqldump output query in client character set, which can be
inappropriate to encode definition-query.
3. INFORMATION_SCHEMA used strings with mixed encodings to display object
definition;
1. No query-definition-character set.
In order to compile query into execution code, some extra data (such as
environment variables or the database character set) is used. The problem
here was that this context was not preserved. So, on the next load it can
differ from the original one, thus the result will be different.
The context contains the following data:
- client character set;
- connection collation (character set and collation);
- collation of the owner database;
The fix is to store this context and use it each time we parse (compile)
and execute the object (stored routine, trigger, ...).
2. Wrong mysqldump-output.
The original query can contain several encodings (by means of character set
introducers). The problem here was that we tried to convert original query
to the mysqldump-client character set.
Moreover, we stored queries in different character sets for different
objects (views, for one, used UTF8, triggers used original character set).
The solution is
- to store definition queries in the original character set;
- to change SHOW CREATE statement to output definition query in the
binary character set (i.e. without any conversion);
- introduce SHOW CREATE TRIGGER statement;
- to dump special statements to switch the context to the original one
before dumping and restore it afterwards.
Note, in order to preserve the database collation at the creation time,
additional ALTER DATABASE might be used (to temporary switch the database
collation back to the original value). In this case, ALTER DATABASE
privilege will be required. This is a backward-incompatible change.
3. INFORMATION_SCHEMA showed non-UTF8 strings
The fix is to generate UTF8-query during the parsing, store it in the object
and show it in the INFORMATION_SCHEMA.
Basically, the idea is to create a copy of the original query convert it to
UTF8. Character set introducers are removed and all text literals are
converted to UTF8.
This UTF8 query is intended to provide user-readable output. It must not be
used to recreate the object. Specialized SHOW CREATE statements should be
used for this.
The reason for this limitation is the following: the original query can
contain symbols from several character sets (by means of character set
introducers).
Example:
- original query:
CREATE VIEW v1 AS SELECT _cp1251 'Hello' AS c1;
- UTF8 query (for INFORMATION_SCHEMA):
CREATE VIEW v1 AS SELECT 'Hello' AS c1;
client/mysqldump.c:
Set original character set and collation before dumping definition query.
include/my_sys.h:
Move out-parameter to the end of list.
mysql-test/lib/mtr_report.pl:
Ignore server-warnings during the test case.
mysql-test/r/create.result:
Update result file.
mysql-test/r/ctype_cp932_binlog_stm.result:
Update result file.
mysql-test/r/events.result:
Update result file.
mysql-test/r/events_bugs.result:
Update result file.
mysql-test/r/events_grant.result:
Update result file.
mysql-test/r/func_in.result:
Update result file.
mysql-test/r/gis.result:
Update result file.
mysql-test/r/grant.result:
Update result file.
mysql-test/r/information_schema.result:
Update result file.
mysql-test/r/information_schema_db.result:
Update result file.
mysql-test/r/lowercase_view.result:
Update result file.
mysql-test/r/mysqldump.result:
Update result file.
mysql-test/r/ndb_sp.result:
Update result file.
mysql-test/r/ps.result:
Update result file.
mysql-test/r/rpl_replicate_do.result:
Update result file.
mysql-test/r/rpl_sp.result:
Update result file.
mysql-test/r/rpl_trigger.result:
Update result file.
mysql-test/r/rpl_view.result:
Update result file.
mysql-test/r/show_check.result:
Update result file.
mysql-test/r/skip_grants.result:
Update result file.
mysql-test/r/sp-destruct.result:
Update result file.
mysql-test/r/sp-error.result:
Update result file.
mysql-test/r/sp-security.result:
Update result file.
mysql-test/r/sp.result:
Update result file.
mysql-test/r/sql_mode.result:
Update result file.
mysql-test/r/system_mysql_db.result:
Update result file.
mysql-test/r/temp_table.result:
Update result file.
mysql-test/r/trigger-compat.result:
Update result file.
mysql-test/r/trigger-grant.result:
Update result file.
mysql-test/r/trigger.result:
Update result file.
mysql-test/r/view.result:
Update result file.
mysql-test/r/view_grant.result:
Update result file.
mysql-test/t/events.test:
Update test case (new columns added).
mysql-test/t/information_schema.test:
Update test case (new columns added).
mysql-test/t/show_check.test:
Test case for SHOW CREATE TRIGGER in prepared statements and
stored routines.
mysql-test/t/sp-destruct.test:
Update test case (new columns added).
mysql-test/t/sp.test:
Update test case (new columns added).
mysql-test/t/view.test:
Update test.
mysys/charset.c:
Move out-parameter to the end of list.
scripts/mysql_system_tables.sql:
Add new columns to mysql.proc and mysql.event.
scripts/mysql_system_tables_fix.sql:
Add new columns to mysql.proc and mysql.event.
sql/event_data_objects.cc:
Support new attributes for events.
sql/event_data_objects.h:
Support new attributes for events.
sql/event_db_repository.cc:
Support new attributes for events.
sql/event_db_repository.h:
Support new attributes for events.
sql/events.cc:
Add new columns to SHOW CREATE event resultset.
sql/mysql_priv.h:
1. Introduce Object_creation_ctx;
2. Introduce SHOW CREATE TRIGGER;
3. Introduce auxilary functions.
sql/sp.cc:
Add support for new store routines attributes.
sql/sp_head.cc:
Add support for new store routines attributes.
sql/sp_head.h:
Add support for new store routines attributes.
sql/sql_lex.cc:
Generate UTF8-body on parsing/lexing.
sql/sql_lex.h:
1. Generate UTF8-body on parsing/lexing.
2. Introduce SHOW CREATE TRIGGER.
sql/sql_parse.cc:
Introduce SHOW CREATE TRIGGER.
sql/sql_partition.cc:
Update parse_sql().
sql/sql_prepare.cc:
Update parse_sql().
sql/sql_show.cc:
Support new attributes for views
sql/sql_trigger.cc:
Support new attributes for views
sql/sql_trigger.h:
Support new attributes for views
sql/sql_view.cc:
Support new attributes for views
sql/sql_yacc.yy:
1. Add SHOW CREATE TRIGGER statement.
2. Generate UTF8-body for views, stored routines, triggers and events.
sql/table.cc:
Introduce Object_creation_ctx.
sql/table.h:
Introduce Object_creation_ctx.
sql/share/errmsg.txt:
Add new errors.
mysql-test/include/ddl_i18n.check_events.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_sp.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_triggers.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_views.inc:
Aux file for test suite.
mysql-test/include/have_cp1251.inc:
Aux file for test suite.
mysql-test/include/have_cp866.inc:
Aux file for test suite.
mysql-test/include/have_koi8r.inc:
Aux file for test suite.
mysql-test/include/have_utf8.inc:
Aux file for test suite.
mysql-test/r/ddl_i18n_koi8r.result:
Result file.
mysql-test/r/ddl_i18n_utf8.result:
Result file.
mysql-test/r/have_cp1251.require:
Aux file for test suite.
mysql-test/r/have_cp866.require:
Aux file for test suite.
mysql-test/r/have_koi8r.require:
Aux file for test suite.
mysql-test/r/have_utf8.require:
Aux file for test suite.
mysql-test/t/ddl_i18n_koi8r.test:
Complete koi8r test case for the CS patch.
mysql-test/t/ddl_i18n_utf8.test:
Complete utf8 test case for the CS patch.
SHOW CREATE TABLE or SELECT FROM I_S.
Actually, the bug discovers two problems:
- the original query is not preserved properly. This is the problem
of BUG#16291;
- the resultset of SHOW CREATE TABLE statement is binary.
This patch fixes the second problem for the 5.0.
Both problems will be fixed in 5.1.
mysql-test/r/show_check.result:
Update result file.
mysql-test/t/show_check.test:
Provide test case for BUG#10491.
sql/item.h:
Use utf8_general_ci instead of binary collation by default,
because for views and base tables utf8 is the character set
in which their definition is stored. For system constants
it's the default character set, and for other objects
(routines, triggers), no character set is stored, and
therefore no character set is known, so returning utf8
is just as good as any non-binary character set.
This latter problem is fixed in 5.1 by 16291. In 5.1
we will return the "real" character set.
into chilla.local:/home/mydev/mysql-5.1-axmrg
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/mysqld.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
An attempt to open file with name '????????.frm'
can produce different errors:
- ER_NO_SUCH_TABLE on Unix
- ER_FILE_NOT_FOUND on Windows
because QUESTION MARK has special meaning on Windows.
Make sure that any of these two errors happens.
mysql-test/r/show_check.result:
Additional fix for bug N26402
mysql-test/t/show_check.test:
Additional fix for bug N26402
Problem: crash on attempt to open a table
having "#mysql50#" prefix in db or table name.
Fix: This prefix is reserved for "mysql_upgrade"
to access 5.0 tables whose file names are not encoded
according to "5.1 tablename to filename encoded".
Don't try open tables whose db name or table name
has this prefix.
mysql-test/r/show_check.result:
Adding test case.
mysql-test/t/show_check.test:
Adding test case.
sql/mysql_priv.h:
Moving 5.0 prefix declarations into mysql_priv.h
sql/sql_table.cc:
Moving 5.0 prefix declarations into mysql_priv.h
sql/table.cc:
Don't try to do "normal" open of tables having '#mysql50#' prefix in
db or table name. This prefix is reserved to access to unencoded
table names when upgrading from 5.0 to 5.1.
Change to use remove_file instead of 'system rm' in a lot of tests. (Should fix some windows test problems)
Removed memory leak in mysql_test if sync_with_master fails.
Do not terminate ndb_cluster_binary_log before the util thread has finnished. This should fix a shutdown bug where a thread is accessing injector_mutex after it's freed.
Patch may fix Bug#27622 "mysqld shutdown, util thread continues, while binlog thread exits"
client/mysqltest.c:
Added missing 'mysql_free_result' (fixed confusing memory leak when sync_with_master fails)ug
mysql-test/mysql-test-run.pl:
Add the test case name to the instance manager log files
mysql-test/r/rpl_log_pos.result:
Made test more portable (for powermac)
mysql-test/t/disabled.def:
Disabled im_life_cycle (added bug#27851)
mysql-test/t/myisam-system.test:
Use remove_file instead of "system rm"
mysql-test/t/ndb_autodiscover.test:
Use remove_file instead of "system rm"
mysql-test/t/ndb_loaddatalocal.test:
Use remove_file instead of "system rm"
mysql-test/t/rpl_loaddatalocal.test:
Use remove_file instead of "system rm"
mysql-test/t/rpl_log_pos.test:
Made test more portable (for powermac)
mysql-test/t/rpl_misc_functions.test:
Use remove_file instead of "system rm"
mysql-test/t/rpl_rbr_to_sbr.test:
Use remove_file instead of "system rm"
mysql-test/t/rpl_row_NOW.test:
Use remove_file instead of "system rm"
mysql-test/t/rpl_row_sp001.test:
Use remove_file instead of "system rm"
mysql-test/t/rpl_row_sp011.test:
Use remove_file instead of "system rm"
mysql-test/t/show_check.test:
Use remove_file instead of "system rm"
mysys/my_alloc.c:
Don't return on zero argument, as this may hide other errors
server-tools/instance-manager/log.cc:
Log errors to both stdout and stderr (to know in which context we got the error)
server-tools/instance-manager/thread_registry.cc:
Log error before common assert (to know in which context we fail)
sql/ha_ndbcluster.cc:
Do not terminate ndb_cluster_binary_log before the util thread has finnished.
sql/ha_ndbcluster.h:
Do not terminate ndb_cluster_binary_log before the util thread has finnished.
sql/ha_ndbcluster_binlog.cc:
Do not terminate ndb_cluster_binary_log before the util thread has finnished.
sql-common/client.c:
Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc)
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
mysql-test/t/disabled.def:
Auto merged
sql/handler.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/show_check.result:
Manual merge.
mysql-test/t/show_check.test:
Manual merge.
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
client/mysqlbinlog.cc:
Auto merged
include/my_global.h:
Auto merged
mysql-test/extra/rpl_tests/rpl_insert_id.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysys/mf_iocache2.c:
Auto merged
sql/field.cc:
Auto merged
sql/item_xmlfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/t/disabled.def:
Manual merge
sql/log.cc:
Manual merge
sql/sql_insert.cc:
Manual merge
Before this fix, the command SHOW ENGINE <name> STATUS would:
- print a warning if the engine name is unknown,
- proceed and implement the same behavior as SHOW ENGINE ALL STATUS,
and list the status of all the storage engines registered.
In particular, this behavior caused confusion about the command :
SHOW ENGINE MUTEX STATUS, which as a side effect would print the status
of the innodb engine when that engine is registered.
Also, before this fix, every time an unknown engine name was substituted by
the default engine (which happen unless SQL_MODE NO_ENGINE_SUBSTITUTION is
set), a malformed warning was raised.
For example, the command ALTER TABLE T1 ENGINE = X would print :
Warnings:
Error 1286 Unknown table engine 'X'
With this fix:
SHOW ENGINE <name> STATUS|LOGS|MUTEX
always fails with an error when the engine <name> is unknown.
For other commands, warnings about unknown engines are raised as:
Warnings:
Warning 1286 Unknown table engine 'X'
In other words, engine substitution never affect the SHOW ENGINE command,
since this would lead to very confusing results.
mysql-test/r/ndb_dd_basic.result:
Warnings for unknown engines.
mysql-test/r/partition_innodb.result:
Warnings for unknown engines.
mysql-test/r/ps_1general.result:
Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
mysql-test/r/show_check.result:
Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
mysql-test/t/ps_1general.test:
Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
mysql-test/t/show_check.test:
Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
sql/sql_yacc.yy:
Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
Problem: The Table_type column of "SHOW FULL TABLES" displayed
"ERROR" instead of "BASE TABLE" for tables having non-ascii
characters in their names.
Reason: tablename to filename encoding was missing, so
mysql_frm_type() tried to open a wrong file name.
Fix: adding tablename to filename encoding
mysql-test/r/show_check.result:
Adding test case
mysql-test/t/show_check.test:
Adding test case
sql/sql_show.cc:
Adding tablename to filename encoding.
Removing variable "end" with is not used anymore.
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax
BUILD/SETUP.sh:
Give warnings for unused objects
mysql-test/extra/binlog_tests/insert_select-binlog.test:
Changed to use new error message
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_auto_increment.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_foreign_key.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_insert_id.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_insert_id_pk.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_loaddata.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_row_basic.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test:
Changed to use new error message
mysql-test/extra/rpl_tests/rpl_trig004.test:
Changed to use new error message
mysql-test/include/mix1.inc:
Changed to use new error message
mysql-test/include/mix2.inc:
Changed to use new error message
mysql-test/include/ps_modify.inc:
Changed to use new error message
mysql-test/include/query_cache.inc:
Changed to use new error message
mysql-test/include/varchar.inc:
Changed to use new error message
mysql-test/r/create.result:
Changed to use new error message
mysql-test/r/rpl_sp.result:
Changed to use new error message
mysql-test/r/sp.result:
Changed to use new error message
mysql-test/r/view.result:
Changed to use new error message
mysql-test/t/auto_increment.test:
Changed to use new error message
mysql-test/t/create.test:
Changed to use new error message
mysql-test/t/create_select_tmp.test:
Changed to use new error message
mysql-test/t/ctype_utf8.test:
Changed to use new error message
mysql-test/t/delayed.test:
Changed to use new error message
mysql-test/t/heap.test:
Changed to use new error message
mysql-test/t/heap_btree.test:
Changed to use new error message
mysql-test/t/heap_hash.test:
Changed to use new error message
mysql-test/t/innodb.test:
Changed to use new error message
mysql-test/t/insert_select.test:
Changed to use new error message
mysql-test/t/insert_update.test:
Changed to use new error message
mysql-test/t/join_outer.test:
Changed to use new error message
mysql-test/t/key.test:
Changed to use new error message
mysql-test/t/merge.test:
Changed to use new error message
mysql-test/t/myisam.test:
Changed to use new error message
mysql-test/t/ndb_charset.test:
Changed to use new error message
mysql-test/t/ndb_index_unique.test:
Changed to use new error message
mysql-test/t/ndb_insert.test:
Changed to use new error message
mysql-test/t/ndb_replace.test:
Changed to use new error message
mysql-test/t/ndb_update.test:
Changed to use new error message
mysql-test/t/replace.test:
Changed to use new error message
mysql-test/t/rpl_err_ignoredtable.test:
Changed to use new error message
mysql-test/t/rpl_row_create_table.test:
Changed to use new error message
mysql-test/t/rpl_skip_error-slave.opt:
Changed to use new error message
mysql-test/t/rpl_sp.test:
Changed to use new error message
mysql-test/t/show_check.test:
Changed to use new error message
mysql-test/t/sp-error.test:
Changed to use new error message
mysql-test/t/sp.test:
Changed to use new error message
mysql-test/t/sp_trans.test:
Changed to use new error message
mysql-test/t/temp_table.test:
Changed to use new error message
mysql-test/t/type_binary.test:
Changed to use new error message
mysql-test/t/type_bit.test:
Changed to use new error message
mysql-test/t/type_bit_innodb.test:
Changed to use new error message
mysql-test/t/type_blob.test:
Changed to use new error message
mysql-test/t/type_varchar.test:
Changed to use new error message
mysql-test/t/view.test:
Changed to use new error message
sql/handler.cc:
ER_DUP_ENTRY -> ER_DUP_ENTRY_WITH_KEY_NAME
sql/share/errmsg.txt:
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax
sql/sql_table.cc:
ER_DUP_ENTRY -> ER_DUP_ENTRY_WITH_KEY_NAME
sql-bench/example:
Example file for how to run tests
into mysql.com:/home/hf/work/mysql-5.1-mrg
Makefile.am:
Auto merged
client/mysqltest.c:
Auto merged
include/mysql.h:
Auto merged
BitKeeper/deleted/.del-bdb-deadlock.test:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/r/order_by.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/lock_multi.test:
Auto merged
mysql-test/t/rename.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/status.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/protocol.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/protocol.h:
Auto merged
sql/sql_class.h:
Auto merged
mysql-test/include/deadlock.inc:
SCCS merged
mysql-test/t/disabled.def:
merging
sql/item.cc:
merging
Necessary code added to mysqltest.c.
Disabled tests are available now.
client/mysqltest.c:
do_send_query function implemented, so now 'send' command will be
run in separate thread for the embedded server.
Mutex and condition added to the 'connection' struct for syncronisation
purposes. Yes it'd be easier if we had pthread_join() command
libmysql/libmysql.c:
this isn't actually needed and causes problems in embedded server
mysql-test/t/bdb-deadlock.test:
test is available for the embedded server now
mysql-test/t/flush.test:
test is available for the embedded server now
mysql-test/t/flush_block_commit.test:
test is available for the embedded server now
mysql-test/t/innodb-deadlock.test:
test is available for the embedded server now
mysql-test/t/innodb-lock.test:
test is available for the embedded server now
mysql-test/t/lock_multi.test:
test is available for the embedded server now
mysql-test/t/rename.test:
test is available for the embedded server now
mysql-test/t/show_check.test:
test is available for the embedded server now
mysql-test/t/status.test:
test is available for the embedded server now
Do not consider SHOW commands slow queries, just because they don't use proper indexes.
This bug fix is not needed in 5.1, and the code changes will be null merged. However, the test cases will be propogated up to 5.1.
mysql-test/t/show_check-master.opt:
Rename: BitKeeper/deleted/.del-show_check-master.opt -> mysql-test/t/show_check-master.opt
mysql-test/r/ps.result:
Add test case for bug 19764
mysql-test/r/show_check.result:
Add test case for bug 19764
mysql-test/r/union.result:
Adjust test case results based on bug #19764 changes
mysql-test/t/ps.test:
Add test case for bug 19764
mysql-test/t/show_check.test:
Add test case for bug 19764
sql/sql_parse.cc:
Do not log SHOW commands as slow queries just because they don't use indexes.
sql/sql_prepare.cc:
Save stmt_backup.lex->orig_sql_command for use in log_slow_statement()
mysql-test/t/ps-master.opt:
Add log-slow-queries and --log-queries-not-using indexes, to test bug #19764
Set a flag when a SHOW command is parsed, and check it in log_slow_statement(). SHOW commands are not counted as slow queries, even if they use table scans.
mysql-test/t/show_check-master.opt:
BitKeeper file /usr/home/tim/m/bk/b19764/50/mysql-test/t/show_check-master.opt
mysql-test/r/show_check.result:
Add test for bug #19764
mysql-test/t/show_check.test:
Add test for bug #19764
sql/sql_lex.cc:
Set lex->is_show_command= FALSE in lex_start
sql/sql_lex.h:
Add LEX->is_slow_command flag to prevent SHOW commands from being written to the slow queries log
sql/sql_parse.cc:
Don't log slow statement if it is a SHOW command
sql/sql_yacc.yy:
Set lex->is_show_command for all SHOW commands
Identifiers with embedded escape characters were not handled correctly by
some SHOW statements due to some old code that was doing some extra unescaping.
mysql-test/r/show_check.result:
Add new results
mysql-test/t/show_check.test:
Add new regression test
sql/sql_parse.cc:
Remove remove_escape() -- it is not actually necessary, and now harmful because
identifiers may include escape characters.
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.
'conc_sys' test
Concurrent execution of SELECT involing at least two INFORMATION_SCHEMA
tables, DROP DATABASE statement and DROP TABLE statement could have
resulted in stalled connection for this SELECT statement.
The problem was that for the first query of a join there was a race
between select from I_S.TABLES and DROP DATABASE, and the error (no
such database) was prepared to be send to the client, but the join
processing was continued. On second query to I_S.COLUMNS there was a
race with DROP TABLE, but this error (no such table) was downgraded to
warning, and thd->net.report_error was reset. And so neither result
nor error was sent to the client.
The solution is to stop join processing once it is clear we are going
to report a error, and also to downgrade to warnings file system errors
like 'no such database' (unless we are in the 'SHOW' command), because
I_S is designed not to use locks and the query to I_S should not abort
if something is dropped in the middle.
No test case is provided since this bug is a result of a race, and is
timing dependant. But we test that plain SHOW TABLES and SHOW COLUMNS
give a error if there is no such database or a table respectively.
mysql-test/r/show_check.result:
Add result for the test that SHOW TABLES and SHOW COLUMNS give a error
if there is no such database or a table respectively.
mysql-test/t/show_check.test:
Add test case that SHOW TABLES and SHOW COLUMNS give a error
if there is no such database or a table respectively.
sql/mysql_priv.h:
Remove prototype of mysql_find_files(), which is made static under
find_files() name.
sql/sql_show.cc:
Rename mysql_find_files() to find_files() and make it static.
Return FIND_FILES_OK for success, FIND_FILES_OOM for out of memory,
and FIND_FILES_DIR for directory reading error.
Downgrade error to warning in get_all_tables() if it is a
FIND_FILES_DIR error, and we are not in the 'SHOW' command.
Once 'result' is set to 1 in get_schema_tables_result(), there's no
need in continuing iterations, as we are about to return a error.
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge-5.0
include/my_sys.h:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/func_math.result:
Auto merged
mysql-test/r/func_system.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/log.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
sql/slave.h:
SCCS merged
mysql-test/r/show_check.result:
Manual merge.
mysql-test/t/show_check.test:
Manual merge.
sql/log_event.cc:
Manual merge.
sql/share/errmsg.txt:
Manual merge.
sql/sql_class.h:
Manual merge.
sql/sql_db.cc:
Manual merge.
(Found by dgcov)
mysql-test/r/show_check.result:
Test SHOW PLUGIN.
(Was not covered by test suite before)
mysql-test/t/show_check.test:
Test SHOW PLUGIN.
(Was not covered by test suite before)
mysys/my_handler.c:
Added purecov comment for new, not executed code
sql/filesort.cc:
Added purecov comment for new, not executed code
Removed 'purecov: inspected' from code covered by current testsuite
sql/ha_ndbcluster_binlog.cc:
Added purecov comment for new, not executed code
sql/log_event.cc:
Added purecov comment for new, not executed code
sql/mysqld.cc:
Added purecov comment for new, not executed code
sql/sql_parse.cc:
Added purecov comment for new, not executed code
The problem was that we restored SQL_CACHE, SQL_NO_CACHE flags in SELECT
statement from internal structures based on value set later at runtime, not
the original value set by the user.
The solution is to remember that original value.
mysql-test/r/auto_increment.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_compress.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_math.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_system.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_time.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/information_schema.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/query_cache.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/rpl_get_lock.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/rpl_master_pos_wait.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/show_check.result:
Add result for bug#17203.
mysql-test/r/subselect.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/type_blob.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/variables.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/view.result:
Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/t/show_check.test:
Add test case for bug#17203.
sql/sql_lex.cc:
Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
sql/sql_lex.h:
Add SELECT_LEX::sql_cache field to store original user setting.
sql/sql_select.cc:
Output SQL_CACHE and SQL_NO_CACHE depending on stored original user setting.
sql/sql_yacc.yy:
Make effect of SQL_CACHE and SQL_NO_CACHE mutually exclusive. Ignore
SQL_CACHE if SQL_NO_CACHE was used. Remember what was set by the user.
Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
Under row-based replication, DELETE FROM will now always be
replicated as individual row deletions, while TRUNCATE TABLE will
always be replicated as a statement.
mysql-test/extra/rpl_tests/rpl_ddl.test:
Using --echo instead of SELECT to print message.
mysql-test/r/binlog_row_mix_innodb_myisam.result:
Result change.
mysql-test/r/federated.result:
Result change.
mysql-test/r/range.result:
Result change.
mysql-test/r/rpl_sp_effects.result:
Result change.
mysql-test/r/show_check.result:
Result change.
mysql-test/r/sp-error.result:
Result change.
mysql-test/r/sp.result:
Result change.
mysql-test/r/timezone2.result:
Result change.
mysql-test/r/trigger-grant.result:
Result change.
mysql-test/r/type_datetime.result:
Result change.
mysql-test/r/type_ranges.result:
Result change.
mysql-test/r/type_timestamp.result:
Result change.
mysql-test/r/view.result:
Result change.
mysql-test/t/archive.test:
Test contain statements that only works for statement-based logging.
mysql-test/t/disabled.def:
Disabling test due to reported bug.
mysql-test/t/federated.test:
Adding ORDER BY clause to SELECT statements
mysql-test/t/range.test:
Adding ORDER BY clause to SELECT (sub-)statement
mysql-test/t/rpl_sp_effects.test:
Adding ORDER BY clause to SELECT statement.
mysql-test/t/show_check.test:
Replacing DELETE FROM without WHERE with TRUNCATE TABLE.
mysql-test/t/sp-error.test:
Replacing DELETE FROM without WHERE with TRUNCATE TABLE.
mysql-test/t/sp.test:
Adding ORDER BY clause to SELECT statement.
mysql-test/t/timezone2.test:
Replacing DELETE FROM without WHERE with TRUNCATE TABLE.
mysql-test/t/trigger-grant.test:
Replacing DELETE FROM without WHERE with TRUNCATE TABLE.
mysql-test/t/type_datetime.test:
Adding ORDER BY clause to SELECT statement.
mysql-test/t/type_ranges.test:
Replacing DELETE FROM without WHERE with TRUNCATE TABLE.
mysql-test/t/type_timestamp.test:
Replacing DELETE FROM without WHERE with TRUNCATE TABLE.
mysql-test/t/view.test:
Adding ORDER BY clause to SELECT statement.
sql/sql_class.h:
Adding member function to set replication to statement-based.
sql/sql_delete.cc:
When row-based replication is used, DELETE FROM will always delete the
contents of the table row-by-row and not use delete_all_rows().
mysql-test/extra/rpl_tests/rpl_truncate.test:
New BitKeeper file ``mysql-test/extra/rpl_tests/rpl_truncate.test''
mysql-test/extra/rpl_tests/rpl_truncate_helper.inc:
New BitKeeper file ``mysql-test/extra/rpl_tests/rpl_truncate_helper.inc''
mysql-test/r/rpl_truncate_2myisam.result:
New BitKeeper file ``mysql-test/r/rpl_truncate_2myisam.result''
mysql-test/r/rpl_truncate_3innodb.result:
New BitKeeper file ``mysql-test/r/rpl_truncate_3innodb.result''
mysql-test/r/rpl_truncate_7ndb.result:
New BitKeeper file ``mysql-test/r/rpl_truncate_7ndb.result''
mysql-test/t/rpl_truncate_2myisam.test:
New BitKeeper file ``mysql-test/t/rpl_truncate_2myisam.test''
mysql-test/t/rpl_truncate_3innodb.test:
New BitKeeper file ``mysql-test/t/rpl_truncate_3innodb.test''
mysql-test/t/rpl_truncate_7ndb.test:
New BitKeeper file ``mysql-test/t/rpl_truncate_7ndb.test''
Rename mix_innodb_myisam_binlog-master.opt; when the test was moved to
separate stm/row test cases, the .opt were not moved along with it,
causing a 60-second test duration because of default lock timeout :-(
mysql-test/t/binlog_row_mix_innodb_myisam-master.opt:
bk cp mysql-test/t/mix_innodb_myisam_binlog-master.opt mysql-test/t/binlog_row_mix_innodb_myisam-master.opt
mysql-test/t/binlog_stm_mix_innodb_myisam-master.opt:
Rename: mysql-test/t/mix_innodb_myisam_binlog-master.opt -> mysql-test/t/binlog_stm_mix_innodb_myisam-master.opt
mysql-test/r/mysqlbinlog_base64.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/ndb_load.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_LD_INFILE.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_loaddata2.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_loaddata_m.result:
Fix test cases to work with non-standard --vardir.
mysql-test/t/loaddata.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/mysqlbinlog_base64.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/ndb_dd_dump.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/ndb_load.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_LD_INFILE.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_loaddata2.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_loaddata_m.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_loadfile.test:
Fix test cases to work with non-standard --vardir.
mysql-test/extra/rpl_tests/rpl_row_001.test:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_load_table_from_master.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_loadfile.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_ndb_row_001.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_row_001.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_row_loaddata_m.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_row_stop_middle_update.result:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_drop_db.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_load_table_from_master.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_stop_middle_update.test:
Fix test cases to work with non-standard --vardir.
mysql-test/extra/rpl_tests/rpl_row_UUID.test:
Fix test cases to work with non-standard --vardir.
mysql-test/extra/rpl_tests/rpl_row_blob.test:
Fix test cases to work with non-standard --vardir.
mysql-test/extra/rpl_tests/rpl_row_charset.test:
Fix test cases to work with non-standard --vardir.
mysql-test/extra/rpl_tests/rpl_row_func003.test:
Fix test cases to work with non-standard --vardir.
mysql-test/extra/rpl_tests/rpl_row_sp006.test:
Fix test cases to work with non-standard --vardir.
mysql-test/include/ndb_backup.inc:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_ndb_bank.result:
Fix test cases to work with non-standard --vardir.
mysql-test/r/rpl_ndb_sync.result:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_ndb_bank.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_ndb_sync.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_NOW.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_func002.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_sp001.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_sp011.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_trig001.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_row_trig003.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/rpl_sp004.test:
Fix test cases to work with non-standard --vardir.
mysql-test/t/show_check.test:
Fix test cases to work with non-standard --vardir.
mysql-test/include/partition_1.inc:
Fix test cases to work with non-standard --vardir.
mysql-test/include/partition_layout.inc:
Fix test cases to work with non-standard --vardir.
mysql-test/r/ndb_dd_backuprestore.result:
Fix test cases to work with non-standard --vardir.
mysql-test/include/have_outfile.inc:
Use MYSQLTEST_VARDIR
mysql-test/include/test_outfile.inc:
Use MYSQLTEST_VARDIR
mysql-test/mysql-test-run.pl:
Create variable $MYSQLTEST_VARDIR that points to the vardir
Don't create a symlink from var/ to the physical vardir if it's somewhere else
Setup a symlink(or copy dir on windows) for std_data so it is available in the physical vardir
Use "../tmp" as slave-load-tmpdir, since the server is started in var/master-data and slave in var/slave-data they will both find the dumps in "../tmp"
mysql-test/mysql-test-run.sh:
Export MYSQLTEST_VARDIR, always pointing at mysql-test/var
mysql-test/r/backup.result:
Use MYSQLTEST_VARDIR
mysql-test/r/blackhole.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/loaddata.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/mysqlbinlog.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/mysqltest.result:
Use MYSQLTEST_VARDIR
mysql-test/r/outfile.result:
Use MYSQLTEST_VARDIR
mysql-test/r/query_cache.result:
Add missing drop function
mysql-test/r/rpl000001.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl000004.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_innodb.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddata.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddata_rule_m.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddata_rule_s.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddatalocal.result:
Use MYSQLTEST_VARDIR
mysql-test/r/rpl_log.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_misc_functions.result:
Use MYSQLTEST_VARDIR
mysql-test/r/rpl_replicate_do.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_rewrite_db.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_timezone.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/symlink.result:
Use MYSQLTEST_VARDIR
mysql-test/r/trigger.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/view.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/warnings.result:
Use "../std_data_ln" to find std_data files
mysql-test/t/backup-master.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/backup.test:
Use MYSQLTEST_VARDIR
mysql-test/t/blackhole.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/ctype_ucs_binlog.test:
Use MYSQLTEST_VARDIR
mysql-test/t/im_daemon_life_cycle-im.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/im_options_set.imtest:
Use MYSQLTEST_VARDIR
mysql-test/t/im_options_unset.imtest:
Use MYSQLTEST_VARDIR
mysql-test/t/loaddata.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/myisam.test:
Use MYSQLTEST_VARDIR
mysql-test/t/mysqlbinlog.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/mysqlbinlog2.test:
Use MYSQLTEST_VARDIR
mysql-test/t/mysqldump.test:
Use MYSQLTEST_VARDIR
mysql-test/t/mysqltest.test:
Use MYSQLTEST_VARDIR
mysql-test/t/ndb_autodiscover.test:
Use MYSQLTEST_VARDIR
mysql-test/t/outfile.test:
Use MYSQLTEST_VARDIR
mysql-test/t/query_cache.test:
Add missing drop function
mysql-test/t/repair.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl000001.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl000004.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl000009.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl000015-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl000017-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_EE_error.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_charset.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_drop_db.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-master.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-master.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-slave.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_innodb.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddata.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddata_rule_m.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddata_rule_s.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddatalocal.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_log.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_misc_functions-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_misc_functions.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_replicate_do.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_rewrite_db.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_rotate_logs-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_rotate_logs.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_timezone.test:
Use MYSQLTEST_VARDIR
mysql-test/t/show_check.test:
Use MYSQLTEST_VARDIR
mysql-test/t/sp-destruct.test:
Use MYSQLTEST_VARDIR
mysql-test/t/symlink.test:
Use MYSQLTEST_VARDIR
mysql-test/t/temp_table-master.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/trigger-compat.test:
Use MYSQLTEST_VARDIR
mysql-test/t/trigger-grant.test:
Use MYSQLTEST_VARDIR
mysql-test/t/trigger.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/type_varchar.test:
Use MYSQLTEST_VARDIR
mysql-test/t/user_var-binlog.test:
Use MYSQLTEST_VARDIR
mysql-test/t/view.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/warnings.test:
Use "../std_data_ln" to find std_data files
mysql-test/include/sourced.inc:
New BitKeeper file ``mysql-test/include/sourced.inc''
mysql-test/include/sourced1.inc:
New BitKeeper file ``mysql-test/include/sourced1.inc''
tree to get rid of multiple typos in CS comments and
unify the patch.
configure.in:
CSV is compiled in by default now
include/my_base.h:
add new ha_extra flag for the log tables
mysql-test/include/im_check_os.inc:
we should only run im tests if csv is on for now: im relies
on mysqld options available only in csv build.
mysql-test/include/system_db_struct.inc:
check log tables structure
mysql-test/lib/init_db.sql:
create log tables when running tests.
mysql-test/mysql-test-run.pl:
Add old logs flag to IM tests. As IM could only deal with
old logs (this feature is not needed with log tables)
mysql-test/r/connect.result:
update result
mysql-test/r/csv.result:
update result
mysql-test/r/im_utils.result:
update result
mysql-test/r/information_schema.result:
update result
mysql-test/r/mysqlcheck.result:
update result
mysql-test/r/show_check.result:
update result
mysql-test/r/system_mysql_db.result:
update result
mysql-test/t/connect.test:
disable test if CSV engine is not in: result depends on the
presence of CSV-based log tables
mysql-test/t/csv.test:
add tests for concurrent insert (the functionality is added
to CSV in this patch)
mysql-test/t/information_schema.test:
disable test if CSV engine is not in: result depends on the
presence of CSV-based log tables
mysql-test/t/mysqlcheck.test:
disable test if CSV engine is not in: result depends on the
presence of CSV-based log tables
mysql-test/t/show_check.test:
disable test if CSV engine is not in: result depends on the
presence of CSV-based log tables
mysql-test/t/system_mysql_db.test:
disable test if CSV engine is not in: result depends on the
presence of CSV-based log tables
mysql-test/t/system_mysql_db_fix.test:
disable test if CSV engine is not in: result depends on the
presence of CSV-based log tables
scripts/mysql_create_system_tables.sh:
new system tables: slow_log and general_log
scripts/mysql_fix_privilege_tables.sql:
add new log tables: use an SP to create them for
non-csv build to work fine.
sql/ha_myisam.cc:
move locking-related checks to the hanlder
sql/ha_myisam.h:
new function declared
sql/handler.h:
new virtual function is added: we should check for handler-related
locking issues in the handler
sql/lock.cc:
from now on we check for handler-related locking issues
in the handler itself rather then in lock.cc
sql/log.cc:
Add log tables support, refactoring: there are log event
handlers with common interface. They are used by the LOGGER
class, which is responsible for their initialization, cleanup
and managment. Logging to the tables provided by one of the
log event handler types.
sql/log.h:
declare new log classes
sql/log_event.cc:
convert old logging routines calls to use new API
sql/mysql_priv.h:
define common log routines and objects
sql/mysqld.cc:
Add support for the log tables. Their initalization, cleanup
and specific options.
sql/share/errmsg.txt:
add new error messages for the log tables
sql/slave.cc:
convert old logging routines calls to use new API
sql/sql_base.cc:
TABLE objects used by the logger should be skipped
during refreshes (as log tables are always opened
and locked). fix table_is_used to skip them. This
is needed for FLUSH LOGS to work
sql/sql_db.cc:
convert old logging routines calls to use new API
sql/sql_delete.cc:
fix TRUNCATE to work with log tables
sql/sql_parse.cc:
command_name is now an array of LEX_STRINGs
sql/sql_prepare.cc:
convert old logging routines calls to use new API
sql/sql_show.cc:
convert old logging routines calls to use new API
sql/sql_table.cc:
don't reoped the log tables for admin purposes
sql/table.cc:
mark log tables as such during the open
sql/table.h:
add log-related info
storage/csv/ha_tina.cc:
add support for concurrent insert (see bk commit - 5.1 tree
(petr:1.1910) for standalone patch), add log tables-specific
csv table handling.
storage/csv/ha_tina.h:
enable concurrent insert for CSV, add log table flag
mysql-test/r/log_tables.result:
New BitKeeper file ``mysql-test/r/log_tables.result''
mysql-test/t/log_tables.test:
New BitKeeper file ``mysql-test/t/log_tables.test''
- 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
into mysql.com:/home/alik/MySQL/devel/5.1-wl2984-merge
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
BitKeeper/deleted/.del-type_newdecimal-big.result:
Auto merged
BitKeeper/deleted/.del-type_newdecimal-big.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/field.cc:
Merge.
sql/sp_head.cc:
Merge.
sql/sql_select.cc:
Merge.
according to the standard.
The idea is to use Field-classes to implement stored routines
variables. Also, we should provide facade to Item-hierarchy
by Item_field class (it is necessary, since SRVs take part
in expressions).
The patch fixes the following bugs:
- BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data
type matching;
- BUG#8768: Functions: For any unsigned data type, -ve values can be passed
and returned;
- BUG#8769: Functions: For Int datatypes, out of range values can be passed
and returned;
- BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use
DECIMAL datatype;
- BUG#9572: Stored procedures: variable type declarations ignored;
- BUG#12903: upper function does not work inside a function;
- BUG#13705: parameters to stored procedures are not verified;
- BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
data;
- BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores
CHARACTER SET);
- BUG#14161: Stored procedure cannot retrieve bigint unsigned;
- BUG#14188: BINARY variables have no 0x00 padding;
- BUG#15148: Stored procedure variables accept non-scalar values;
mysql-test/r/ctype_ujis.result:
Explicitly specify correct charset.
mysql-test/r/schema.result:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/r/show_check.result:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/r/skip_name_resolve.result:
Ignore columns with unpredictable values.
mysql-test/r/sp-big.result:
Add cleanup statement.
mysql-test/r/sp-dynamic.result:
Add cleanup statements.
mysql-test/r/sp.result:
Update result file.
mysql-test/r/sum_distinct-big.result:
Update result file.
mysql-test/r/type_newdecimal-big.result:
Update result file.
mysql-test/t/ctype_ujis.test:
Explicitly specify correct charset.
mysql-test/t/schema.test:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/t/show_check.test:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/t/skip_name_resolve.test:
Ignore columns with unpredictable values.
mysql-test/t/sp-big.test:
Add cleanup statement.
mysql-test/t/sp-dynamic.test:
Add cleanup statements.
mysql-test/t/sp.test:
Non-scalar values prohibited for assignment to SP-vars;
polishing.
mysql-test/t/type_newdecimal-big.test:
Update type specification so that the variables
can contain the large values used in the test.
sql/field.cc:
Extract create_field::init() to initialize an existing
instance of create_field from new_create_field().
sql/field.h:
Extract create_field::init() to initialize an existing
instance of create_field from new_create_field().
sql/item.cc:
- Introduce a new class: Item_sp_variable -- a base class
of stored-routine-variables classes;
- Introduce Item_case_expr -- an Item, which is used to access
to the expression of CASE statement;
sql/item.h:
- Introduce a new class: Item_sp_variable -- a base class
of stored-routine-variables classes;
- Introduce Item_case_expr -- an Item, which is used to access
to the expression of CASE statement;
sql/item_func.cc:
Pass the Field (instead of Item) for the return value of
a function to the function execution routine.
sql/item_func.h:
Pass the Field (instead of Item) for the return value of
a function to the function execution routine.
sql/mysql_priv.h:
Move create_virtual_tmp_table() out of sql_select.h.
sql/sp.cc:
Use create_result_field() instead of make_field().
sql/sp_head.cc:
- Add a function to map enum_field_types to Item::Type;
- Add sp_instr_push_case_expr instruction -- an instruction
to push CASE expression into the active running context;
- Add sp_instr_pop_case_expr instruction -- an instruction
to pop CASE expression from the active running context;
- Adapt the SP-execution code to using Fields instead of Items
for SP-vars;
- Use create_field structure for field description instead of
a set of members.
sql/sp_head.h:
- Add a function to map enum_field_types to Item::Type;
- Add sp_instr_push_case_expr instruction -- an instruction
to push CASE expression into the active running context;
- Add sp_instr_pop_case_expr instruction -- an instruction
to pop CASE expression from the active running context;
- Adapt the SP-execution code to using Fields instead of Items
for SP-vars;
- Use create_field structure for field description instead of
a set of members.
sql/sp_pcontext.cc:
- Change rules to assign an index of SP-variable: use
transparent index;
- Add an operation to retrieve a list of defined SP-vars
from the processing context recursively.
sql/sp_pcontext.h:
- Change rules to assign an index of SP-variable: use
transparent index;
- Add an operation to retrieve a list of defined SP-vars
from the processing context recursively.
sql/sp_rcontext.cc:
- Change rules to assign an index of SP-variable: use
transparent index;
- Use a tmp virtual table to store SP-vars instead of Items;
- Provide operations to work with CASE expresion.
sql/sp_rcontext.h:
- Change rules to assign an index of SP-variable: use
transparent index;
- Use a tmp virtual table to store SP-vars instead of Items;
- Provide operations to work with CASE expresion.
sql/sql_class.cc:
- Reflect Item_splocal ctor changes;
- Item_splocal::get_offset() has been renamed to get_var_idx().
sql/sql_class.h:
Polishing.
sql/sql_parse.cc:
Extract create_field::init() to initialize an existing
instance of create_field from new_create_field().
sql/sql_select.cc:
Take care of BLOB columns in create_virtual_tmp_table().
sql/sql_select.h:
Move create_virtual_tmp_table() out of sql_select.h.
sql/sql_trigger.cc:
Use boolean constants for boolean type instead of numerical ones.
sql/sql_yacc.yy:
Provide an instance of create_field for each SP-var.
mysql-test/include/sp-vars.inc:
The definitions of common-procedures, which are created
under different circumstances.
mysql-test/r/sp-vars.result:
Result file for the SP-vars test.
mysql-test/sp-vars.test:
A new test for checking SP-vars functionality.
is needed to do SHOW CREATE DATABASE
To allow SHOW CREATE DATABASE when the user can use the database
mysql-test/r/show_check.result:
Fix for bug#9785 SELECT privilege for the whole database
is needed to do SHOW CREATE DATABASE
test result
mysql-test/t/show_check.test:
Fix for bug#9785 SELECT privilege for the whole database
is needed to do SHOW CREATE DATABASE
test case
sql/sql_show.cc:
Fix for bug#9785 SELECT privilege for the whole database
is needed to do SHOW CREATE DATABASE
removed unnecessary code