into mysql.com:/usr/home/bar/mysql-5.1.b21505
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_select.cc:
Auto merged
The problem was that any VIEW columns had always implicit derivation.
Fix: derivation is now copied from the original expression
given in VIEW definition.
For example:
- a VIEW column which comes from a string constant
in CREATE VIEW definition have now coercible derivation.
- a VIEW column having COLLATE clause
in CREATE VIEW definition have now explicit derivation.
mysql-test/r/ctype_utf8.result:
Adding test case
mysql-test/t/ctype_utf8.test:
Adding test case
sql/field.cc:
Copying derivation from item to field.
sql/field.h:
Adding derivation and methods to get/set it into Field.
sql/item.cc:
Copying derivation from field to item.
sql/item.h:
Moving "enum Derivation" declaration from item.h to mysql_priv.h
sql/mysql_priv.h:
Moving "enum Derivation" declaration from item.h to mysql_priv.h
sql/sql_select.cc:
Copying derivation from item to field in
create_tmp_field_from_item() and create_tmp_field().
into mysql.com:/home/hf/work/mysql-5.1.clean
include/my_time.h:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/order_by.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/r/udf.result:
Auto merged
mysql-test/t/func_group.test:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/my_decimal.cc:
Auto merged
sql/my_decimal.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/records.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
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-common/my_time.c:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/type_newdecimal.result:
SCCS merged
mysql-test/t/type_newdecimal.test:
merging
sql/item.cc:
merging
sql/item_subselect.cc:
SCCS merged
sql/item_timefunc.h:
merging
sql/sql_lex.cc:
SCCS merged
sql/sql_select.h:
merging
into outpost.site:/home/cps/mysql/trees/5.1-runtime-bug9191
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
into outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
into weblab.(none):/home/marcsql/TREE/mysql-5.1-21114_b
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Due to the complexity of this change, everything is documented in WL#3565
This patch is the third iteration, it takes into account the comments
received to date.
mysql-test/r/func_math.result:
Improved test coverage
mysql-test/r/view.result:
Name collision, x() is a geometry native in function
mysql-test/t/func_math.test:
Improved test coverage
mysql-test/t/view.test:
Name collision, x() is a geometry native in function
sql/item_create.cc:
Revised the create_func implementation
sql/item_create.h:
Revised the create_func implementation
sql/item_geofunc.h:
Explicit Item allocation in the thread memory pool.
sql/lex.h:
Removed function parsing from the lexical parser
sql/lex_symbol.h:
Removed function parsing from the lexical parser
sql/mysql_priv.h:
Server initialization and shutdown
sql/mysqld.cc:
Server initialization and shutdown
sql/share/errmsg.txt:
New error messages
sql/sql_yacc.yy:
Removed function parsing from the lexical parser
tests/mysql_client_test.c:
Spaces are no longer significant for function calls
mysql-test/include/parser_bug21114.inc:
New tests
mysql-test/r/parser.result:
New tests
mysql-test/r/parser_bug21114_innodb.result:
New tests
mysql-test/t/parser.test:
New tests
mysql-test/t/parser_bug21114_innodb.test:
New tests
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
mysql-test/r/ps.result:
SCCS merged
into rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/filesort.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/records.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
into bodhi.local:/opt/local/work/mysql-4.1-runtime
mysql-test/r/ps.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
into mysql.com:/home/cps/mysql/trees/5.1-runtime-bug9191
configure.in:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/timezone2.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/timezone2.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql-common/my_time.c:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/time.cc:
Auto merged
sql/tztime.cc:
Auto merged
include/my_time.h:
manual merge
into mysql.com:/home/cps/mysql/trees/5.0-runtime-bug9191
configure.in:
Auto merged
include/my_time.h:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/timezone2.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/timezone2.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/time.cc:
Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
Auto merged
sql-common/my_time.c:
manual merge
sql/item_timefunc.cc:
manual merge
sql/tztime.cc:
manual merge
(4.1 version, with post-review fixes)
The fix for another Bug (6439) limited FROM_UNIXTIME() to
TIMESTAMP_MAX_VALUE which is 2145916799 or 2037-12-01 23:59:59 GMT,
however unix timestamp in general is not considered to be limited
by this value. All dates up to power(2,31)-1 are valid.
This patch extends allowed TIMESTAMP range so, that max
TIMESTAMP value is power(2,31)-1. It also corrects
FROM_UNIXTIME() and UNIX_TIMESTAMP() functions, so that
max allowed UNIX_TIMESTAMP() is power(2,31)-1. FROM_UNIXTIME()
is fixed accordingly to allow conversion of dates up to
2038-01-19 03:14:07 UTC. The patch also fixes CONVERT_TZ()
function to allow extended range of dates.
The main problem solved in the patch is possible overflows
of variables, used in broken-time representation to time_t
conversion (required for UNIX_TIMESTAMP).
acinclude.m4:
Add new macro to check time_t range
configure.in:
Call the macro to check time_t range
include/my_time.h:
Move time-related defines to proper place.
Add a function to perform a rough check if
a TIMESTAMP value fits into the boundaries.
Note: it is defined as "static inline", as
otherwise libmysql won't compile (due to the
way how gcc handles "inline" directive).
mysql-test/r/func_time.result:
Update test result
mysql-test/r/timezone.result:
Update test result
mysql-test/r/timezone2.result:
Update test result
mysql-test/t/func_time.test:
Add test for Bug#9191 and update test to be consistent
with new TIMESTAMP boundaries
mysql-test/t/timezone.test:
Update old tests to be consistent
with new TIMESTAMP boundaries
mysql-test/t/timezone2.test:
Update tests for convert_tz to be consistent with new
TIMESTAMP boundaries
sql/item_timefunc.cc:
Fix convert_tz to allow dates from the new (extended)
TIMESTAMP range
sql/mysql_priv.h:
Move time handling defaults to my_time.h
sql-common/my_time.c:
Because of increased TIMESTAMP_MAX_VALUE overflows in my_system_gmt_sec()
became possible. Here we make it safe against the overflows by stepping
back from the boundary dates which are likely to trigger them.
sql/time.cc:
Update TIME_to_timestamp to allow conversion of
extended date range
sql/tztime.cc:
Fix new (4.1) implementation of broken-down time representation
to time_t conversion routine to avoid overflows during conversion
of boundary dates
mysql-test/r/timezone4.result:
New BitKeeper file ``mysql-test/r/timezone4.result''
mysql-test/t/timezone4-master.opt:
New BitKeeper file ``mysql-test/t/timezone4-master.opt''
mysql-test/t/timezone4.test:
New BitKeeper file ``mysql-test/t/timezone4.test''
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Allocation of memory for the sort buffer at each evaluation of a
subquery may take a significant amount of time if the buffer is rather big.
With the fix we allocate the buffer at the first evaluation of the
subquery and reuse it at each subsequent evaluation.
mysql-test/r/subselect.result:
Added a test case for bug #21727.
mysql-test/t/subselect.test:
Added a test case for bug #21727.
sql/item_subselect.h:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added an implementation for Item_subselect::is_uncacheable()
returning TRUE if the engine if the subselect is uncacheable.
sql/mysql_priv.h:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/records.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/sql_base.cc:
Fixed bug #21727.
Made sure that st_table::pos_in_table_list would be always initialized.
sql/sql_select.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/sql_show.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/sql_table.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Cleanup.
sql/table.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added st_table_list::in_subselect() returning for a table the subselect that
contains the FROM list this table is taken from (if there is any).
sql/table.h:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
If the user has specified --max-connections=N or --table-open-cache=M
options to the server, a warning could be given that some values were
recalculated, and table-open-cache could be assigned greater value.
Note that both warning and increase of table-open-cache were totally
harmless.
This patch fixes recalculation code to ensure that table-open-cache will
be never increased automatically and that a warning will be given only if
some values had to be decreased due to operating system limits.
No test case is provided because we neither can't predict nor control
operating system limits for maximal number of open files.
sql/mysql_priv.h:
Add constants for table_cache minimum and default values.
sql/mysqld.cc:
Fix max_connections and table_cache_size re-computation.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
into mysql.com:/home/cps/mysql/devel/5.1-rename-bug
mysql-test/r/log_tables.result:
Auto merged
mysql-test/t/log_tables.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/table.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
sql/log.cc:
manual merge
sql/share/errmsg.txt:
manual merge
sql/sql_table.cc:
manual merge
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
mysql-test/r/ps.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/view.result:
Manual merge.
mysql-test/t/view.test:
Manual merge.
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
mysql-test/r/myisam.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
mysql-test/r/myisam.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
BitKeeper/deleted/.del-bdb.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/group_min_max.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/olap.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/type_decimal.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/group_min_max.test:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
include/my_base.h:
SCCS merged
mysql-test/include/mix1.inc:
SCCS merged
mysql-test/r/group_by.result:
SCCS merged
mysql-test/r/innodb_mysql.result:
SCCS merged
mysql-test/t/group_by.test:
SCCS merged
sql/sql_select.cc:
SCCS merged
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
mysql-test/r/merge.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/view.result:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
Backport from 5.1.
Raised STACK_MIN_SIZE for Debian GNU/Linux Sid,
Linux kernel 2.6.16,
gcc version 3.3.6 (Debian 1:3.3.6-13),
libc6-dbg 2.3.6.ds1-4,
Pentium4 (x86),
BUILD/compile-pentium-debug-max
Raised about 100 Bytes above the required minimum.
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-lex-string
BUILD/SETUP.sh:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/events.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/events.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_parse.cc:
remove_escape() function removed. Manual merge.
sql/table.cc:
Manually merged. Old line removed.
tests/mysql_client_test.c:
Manually merged. test_status position now last.
sql/sql_parse.cc.rej:
undefined
sql/table.cc.rej:
undefined
tests/mysql_client_test.c.rej:
undefined
into macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/subselect.result:
merge fixes for bug 21798
mysql-test/t/subselect.test:
merge fixes for bug 21798
list using a function
When executing dependent subqueries they are re-inited and re-exec() for
each row of the outer context.
The cause for the bug is that during subquery reinitialization/re-execution,
the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join()
and the local variable in 'sortorder' in create_sort_index(), which is
allocated by make_unireg_sortorder().
Care must be taken not to allocate anything into the thread's memory pool
while re-initializing query plan structures between subquery re-executions.
All such items mush be cached and reused because the thread's memory pool
is freed at the end of the whole query.
Note that they must be cached and reused even for queries that are not
otherwise cacheable because otherwise it will grow the thread's memory
pool every time a cacheable query is re-executed.
We provide additional members to the JOIN structure to store references
to the items that need to be cached.
mysql-test/r/subselect.result:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- test case
mysql-test/t/subselect.test:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- test case
sql/mysql_priv.h:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the entities allocated in the threads memory pool by
JOIN::exec ().
sql/sql_delete.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_select.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_select.h:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_table.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_update.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
into willster.(none):/home/stewart/Documents/MySQL/5.1/ndb-is_files_refactor
sql/ha_ndbcluster.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_show.cc:
Auto merged
BUILD/SETUP.sh:
Added check for CCACHE_DISABLE. If set, do not
use ccache at all.
BUILD/compile-pentium-gcov:
Moved CCACHE_DISABLE up before going into SETUP.sh.
Added debug_extra_flags to extra_flags.
mysql-test/r/create.result:
Added tests for incorrect database names.
mysql-test/r/ctype_create.result:
Added tests for incorrect alter database names.
mysql-test/r/events.result:
Added tests for incorrect database names.
mysql-test/r/grant.result:
Output changed to capital letters.
mysql-test/t/alter_table.test:
Removed extra empty line
mysql-test/t/create.test:
Added tests for incorrect database names.
mysql-test/t/ctype_create.test:
Added tests for incorrect name handling
mysql-test/t/events.test:
Added tests for incorrect database names.
sql/item_timefunc.cc:
Added dummy case to avoid compiler warning.
sql/mysql_priv.h:
Changed argument from char pointer to LEX_STRING pointer.
sql/mysqld.cc:
Added a missing component from struct.
sql/sql_class.h:
Added function LEX_STRING_make that sets the string and length.
sql/sql_db.cc:
Changed several char pointers to lex_strings.
sql/sql_lex.cc:
name is now LEX_STRING
sql/sql_lex.h:
Changed name to LEX_STRING.
sql/sql_parse.cc:
Changed several char pointers to lex_strings.
db_length needed a trick, because in old client protocol there
was an extra char zero added to the string.
check_db_name() now takes LEX_STRING pointer as an argument.
Changed remove_escape() to take LEX_STRING pointer as an argument.
Removed COM_CREATE_DB and COM_DROP_DB. These are obsolete.
sql/sql_table.cc:
char* -> LEX_STRING*
sql/sql_yacc.yy:
Changed char* -> LEX_STRING*
sql/table.cc:
check_db_name() now takes LEX_STRING* as argument instead of char*.
Optimized code a bit.
tests/mysql_client_test.c:
Added test for (short) status.
After defining out (ifdef) COM_DROP_DB and COM_CREATE_DB
in mysqld.cc mysql_client_test needed to be informed that
failing in recognizing these commands is not fatal error
anymore.
The mysql_alter_table() was able to rename only a table.
The view/table renaming code is moved from the function rename_tables
to the new function called do_rename().
The mysql_alter_table() function calls it when it needs to rename a view.
mysql-test/t/rename.test:
Added a test case for bug#14959: ALTER TABLE isn't able to rename a view
mysql-test/r/rename.result:
Added a test case for bug#14959: ALTER TABLE isn't able to rename a view
sql/mysql_priv.h:
Bug#14959: ALTER TABLE isn't able to rename a view
Added the prototype of the do_rename() function.
sql/sql_rename.cc:
Bug#14959: ALTER TABLE isn't able to rename a view
The view/table renaming code is moved from the function rename_tables
to the new function called do_rename().
sql/sql_table.cc:
Bug#14959: ALTER TABLE isn't able to rename a view
Added handling of a view rename to the mysql_alter_table() function.
Bug #21785 "Server crashes after rename of the log table" and
Bug #21966 "Strange warnings on create like/repair of the log
tables"
According to the patch, from now on, one should use RENAME to
perform a log table rotation (this should also be reflected in
the manual).
Here is a sample:
use mysql;
CREATE TABLE IF NOT EXISTS general_log2 LIKE general_log;
RENAME TABLE general_log TO general_log_backup, general_log2 TO general_log;
The rules for Rename of the log tables are following:
IF 1. Log tables are enabled
AND 2. Rename operates on the log table and nothing is being
renamed to the log table.
DO 3. Throw an error message.
ELSE 4. Perform rename.
The very RENAME query will go the the old (backup) table. This is
consistent with the behavoiur we have with binlog ROTATE LOGS
statement.
Other problems, which are solved by the patch are:
1) Now REPAIR of the log table is exclusive operation (as it should be), this
also eliminates lock-related warnings. and
2) CREATE LIKE TABLE now usese usual read lock on the source table rather
then name lock, which is too restrictive. This way we get rid of another
log table-related warning, which occured because of the above fact
(as a side-effect, name lock resulted in a warning).
mysql-test/r/log_tables.result:
update result file
mysql-test/t/log_tables.test:
Add tests for the bugs
sql/handler.cc:
update comment
sql/handler.h:
update function to reflect changes in log tables
locking logic.
sql/lock.cc:
Now we allow locking of the log tables for "privileged" threads
Privileged thread must explicitly close and lock log tables. This
is required for admin operations such as REPAIR.
sql/log.cc:
Changes to the file:
1) Add checks for table schema. It's more important now,
as we allow rename of the log tables. Since we should
check for schema when writing to a log table.
E.g. if one created a table with one-only comlumn and
renamed it to general_log, the server should cope with
it.
2) refactor LOGGER::flush(), so that we can now use the same
machinery as we use in FLUSH LOGS in other statements:
whenever we have to perform a serious operation on the log
tables, we have to
(a) lock logger, which blocks other concurrent statements (such
as selects) (b) close logs. Then perform an
exclusive operation, c) reenable logs and d) unlock logger.
3) Add a function to check if a given table is a log table.
4) Add support for "privileged" thread
5) merge is_[general/slow]_log_table_enabled() into one function.
6) Add new function: reopen _log_tables, which reopens the tables,
which were enabled (after temporary close, required for admin
operation)
sql/log.h:
1) add a new call close_n_lock_tables(). Now we use it instead of
LOGGER::flush() in FLUSH LOGS implementation.
2) add a prototype for the function to check if a given
table is a log table;
3) add privileged table flag to table logger
4) merge is_[general/slow]_log_table_enabled()
into one function.
sql/mysql_priv.h:
move log table defines to log.h
sql/sql_delete.cc:
use new function check_if_log_table() instead of direct strcmp
sql/sql_rename.cc:
Traverse the list of tables in mysql_rename_tables
to make sure that log tables are processed correctly
(that is, according to the rules specified in the
main CS comment)
sql/sql_table.cc:
1) mysql_admin_table() should disable logs if it performs
exclusive admin operation on a log table. This way we
also eliminate warning on REPAIR of the log table.
2) mysql_create_like_table should read-lock the source table
instead getting name lock on it. Name lock is too restrictive
in this case.
sql/share/errmsg.txt:
Add a new error message for rename of the log tables
sql/table.cc:
use new function instead of direct strcmp.
change my_strcasecmp() -> strcmp(), when
comparing system db and table names
storage/csv/ha_tina.cc:
update function to reflect changes in log tables
locking logic.
storage/myisam/ha_myisam.cc:
update function to reflect changes in log tables
locking logic.
This decoupling allows in further versions of MySQL enum interval_type to
be reordered without this affecting any backward compatibility in the
events code.
This changeset doesn't change any exposed behavior but makes events' code
more durable to changes outside of their code base.
To the reviewer: There is no regression test included as it is impossible
to construct one with the current infrastructure which can test it. To test
the code one has create and event, then change the order of
enum interval_type in my_time.h, update sql/time.cc, recompile the server
and run it with scheduler running.
include/my_time.h:
Add a reminder to keep enum interval_type and
interval_type_to_name in sync
sql/event_data_objects.cc:
When loading from disk don't use the integer value of
mysql.event.interval_field because it could be different of the
values of enum interval_type, if the latter is reordered in a later
version of MySQL. Loaded from disk is the string value which is then
resolved against interval_type_to_name to get the exact enum value we
need for Event_queue_element::interval.
sql/event_db_repository.cc:
Use interval_type_to_name from sql/time.cc during storage thus
decoupling the value stored on disk (the enum) from the integer
representation in memory. interval_type can be changed and as
long as interval_type_to_name is kept in sync correct values will
be saved to disk.
sql/mysql_priv.h:
add proto of find_string_in_array
sql/strfunc.cc:
Add a function for searching a LEX_STRING in an array of LEX_STRINGs
sql/ha_ndbcluster.cc:
update fill_files_table to match new way of doing things
sql/mysql_priv.h:
defines for INFORMATION_SCHEMA.FILES column numbers
add init_fill_schema_files_row()
sql/sql_show.cc:
add init_fill_schema_files_row(TABLE*) to help engines with filling schema files.
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
BitKeeper/etc/collapsed:
auto-union
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/ps.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
BitKeeper/etc/collapsed:
auto-union
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
BitKeeper/etc/ignore:
auto-union
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/partition.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
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/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
storage/innobase/handler/ha_innodb.h:
Auto merged
storage/myisam/mi_check.c:
Auto merged
sql/share/errmsg.txt:
Manul merge(conflict with new german text)
sql/unireg.cc:
Manual merge(as it is in 5.1)
into mockturtle.local:/home/dlenev/src/mysql-5.0-rt-merge
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
into mockturtle.local:/home/dlenev/src/mysql-5.1-rt-merge
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_select.cc:
Auto merged
into zim.(none):/home/brian/mysql/arch-5.1
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_show.cc:
Auto merged
sql/handler.h:
Merge from G's work
sql/sql_cursor.cc:
Merge from G's work
storage/csv/ha_tina.cc:
Merge of G's work
storage/innobase/handler/ha_innodb.cc:
Merge of G's work
storage/innobase/handler/ha_innodb.h:
Merge of G's work
storage/myisam/ha_myisam.cc:
Merge of G's work
mysql-test/r/partition.result:
Updated results
sql/ha_ndbcluster.cc:
Updated hton
sql/ha_partition.cc:
Removed need for global internal hton.
sql/handler.cc:
Removed need for global mrg
sql/mysql_priv.h:
Updated needs for global variables.
sql/mysqld.cc:
Removed needs around hton
sql/partition_info.cc:
Removed bug.... aka what happens if tables are neither?
sql/share/errmsg.txt:
Made error message more generic.
sql/sql_cache.cc:
Removed specific hton reference
Partitioning now has a flag to allow disabling of engines from being compatible with partitioning. Cleaned up heap naming convention on panic call.
include/heap.h:
Added new function
sql/ha_ndbcluster.cc:
Updated hanlderton functions
sql/ha_ndbcluster_binlog.cc:
Updated handlerton functions.
sql/handler.cc:
Updated handlerton functions.
sql/handler.h:
Updated hanlderton functions
sql/log.cc:
Updated handlerton functions
sql/mysql_priv.h:
Updated handlerton functions
sql/mysqld.cc:
Added Legacy handlerton functions
sql/partition_info.cc:
Added flag support for marking engines not compatible with partitioning
sql/sql_cursor.cc:
Updated hanlderton functions
sql/sql_show.cc:
Updated hanlderton functions
sql/sql_tablespace.cc:
Update for handlerton functions
storage/archive/ha_archive.cc:
Update for hanlderton functions
storage/archive/ha_archive.h:
Update for handlerton functions
storage/blackhole/ha_blackhole.cc:
Update for handlerton functions
storage/csv/ha_tina.cc:
Update for handlerton functions
storage/csv/ha_tina.h:
Update for handlerton functions
storage/federated/ha_federated.cc:
Updated for handlerton functions
storage/federated/ha_federated.h:
Updated for handlerton functions
storage/heap/ha_heap.cc:
Update for handlerton functions
storage/heap/hp_panic.c:
Update of function name
storage/heap/hp_test1.c:
Update of function name
storage/heap/hp_test2.c:
Update of function name.
storage/innobase/handler/ha_innodb.cc:
Update of function name
storage/innobase/handler/ha_innodb.h:
Update of function name
storage/myisam/ha_myisam.cc:
Update of function name.
storage/myisammrg/ha_myisammrg.cc:
Update of function name
into mockturtle.local:/home/dlenev/src/mysql-5.0-bg20670-2
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_update.cc:
Auto merged