mysql-test/r/ctype_tis620.result:
Cleanup test
mysql-test/r/range.result:
Test problem with range optimization over overlapping ranges (#2448)
mysql-test/t/ctype_tis620.test:
Cleanup test
mysql-test/t/range.test:
Test problem with range optimization over overlapping ranges (#2448)
sql/mysqld.cc:
Remove debug statement
strings/ctype-tis620.c:
est problem with range optimization over overlapping ranges (#2448)
client/mysqldump.c:
Better help for flush-logs
mysql-test/r/lock.result:
Test for LOCK TABLES ; INSERT ... SELECT
mysql-test/t/lock.test:
Test for LOCK TABLES ; INSERT ... SELECT
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
mysql-test/r/rpl_insert_id.result:
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
mysql-test/t/rpl_insert_id.test:
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
mysql-test/t/innodb.test:
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
mysql-test/r/innodb.result:
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
Moved all range checks for TIMESTAMP value to my_gmt_sec().
Also fixed check of upper boundary of TIMESTAMP range (which
also now will catch datetime values which are too small for
TIMESTAMP in case if time_t is unsigned).
mysql-test/r/timezone.result:
Added test which checks if TIMESTAMP range is checked
correctly (current time zone is honoured and both upper
and lower bounds of TIMESTAMP range are checked).
mysql-test/t/timezone.test:
Added test which checks if TIMESTAMP range is checked
correctly (current time zone is honoured and both upper
and lower bounds of TIMESTAMP range are checked).
sql/field.cc:
Check if datetime value is in TIMESTAMP range has moved to
my_gmt_sec() function.
sql/mysql_priv.h:
Added more constants for checking if datetime is in allowed
range for TIMESTAMP.
sql/time.cc:
Check if datetime value is in TIMESTAMP range has moved to
my_gmt_sec() function. Fixed check of its return value
to catch overflows in both directions and also overflows in
case of unsigned time_t.
values for TIMESTAMP columns. The solution is not perfect since
we just silently ignoring default value for first TIMESTAMP
column and properly reflecting this fact in SHOW CREATE TABLE.
We can't give a warning or simply support standard syntax
(niladic functions as legal value for default) for first field
since it is 4.0 tree.
mysql-test/r/type_timestamp.result:
Added test for bugs #1885, #2464, #2539
(proper support of default values for TIMESTAMP columns)
mysql-test/t/type_timestamp.test:
Added test for bugs #1885, #2464, #2539
(proper support of default values for TIMESTAMP columns)
sql/field.cc:
Enabled copying of defaults for TIMESTAMP fields when we are
creating table with CREATE TABLE x (SELECT ...)
sql/field.h:
Set proper DEFAULT value for non-first TIMESTAMP column.
sql/sql_parse.cc:
Allowed default values for TIMESTAMP column.
sql/sql_show.cc:
Enabled printing of default values in SHOW CREATE TABLE and
SHOW COLUMNS for all TIMESTAMP columns except first one.
Fix optimizer tuning bug when first used key part was a constant. (Bug #1679)
innobase/dict/dict0dict.c:
Fixed parsing of column names and foreign key constraints to handle quoted identifiers and identifiers with space. (Bug #1725)
mysql-test/r/innodb.result:
Test of innodb internal parsing
mysql-test/t/innodb.test:
Test of innodb internal parsing
sql/sql_class.cc:
Safety fix for select into outfile and select into dumpfile. Before calling send_error() could cause end_io_cache() to be called several times.
sql/sql_class.h:
Add path to dumpfile so that we can delete the generated file if something goes wrong.
sql/sql_select.cc:
Fix optimizer tuning bug when first used key part was a constant.
Previously all keys that had this key part first was regarded as equal, even if the query used more key parts for some of the keys.
Now we use the range optimizer results to just limit the number of estimated rows if not all key parts where constants.
(Bug #1679)
when we open the HEAP table for the first time since server restart,
in hp_open(), we set a flag to propagate this info to the handler level
which then writes a DELETE FROM this_heap_table to the binlog.
It is not a perfect solution for the bug, because between the server start and
the first open of the table, the slave still had old data in his table so
a SELECT on the slave may show wrong content. But if there is a --init-file
to populate the HEAP table on master as startup, then this is a safe fix
(I'll put a note about init-file in the HEAP section of the manual).
heap/hp_info.c:
new info variable implicit_emptied
heap/hp_open.c:
If this is the first open of the HEAP table, it means it is empty,
so we mark it.
include/heap.h:
new variables implicit_emptied
(we need one in HEAPINFO for the hp_info() call).
sql/ha_heap.cc:
report info to upper level
sql/handler.h:
new info 'implicit_emptied' in the handler level; only HEAP uses it.
sql/sql_base.cc:
When a HEAP table is opened for the first time, write a DELETE FROM to the binlog,
for replication and mysqlbinlog|mysql.
Monty: I added the
entry->file->implicit_emptied= 0;
(as long as replicate-*-table rules were defined, multi-table DELETE was never
replicated by the slave).
sql/sql_parse.cc:
For a multi-table DELETE, there are two lists of tables:
- 'tables' contains the tables in the FROM. They have 'updating==0'.
- 'thd->lex.auxilliary_table_list.first' contains the tables between the DELETE and the FROM. They have 'updating==1'.
So the bug was that the slave only tests 'tables' and as all its elements have updating==0,
tables_ok() always returns 0.
So for a multi DELETE the slave now tests the 2nd list too.
I started with the other tip of the sausage: I thought of changing multi DELETE to use
only one list (given that 'updating' can be used to separate it in two when needed)
(with one list we wouldn't need to change the slave code), but finally hit the unicity
check in add_table_to_list() which started to return ER_NONUNIQ_TABLE (logical).
This fixed problem with index reads on character fields with BDB tables. (Bug #2509)
BitKeeper/etc/ignore:
added man/*.1
mysql-test/r/bdb.result:
New test
mysql-test/r/myisam.result:
More tests
mysql-test/t/bdb.test:
Test for idnex only read
mysql-test/t/myisam.test:
More test to verify pushed bug fix
sql/ha_berkeley.h:
Mark that strings may change on index only reads
sql/item_strfunc.cc:
Cleanup
sql/table.cc:
Allow index only reads on binary strings
<monty> ramil, in MySQL/MyISAM we should only strip end space, not 'space-like' characters.
<monty> This is according to SQL; When doing a comparision end space and only end space are ignored.
myisam/mi_key.c:
a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
myisam/mi_search.c:
a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
mysql-test/r/select.result:
test case for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
mysql-test/t/select.test:
test case for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
sql/sql_string.cc:
a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
A fix for a bug #3189, pertaining to crashing MySQL server when a query with MIN / MAX on the BLOB column is to be optimised
sql/opt_sum.cc:
A fix for a bug #3189, pertaining to crashing MySQL server when a query with MIN / MAX on the BLOB column is to be optimised
The test might fail if one runs it at 23:59:59 Dec 31
mysql-test/r/type_year.result:
a fix (bug #2335: Inconsistancy with handling of Years and NOW() function)
mysql-test/t/type_year.test:
a fix (bug #2335: Inconsistancy with handling of Years and NOW() function)
sql/field.h:
a fix (bug #2335: Inconsistancy with handling of Years and NOW() function)
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
client/mysqltest.c:
Indentation cleanup
include/myisam.h:
Made some pointers 'const'
mysql-test/mysql-test-run.sh:
Portability fix for OSX
sql/filesort.cc:
Safety fix (not needed for current code but needed for 5.0)
sql/ha_berkeley.cc:
More debugging
Changed 'create' to return error number
sql/ha_berkeley.h:
Added HA_FILE_BASED
sql/ha_innodb.cc:
Added missing DBUG_RETURN
sql/ha_isam.cc:
Changed create to return error number
sql/ha_isam.h:
Added HA_FILE_BASED
sql/ha_isammrg.h:
Added HA_FILE_BASED
sql/ha_myisam.cc:
Changed create to return error number
sql/ha_myisam.h:
Added HA_FILE_BASED
sql/ha_myisammrg.cc:
Changed create to return error number
sql/ha_myisammrg.h:
Added HA_FILE_BASED
sql/handler.cc:
Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
sql/handler.h:
Added HA_FILE_BASED
Made some struct entries 'const'
Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
sql/mysql_priv.h:
Support for lower_case_table_names=2
sql/mysqld.cc:
Support for lower_case_table_names=2
Moved test of case insenstive file system after all mutex are created
sql/set_var.cc:
Support for lower_case_table_names=2
sql/sql_class.h:
Indentation change
sql/sql_db.cc:
Support for lower_case_table_names=2
sql/sql_insert.cc:
Indentation change
sql/sql_parse.cc:
Support for lower_case_table_names=2
sql/sql_rename.cc:
Support for lower_case_table_names=2
Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
sql/sql_show.cc:
If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
sql/sql_table.cc:
Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
into eagle.mysql.r18.ru:/home/vva/work/BUG_2086/mysql-4.0
sql/share/czech/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
Fixed not updated test from last changeset
mysql-test/r/auto_increment.result:
Updated results
sql/mysqld.cc:
Cleaned up pid file handling (to remove compiler warning)
mysql-test/t/auto_increment.test:
Fixed wrong comment
sql/opt_range.cc:
Removed not used variable
sql/sql_select.cc:
Removed indentation level (This will also make merges into 4.1 easier)
(bug #2086)
include/mysqld_error.h:
added error message for receiving variable with wrong GLOBAL|LOCAL type
mysql-test/r/variables.result:
added error message for receiving variable with wrong GLOBAL|LOCAL type
mysql-test/t/variables.test:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/set_var.cc:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/czech/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/danish/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/dutch/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/english/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/estonian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/french/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/german/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/greek/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/hungarian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/italian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/japanese/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/korean/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/norwegian-ny/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/norwegian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/polish/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/portuguese/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/romanian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/russian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/slovak/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/spanish/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/swedish/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
sql/share/ukrainian/errmsg.txt:
added error message for receiving variable with wrong GLOBAL|LOCAL type
more general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
The perfect fix would be to report the exact error to the client
(instead of pointing the client to the error log); this is a bit
of work so it's more a development task:
WL#1088 "Move all hardcoded messages of replication to share/errmsg.txt".
I was not able to modify the errmsg.txt in these sql/ subdirectories:
danish
dutch
german
italian
portuguese
russian
spanish
swedish
ukrainian
mysql-test/r/rpl_rotate_logs.result:
result update
sql/share/czech/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/english/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/estonian/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/french/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/greek/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/hungarian/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/japanese/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/korean/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/norwegian-ny/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/norwegian/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/polish/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/romanian/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
sql/share/slovak/errmsg.txt:
More general message when slave can't start because of incorrect
replication information, the previous one was sometimes a misleading
indication (i.e. sometimes the problem had nothing to do with
system permissions).
Make ENGINE= an alias for TYPE= (Compabiltiy with 4.1)
Fix when using symlinked data files and realpath() is not working
client/mysqltest.c:
Copied mysqltest from 4.1 and modified this to compile in 4.0
This was needed to get replace_columns to work.
include/my_sys.h:
Stop compiler warnings about alloca on freebsd
myisam/mi_check.c:
Fix when using symlinked data files and realpath() is not working
mysql-test/r/handler.result:
test engine=
mysql-test/r/rpl_max_relay_size.result:
Use replace_columns to replace some 'not constant' columns
mysql-test/r/rpl_rotate_logs.result:
Use replace_columns to replace some 'not constant' columns
mysql-test/r/rpl_trunc_binlog.result:
Use replace_columns to replace some 'not constant' columns
mysql-test/t/handler.test:
test engine=
mysql-test/t/rpl_log_pos.test:
Use replace_columns to replace some 'not constant' columns
mysql-test/t/rpl_max_relay_size.test:
Use replace_columns to replace some 'not constant' columns
mysql-test/t/rpl_rotate_logs.test:
Use replace_columns to replace some 'not constant' columns
mysql-test/t/rpl_trunc_binlog.test:
Use replace_columns to replace some 'not constant' columns
mysys/my_symlink.c:
More debugging
sql/lex.h:
Make ENGINE= an alias for TYPE=
sql/mysqld.cc:
Code cleanup
strings/strto.c:
Fix for True64
strings/strtoll.c:
Fix for True64
strings/strtoull.c:
Remove not needed include file
into mysql.com:/home/mysql_src/mysql-4.0
sql/sql_acl.cc:
Auto merged
sql/sql_base.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_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged