Commit graph

1292 commits

Author SHA1 Message Date
unknown
b0a8fde897 Fixed stack overrun with some INSERT ... SELECT ... GROUP BY queries (Bug #3265)
Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE. (Bug #3182)


mysql-test/r/raid.result:
  Test of raid_chunks > 255
mysql-test/t/raid.test:
  Test of raid_chunks > 255
sql/item.cc:
  Fixed wrong usage of str_value in Item::save_in_field
  This could caused a stack overrun with some very special INSERT ... SELECT ... GROUP BY queries where the GROUP BY value was an expression that generated a NULL value. (Bug #3265)
  The Item_copy_string::save_in_field() function is from 4.1 and helps optimized this case a bit
sql/item.h:
  Fixed wrong usage of str_value in Item_copy_string::save_in_field
sql/sql_insert.cc:
  More debug information
sql/table.cc:
  Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE.
  Another problem with values > 255 is that in the .frm file we store the chunks value in one byte.
  (Bug #3182)
2004-04-28 03:37:45 +03:00
unknown
d1214e2c5d Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-04-13 22:41:00 +02:00
unknown
0cd58c6c78 Fix for BUG#3461 "multi-table DELETE replicated despite replicate-wild-ignore-table":
In tables_ok(), when there is no table having "updating==TRUE" in the list,
    return that we don't replicate this statement (the slave is supposed to
    replicate *changes* only).
    In practice, the case can only happen for this statement:
    DELETE t FROM t,u WHERE ... ;
    tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
    will give a chance to tables_ok(t) to run.


sql/slave.cc:
  In tables_ok(), when there is no table having "updating==TRUE" in the list,
  return that we don't replicate this statement (the slave is supposed to
  replicate *changes* only).
  In practice, the case can only happen for this statement:
  DELETE t FROM t,u WHERE ... ;
  tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
  will give a chance to tables_ok(t) to run.
2004-04-13 22:40:16 +02:00
unknown
5dcbf248a0 A fix. (Bug #3376: AVG(constant) returns constant if no rows in result set) 2004-04-09 19:07:39 +05:00
unknown
280dcf42ab fixed Bug #3361 "mysqldump quotes DECIMAL values"
client/mysqldump.c:
  changed quotation mark around DECIMAL field values from " to '
  as fix of BUG #3361 "mysqldump quotes DECIMAL values"
mysql-test/r/mysqldump.result:
  added test for Bug #3361 "mysqldump quotes DECIMAL values"
mysql-test/t/mysqldump.test:
  added test for Bug #3361 "mysqldump quotes DECIMAL values"
2004-04-05 23:18:16 +05:00
unknown
063eeb7edb Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-03-29 17:27:25 +03:00
unknown
2e3950b20d Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2342/mysql-4.0
2004-03-27 00:41:48 +04:00
unknown
aab1e50e71 fixed bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"

1. added new status HA_ADMIN_REJECT and processing of it in mysql_admin_table
2. got ha_berkley::analyze to return HA_ADMIN_REJECT if there are any 
 transactions with the table.. 


mysql-test/r/bdb-crash.result:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/t/bdb-crash.test:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
sql/ha_berkeley.cc:
  fixed bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
  
  we have to return new status "HA_ADMIN_REJECT" for ha_berkley::analyze 
  if there are any transaction for this table 
  so as bdb documentation says:
  "The DB->stat method cannot be transaction protected"
sql/handler.h:
  added new status of table info "HA_ADMIN_REJECT"
  
  We have to return this status for bdb tables which 
  have any active transactions so as bdb-documentation says:
  "The DB->stat method cannot be transaction-protected"
sql/sql_table.cc:
  added processing of the new status HA_ADMIN_REJECT in mysql_admin_table
  (reason to add this status is explained in comment 
  for commit on sql/handler.h)
2004-03-27 00:35:45 +04:00
unknown
13e6d00840 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-26 17:01:55 +02:00
unknown
9cc7549518 order_by.result:
result of the test case for FORCE INDEX on ORDER BY
order_by.test:
  test case for FORCE INDEX on ORDER BY
sql_select.cc:
  Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause


sql/sql_select.cc:
  Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
mysql-test/t/order_by.test:
  test case for FORCE INDEX on ORDER BY
mysql-test/r/order_by.result:
  result of the test case for FORCE INDEX on ORDER BY
2004-03-26 17:01:13 +02:00
unknown
202ea81cfa Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-03-26 14:45:13 +02:00
unknown
cc11f6f351 Allow keys with 0 segements in MyISAM
This fixed a bug in SELECT DISTINCT when all selected parts where constants. (Bug #3203)


myisam/mi_create.c:
  Allow keys with 0 segements.
mysql-test/r/myisam.result:
  Test for problem with SELECT DISTINCT
mysql-test/t/myisam.test:
  Test for problem with SELECT DISTINCT
2004-03-26 14:44:52 +02:00
unknown
8a6ae8395d Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.0
2004-03-26 10:53:13 +02:00
unknown
922818a798 Updated tests after merge
mysql-test/r/alter_table.result:
  Updated tests
mysql-test/t/alter_table.test:
  Updated tests
2004-03-25 23:08:42 +02:00
unknown
1208e5c8d8 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-22 16:36:27 +02:00
unknown
bb9584fdab union.result:
A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
union.test:
  A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
sql_union.cc:
  A fix for a bug that allowed table names to be used in ORDER BY columns (But #3064)


sql/sql_union.cc:
  A fix for a bug that allowed table names to be used in ORDER BY columns (But #3064)
mysql-test/t/union.test:
  A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
mysql-test/r/union.result:
   A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
2004-03-22 16:35:15 +02:00
unknown
071aed6980 Fixed wrong 'mysql.func' definition 2004-03-22 11:18:29 +02:00
unknown
91bac76e03 fixed BUG in query cahe statistic counting
mysql-test/r/grant_cache.result:
  right results in query cache
mysql-test/t/grant_cache.test:
  proving new results
sql/sql_cache.cc:
  fixed statistic calculating in query cahe
2004-03-21 11:48:51 +02:00
unknown
331ff0d8f5 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-03-20 15:49:55 +01:00
unknown
02d2d70cb1 The automatic DROP TEMPORARY TABLE is now DROP TEMPORARY TABLE IF EXISTS,
this is better in this case:
- imagine user1 has created a temp table
- imagine user2 does FLUSH TABLES WITH READ LOCK, then takes a backup,
then RESET MASTER then UNLOCK TABLES, like mysqldump --first-slave
- then in the binlog you will finally have the DROP TEMPORARY TABLE,
but not the CREATE TEMPORARY TABLE, so when you later restore with
mysqlbinlog|mysql, mysql will complain that table does not exist.
Replication was already protected of this (it processes DROP TEMPORARY
TABLE as if there was a IF EXISTS), now I add it directly to the query
for mysqlbinlog|mysql to work.


mysql-test/r/drop_temp_table.result:
  result update (query changed)
2004-03-20 15:49:17 +01:00
unknown
86ae07cd24 Portability fixes
Fixed some wrong column specifications in mysql_fix_privilege_tables


mysql-test/mysql-test-run.sh:
  Portability fix
mysql-test/r/func_math.result:
  portability fix
mysql-test/r/rpl_error_ignored_table.result:
  portability fix
mysql-test/t/func_math.test:
  portability fix
mysql-test/t/rpl_error_ignored_table.test:
  portability fix
scripts/mysql_fix_privilege_tables.sh:
  func.name was not generated correctly
scripts/mysql_fix_privilege_tables.sql:
  Fixed some wrong column specifications
2004-03-19 18:26:02 +02:00
unknown
6b46555767 Removed \r 2004-03-19 15:03:12 +02:00
unknown
8b623739ef Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-03-17 10:35:55 +01:00
unknown
9d78adc16f Fix for BUG#2922 "Crash (signal11) after "load data from master""
with a testcase.
We needed to init_master_info before we flush_master_info
in LOAD DATA FROM MASTER.


mysql-test/r/rpl000009.result:
  result update
mysql-test/t/rpl000009.test:
  adding a test for RESET SLAVE + LOAD DATA FROM MASTER
sql/repl_failsafe.cc:
  LOAD DATA FROM MASTER udpates the master info in the slave,
  so needs to ensure that it is properly inited first
  (otherwise, after RESET SLAVE, we are flush_io_cache()ing
  an uninitialized IO_CACHE master.info).
  Note that it master info is already inited (active_mi->inited==1),
  init_master_info() will do nothing, which is what we want.
2004-03-17 10:35:03 +01:00
unknown
cc5b1779c8 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/Bugs/mysql-4.0.3067
2004-03-16 11:33:36 +04:00
unknown
5adbc611dd Fix for bug #2629 NULLIF() doesn't behave as described in manual 2004-03-16 11:33:03 +04:00
unknown
277cf702da Remove not needed patch 2004-03-16 02:59:39 +02:00
unknown
8dd15d3173 after merge fixes. 2004-03-13 21:22:55 +02:00
unknown
05b1020397 multi_update.result:
Fix for a bug in the result
multi_update.test:
  Fix for a bug in the test


mysql-test/t/multi_update.test:
  Fix for a bug in the test
mysql-test/r/multi_update.result:
  Fix for a bug in the result
2004-03-13 21:06:36 +02:00
unknown
de448d41c0 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2985/mysql-4.0


sql/sql_db.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/table.cc:
  Auto merged
2004-03-12 17:56:27 +04:00
unknown
f85032f16e Portability fixes & fixing of test suite
mysql-test/r/func_math.result:
  Updated tests after merge with 3.23
mysql-test/r/multi_update.result:
  Fixed not portable test
mysql-test/r/mysqlbinlog.result:
  Fixed test after push without doing 'make test'
mysql-test/t/multi_update.test:
  Fixed not portable test
sql/sql_parse.cc:
  Don't use static inline, as this is not portable
2004-03-12 09:15:08 +02:00
unknown
965158f28f Merge
mysql-test/install_test_db.sh:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  SCCS merged
2004-03-12 01:13:04 +02:00
unknown
dd8b25510e Merge with 3.23 to get patch for floor()
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_check.c:
  Auto merged
mysql-test/r/func_math.result:
  Auto merged
mysql-test/t/func_math.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2004-03-12 01:12:14 +02:00
unknown
e6f59dd60e Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-11 22:27:17 +02:00
unknown
dc970f9518 multi_update.result:
Test case for a #2996 bug fix
multi_update.test:
  test case for a #2996 bug fix
sql_select.cc:
  Fix for a bug #2996 involving multi-table updates over the const tables


sql/sql_select.cc:
  Fix for a bug #2996 involving multi-table updates over the const tables
mysql-test/t/multi_update.test:
  test case for a #2996 bug fix
mysql-test/r/multi_update.result:
  Test case for a #2996 bug fix
2004-03-11 22:26:03 +02:00
unknown
bd6c4ef400 Fix for BUG#2983 "If statement was killed on master, slave errors despite replicate-wild-ignore-t"
We introduce a new function mysql_test_parse_for_slave().
If the slave sees that the query got a really bad error on master
(killed e.g.), then it calls this function to know if this query
can be ignored because of replicate-*-table rules (do not worry
about replicate-*-db rules: they are checked so early that they have
no bug). If the answer is yes, it skips the query and continues. If
it's no, then it stops and say "fix your slave data manually" (like it
did before this change).


mysql-test/r/rpl_error_ignored_table.result:
  result update
mysql-test/t/rpl_error_ignored_table-slave.opt:
  ignore more tables
mysql-test/t/rpl_error_ignored_table.test:
  we test if a killed query on the master, is ignored on the slave
  if the tables it involves should be excluded because of replicate-*-table
  rules.
sql/log_event.cc:
  If the query got a really bad error on the master (thread killed etc),
  parse it to test the table names: if the replicate-*-do|ignore-table
  rules say "this query must be ignored" then we exit gracefully;
  otherwise we warn about the bad error and tell DBA to check/fix it.
  Before this change, we always warned and stopped.
sql/mysql_priv.h:
  new function
sql/slave.cc:
  don't print error immediately as we need to do one more test to
  be sure.
sql/sql_parse.cc:
  we add a function mysql_test_parse_for_slave(), to be used only
  by the slave if it wants to know if the query should be ignored or not;
  so this function only parses the query, does not execute it.
2004-03-11 17:38:19 +01:00
unknown
8dcefa6f47 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2874/mysql-4.0


mysql-test/install_test_db.sh:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
2004-03-10 23:36:22 +04:00
unknown
12f5e3ebac Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2874/mysql-4.0


mysql-test/mysql-test-run.sh:
  Auto merged
2004-03-10 23:35:40 +04:00
unknown
2053f8f850 fixed BUG #2874 "Grant table bug" and
added tests for testing structure of mysql db


client/mysqltest.c:
  extend "replace" to column names
  extend "disable_result_log" to output of --exec commad
mysql-test/install_test_db.sh:
  corrected wrong column definitions (as a result of tests)
mysql-test/mysql-test-run.sh:
  export MYSQL and MYSQL_FIX_SYSTEM_TABLES + 
  added option --result-file for *.opt files
scripts/mysql_fix_privilege_tables.sh:
  added new options to using in tests + 
  added new alters (as a result of new tests)
scripts/mysql_fix_privilege_tables.sql:
  added new alters (as a result of new tests)
scripts/mysql_install_db.sh:
  corrected definition of tables_priv.Table_name
2004-03-10 22:54:07 +04:00
unknown
221397cdbe Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882)
BUILD/compile-pentium-debug-max:
  Added --with-raid
configure.in:
  Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
mysql-test/install_test_db.sh:
  Added --skip-warnings
mysql-test/mysql-test-run.sh:
  Fixes to get --gdb and --ddd to work
mysql-test/r/lowercase_table2.result:
  Test for lower_case_table_names=2 and temporary tables
mysql-test/r/lowercase_table3.result:
  Fixed error message
mysql-test/r/multi_update.result:
  Test of behaviour of multi-table-delete and alias
mysql-test/t/lowercase_table2.test:
  Test for lower_case_table_names=2 and temporary tables
mysql-test/t/lowercase_table3.test:
  Fixed error
mysql-test/t/multi_update.test:
  Test of behaviour of multi-table-delete and alias (Bug #2940)
mysys/mf_iocache.c:
  Renamed _flush_io_cache to my_b_flush_io_cache
sql/ha_myisam.cc:
  Added comment
sql/lock.cc:
  Extra debugging
sql/log.cc:
  New parameter to flush_relay_log_info
sql/log_event.cc:
  New parameter to flush_relay_log_info
sql/mf_iocache.cc:
  Removed not used header files
sql/mysqld.cc:
  More debugging info
  Less warnings when run with --skip-warnings
sql/opt_range.cc:
  More debug information
sql/repl_failsafe.cc:
  New parameter to flush_relay_log_info
sql/slave.cc:
  First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
  Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
sql/slave.h:
  New parameter to flush_relay_log_info
sql/sql_base.cc:
  Added warning
sql/sql_handler.cc:
  Indentation fix
sql/sql_repl.cc:
  New parameter to flush_relay_log_info
sql/sql_select.cc:
  Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
sql/sql_table.cc:
  Fixed comment
sql/sql_yacc.yy:
  Removed compiler warning
include/my_sys.h:
  Fixed usage of unpack_filename
mysys/mf_pack.c:
  Changed unpack_filename() to return length of result string.
mysys/test_fn.c:
  Fixed usage of unpack_filename
sql/sql_db.cc:
  Fixed memory leak with raid tables
sql/table.cc:
  Fixed usage of unpack_filename
2004-03-10 13:46:11 +02:00
unknown
5bc89a9644 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2004-03-06 10:43:53 +02:00
unknown
aa20bd9e8c Ensure that one can't from the command line set a variable too small. (Bug #2710)
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive. This fixes some issues on Mac OS X (Bug #2994)
Added variables "lower_case_file_system", "version_compile_os" and "license"


mysql-test/t/lowercase_table3-master.opt:
  Rename: mysql-test/t/lowercase_table2-master.opt -> mysql-test/t/lowercase_table3-master.opt
mysys/my_getopt.c:
  Ensure that one can't from the command line set a variable too small (could happen when sub_size was set)
sql/mysql_priv.h:
  Added lower_case_file_system
sql/mysqld.cc:
  Allow one to force lower_case_table_names to 0, even if the file system is case insensitive
sql/set_var.cc:
  Added variable "lower_case_file_system"
  Added variable "version_compile_os"
  Added variable "license"
sql/set_var.h:
  Added support for read only strings
sql/sql_select.cc:
  Make join optimizer killable
2004-03-06 10:43:35 +02:00
unknown
8550c7abeb fixed Bug #2985
"Table truncated when creating another table name with Spaces"
added to check_db_name, check_table_name and check_column_name
test for end space


mysql-test/r/create.result:
  added test for Bug #2985 
   "Table truncated when creating another table name with Spaces"
mysql-test/t/create.test:
  added test for Bug #2985 
   "Table truncated when creating another table name with Spaces"
sql/sql_db.cc:
  cancel strip end spaces for database name
sql/sql_parse.cc:
  cancel strip end spaces for database name
sql/table.cc:
  added to check_db_name, check_table_name and check_column_name 
  test for end space
2004-03-05 22:13:33 +04:00
unknown
bc9de3d455 fixed Bug #3051 "FLOOR returns invalid"
mysql-test/r/func_math.result:
  added test for Bug #3051 "FLOOR returns invalid"
mysql-test/t/func_math.test:
  added test for Bug #3051 "FLOOR returns invalid"
2004-03-04 22:11:33 +04:00
unknown
d4f43e511c invalidation of locking for write tables (BUG#2693)
fixed linking query_prealloc_size to query cache presence


mysql-test/r/query_cache.result:
  test of QC invalidation by LOCK command
mysql-test/t/query_cache.test:
  test of QC invalidation by LOCK command
sql/mysqld.cc:
  new variable query_cache_wlock_invalidate
  fixed query_prealloc_size with QC absence
sql/set_var.cc:
  new variable query_cache_wlock_invalidate
sql/sql_cache.cc:
  new method for table invalidation
sql/sql_cache.h:
  new method for table invalidation
sql/sql_class.h:
  new variable query_cache_wlock_invalidate
sql/sql_parse.cc:
  layout fixed
2004-03-04 18:32:55 +02:00
unknown
53368efea3 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2004-03-04 14:48:28 +01:00
unknown
4924f276db drop tables in windows-compatible order 2004-03-04 14:47:33 +01:00
unknown
bf53c87049 Fix for BUG#3017
"wrong Relay_Log_Pos if Rotate is in the middle of a transaction in relay log"
increment 'pending' instead of 'relay_log_pos'.


mysql-test/r/rpl_trunc_binlog.result:
  result update
sql/log_event.cc:
  - corrected error message
  - in Rotate_log_event::exec_event(), if we're in a transaction (which
  can happen if the I/O slave thread reconnected while reading a
  transaction), don't increment relay_log_pos but pending instead.
  Otherwise, relay_log_pos becomes garbage (and so if slave stops at that
  moment, it will never restart).
2004-03-01 00:46:31 +01:00
unknown
9aecd2044e Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-02-22 11:30:58 +01:00
unknown
a61331d805 Complement to
ChangeSet 1.1616.23.1
Fix for BUG#1858 "SQL-Thread stops working when using optimize table".
A test for this.


sql/sql_base.cc:
  In remove_table_from_cache(), kill only delayed threads.
2004-02-22 11:22:51 +01:00