Commit graph

2869 commits

Author SHA1 Message Date
unknown
7db76e5a16 fixed bug #1378 "mysqlbinlog for remote host is broken"
client/mysqlbinlog.cc:
  fixed bug #1378 "mysqlbinlog for remote host is broken"
  by using shared part of code for local and remote variant 
  (function process_event)
mysql-test/r/mysqlbinlog.result:
  fixed results for remote variant 
  (they are the same as for local now)
mysql-test/t/mysqlbinlog.test:
  discarded note 'V. Vagin should ...' 
  because V.Vagin done
sql/log_event.cc:
  added special local_fname flag to Load_log_event for 
  using in Load_log_event::check_fname_outside_temp_buf 
  instead of ugly condition
sql/log_event.h:
  added special local_fname flag to Load_log_event for 
  using in Load_log_event::check_fname_outside_temp_buf 
  instead of ugly condition
2004-02-06 20:57:11 +04:00
unknown
854076da62 3.23 -> 4.0 merge: after merge fixes 2004-02-06 16:40:44 +03:00
unknown
faa8a41b1d Problem fix:
http://bugs.mysql.com/bug.php?id=2366
Wrong utf8 behaviour when data is trancated
2004-02-06 16:59:25 +04:00
unknown
5db2d195a6 merge 3.23 -> 4.0, 2003/02/06
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/r/func_math.result:
  Auto merged
mysql-test/t/func_math.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2004-02-06 15:23:41 +03:00
unknown
b5819094a7 Fix for bug #2628 "ALTER TABLE destroys table and reports success"
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
mysql-test/r/alter_table.result:
  Fix for bug #2628: test result fixed
mysql-test/t/alter_table.test:
  Fix for bug #2628: test case added
sql/sql_table.cc:
  Fix for bug #2628:
  We need to take into account database name when checking if source and 
  destination table names are equal.
  Note, that after merge to 4.0 we also need to check for 
  lower_case_table_names.
2004-02-06 14:28:57 +03:00
unknown
62a4ae0761 - renamed mysql-test/t/init_file.sql to mysql-test/std_data/init_file.dat
so it gets picked up by "make dist" and updated init_file test accordingly.


mysql-test/std_data/init_file.dat:
  Rename: mysql-test/t/init_file.sql -> mysql-test/std_data/init_file.dat
mysql-test/t/init_file-master.opt:
   - moved init file to std_data
mysql-test/t/init_file.test:
   - updated info
2004-02-05 23:36:54 +01:00
unknown
44289ba658 merge
mysql-test/r/subselect.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2004-02-05 18:14:48 +01:00
unknown
b8004902c4 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2526/mysql-4.0
2004-02-05 18:14:39 +04:00
unknown
f79ff0f909 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2526/mysql-4.0


sql/sql_class.cc:
  Auto merged
2004-02-05 17:53:46 +04:00
unknown
b911f9b0c0 code cleanup 2004-02-05 17:52:41 +04:00
unknown
d295f07c42 Added testing of pthread_key_delete (to fix compile problem on SCO) (Bug #2461)
DROP DATABASE now assumes RAID directories are in hex. (Bug #2627)
Don't increment 'select_full_range' and similar statistics for EXPLAIN queries. (Bug #2506)
Test in configure if pthread_key_delete() exists (to fix compile problem on SCO) (Bug #2461)


BUILD/compile-pentium-max:
  Added --with-raid
configure.in:
  Added testing of pthread_key_delete (to fix compile problem on SCO)  (Bug #2461)
include/my_pthread.h:
  Added testing of pthread_key_delete (to fix compile problem on SCO)  (Bug #2461)
innobase/include/data0data.ic:
  Added missing newline
mysql-test/r/raid.result:
  Test of DROP DATABASE with RAID directories in hex
mysql-test/t/raid.test:
  Test of DROP DATABASE with RAID directories in hex
sql/sql_db.cc:
  DROP DATABASE could not drop databases with RAID tables that had
  more than 9 RAID_CHUNKS because DROP DATABASE assumed raid tables where in decimal while the RAID CREATE code assumed directories was in hex.(Bug #2627)
sql/sql_select.cc:
  Don't increment 'select_full_range' and similar statistics for EXPLAIN queries. (Bug #2506)
sql/sql_udf.cc:
  mysqld crashed if mysql.func table didn't exists (Bug #2577)
2004-02-05 09:12:23 +01:00
unknown
7b0ee22df4 Bug#2634
Emit "TYPE=" for 4.0 and 3.23 compatible modes


mysql-test/r/mysqldump.result:
  Bug#2634
    New test case
mysql-test/t/mysqldump.test:
  Bug#2634
    New test case
2004-02-05 02:30:28 +00:00
unknown
94c03b7199 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-limit-4.1
2004-02-04 23:45:48 +02:00
unknown
22b2067aa5 added checking for bootstrap in select_send::send_data
(fixed bug #2526 "--init-file crashes MySQL if contains large select")
Such checking usually works in send_ok, send_eof, but in this case large 
result causes interim flushing.


sql/sql_class.cc:
  added checking for bootstrap in select_send::send_data
2004-02-04 21:35:20 +04:00
unknown
c8ff8ec18d beautify SHOW INDEX 2004-02-04 17:42:18 +01:00
unknown
d9016a9b4a Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2004-02-04 16:21:24 +01:00
unknown
03f098d57e http://bugs.mysql.com/bug.php?id=2619
Bug #2619  	ucs2 LIKE comparison fails in some cases
Fixes
2004-02-04 18:16:28 +04:00
unknown
fc248069e9 correct assignment of default limit (BUG#2600)
mysql-test/r/subselect.result:
  test of global limit and subqueries
mysql-test/t/subselect.test:
  test of global limit and subqueries
sql/sql_lex.cc:
  correct detection of non-default limits
sql/sql_parse.cc:
  correct assignment of default limit
sql/sql_yacc.yy:
  correct assignment of default limit
2004-02-04 15:26:41 +02:00
unknown
180fa5c204 disabled atof() test as non-portable 2004-02-04 09:59:18 +01:00
unknown
4b44b849ba Fixed problem with range optimization over overlapping ranges (#2448)
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)
2004-02-04 09:51:13 +01:00
unknown
7f6f30284e Client character set is now not set from the server value. 2004-02-04 12:49:54 +04:00
unknown
7ba7ce6e6d Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2004-02-04 00:29:34 +01:00
unknown
786a5b6bc3 Bug #2619 ucs2 LIKE comparison fails in some cases 2004-02-03 18:14:23 +04:00
unknown
92bcbf9a43 Thai tis620 crash problem in text comparison routines was fixed. 2004-02-03 14:03:01 +04:00
unknown
619eaee654 Give error if locked table is used twice in query. This fixes strange error message when doing LOCK TABLES t1 WRITE; INSERT TABLE t1 SELECT * from t1 (Bug #2296)
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
2004-02-03 09:46:48 +01:00
unknown
2d06a32a57 rpl_log.result:
a result file for a fix for bug #2557
rpl_log.test:
  A test case for a fix for bug #2557


mysql-test/t/rpl_log.test:
  A test case for a fix for bug #2557
mysql-test/r/rpl_log.result:
  a result file for a fix for bug #2557
2004-02-02 21:34:04 +02:00
unknown
f85e469eed Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b2419


sql/opt_range.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-02-02 19:33:45 +04:00
unknown
883f11b68c test added 2004-02-02 15:57:57 +01:00
unknown
65534b77a1 Indexes can be used for optimization if the operation
collation is the same with the index collation.
2004-02-02 17:50:14 +04:00
unknown
c91c1470c8 preload.result, key_cache.result, preload.test, key_cache.test, sql_yacc.yy:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX


sql/sql_yacc.yy:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/key_cache.test:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/preload.test:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/key_cache.result:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/preload.result:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
2004-02-02 00:19:51 -08:00
unknown
0ba7ef007e rpl_insert_id.test, rpl_insert_id.result:
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
2004-02-02 01:41:35 +02:00
unknown
2b9e174499 innodb.result, innodb.test:
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
2004-02-02 01:30:59 +02:00
unknown
1f739ca45e make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
(BUG#2120 sfter merge)


mysql-test/r/derived.result:
  correct results of derived tble EXPLAIN
  test of "Using Index" with derived tables
mysql-test/t/derived.test:
  test of "Using Index" with derived tables
sql/mysql_priv.h:
  way to force derived table save JOIN after execution
sql/sql_derived.cc:
  way to force derived table save JOIN after execution
sql/sql_lex.h:
  way to force derived table save JOIN after execution
sql/sql_select.cc:
  make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
2004-02-01 20:07:44 +02:00
unknown
00b2168b8c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-02-01 15:31:30 +02:00
unknown
68c0a29987 now all tables of query are locked in one place (including derived tables)
fixed BUG#2120 and other problem with EXPLAINing derived tables


mysql-test/r/derived.result:
  correct tables names & Co in derived tables
  test case for BUG#2120
mysql-test/t/derived.test:
  test case for BUG#2120
sql/mysql_priv.h:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/repl_failsafe.cc:
  correct initialization of TABLE_LIST
sql/sql_acl.cc:
  used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_base.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_delete.cc:
  all tables processing is done during opening
sql/sql_derived.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
sql/sql_insert.cc:
  all tables processing is done during opening
  correct initialization of TABLE_LIST
sql/sql_lex.cc:
  now table list will be created for whole query
  layout fix
  correct check of updated table in subqueries
sql/sql_lex.h:
  now table list will be created for whole query
  correct check of updated table in subqueries
sql/sql_olap.cc:
  THIS FUNCTION IS USED NOWHERE
  it will be good to remove it at all (handle_olaps)
sql/sql_parse.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_prepare.cc:
  new creating list parameters
  all tables processing is done during opening
sql/sql_select.cc:
  all tables processing is done during opening
sql/sql_select.h:
  now it used only within file where is defined
sql/sql_udf.cc:
  used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_update.cc:
  all tables processing is done during opening
2004-02-01 15:30:32 +02:00
unknown
abc17f8f3c fix for the bug #2419: order by ignores rows.
null_ref_key moved to TABLE_REF.
new null range created if necessary.


mysql-test/r/order_by.result:
  fix for the bug #2419: order by ignores rows
mysql-test/t/order_by.test:
  fix for the bug #2419: order by ignores rows
sql/item_subselect.cc:
  fix for the bug #2419: order by ignores rows
sql/opt_range.cc:
  fix for the bug #2419: order by ignores rows
sql/sql_select.cc:
  fix for the bug #2419: order by ignores rows
sql/sql_select.h:
  fix for the bug #2419: order by ignores rows
2004-01-31 10:04:16 +04:00
unknown
ef55f2dcdb Fix for bug #2523 '"func_time" test fails on QNX'.
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.
2004-01-30 19:15:11 +03:00
unknown
e95a3e3ce8 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-bg2464


sql/sql_parse.cc:
  Auto merged
2004-01-30 15:13:54 +03:00
unknown
a96ffb2925 Fix for bugs #1885, #2464, #2539. Proper handling of default
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.
2004-01-30 15:13:19 +03:00
unknown
8ab97bb111 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-01-30 11:31:49 +01:00
unknown
f120273dd2 Fixed parsing of column names and foreign key constraints in Innobase to handle quoted identifiers and identifiers with space. (Bug #1725)
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)
2004-01-30 10:46:30 +01:00
unknown
150c99dffe cleanup 2004-01-30 08:56:32 +01:00
unknown
cfc362dbc5 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-01-30 06:41:37 +01:00
unknown
bbd2adf4ba Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables":
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;
2004-01-30 00:05:34 +01:00
unknown
8746a25554 Fix for BUG#2527 "Multi-Table Delete - Not Replication use replicate-wild-do-table"
(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).
2004-01-29 19:22:29 +01:00
unknown
b9073593d0 Mark that strings may change on index only reads (for BDB tables).
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
2004-01-29 15:16:48 +01:00
unknown
735eab8a07 Fixed Bug#2479, "dependant subquery with limit crash".
The problem was that memory was free'd, but it was referenced
later. This free was unneccessary anyway, because join_free() /
JOIN::cleanup takes care of this later on.

Added test case into t/subselect.test for it.

Regards,
Jani


mysql-test/r/subselect.result:
  Added a test case for Bug#2479.
mysql-test/t/subselect.test:
  Added a test case for Bug#2479.
sql/sql_select.cc:
  Fixed Bug#2479, "dependant subquery with limit crash".
  The problem was that memory was free'd, but it was referenced
  later. This free was unneccessary anyway, because join_free() /
  JOIN::cleanup takes care of this later on.
2004-01-29 01:16:24 +02:00
unknown
832ea1206d better fix BUG#2361: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key 2004-01-28 18:35:52 +01:00
unknown
96abffd4a4 Fixed a bug in GREATES() and LEAST() function, that caused a core
dump when result was NULL.


mysql-test/r/func_test.result:
  Added a test for GREATEST() and LEAST() core dump bug.
mysql-test/t/func_test.test:
  Added a test for GREATEST() and LEAST() core dump bug.
2004-01-28 19:02:58 +02:00
unknown
557bb526d7 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1


sql/sql_yacc.yy:
  Auto merged
2004-01-24 15:57:48 +02:00