Commit graph

1306 commits

Author SHA1 Message Date
unknown
2b4a56b9f3 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2004-05-10 12:39:31 +02:00
unknown
0bfea087af backport from 4.1:
"phrase search" should not match partial words (it should not match 'paraphrase searches')
2004-05-10 12:39:01 +02:00
unknown
95600183df Fix auto_inc locking bug introduced in ChangeSet@1.1794.1.1
innobase/row/row0mysql.c:
  Revert accidental modification to row_lock_table_autoinc_for_mysql()
  made in ChangeSet@1.1794.1.1
mysql-test/r/innodb.result:
  Revert ChangeSet@1.1794.1.1
2004-05-07 12:13:45 +03:00
unknown
bfa22229eb Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-05-05 21:51:26 +02:00
unknown
601bdde5ed very minor changes: a STOP SLAVE in a replication test to get rid of a non critical message in slave.err,
and a comment update


mysql-test/r/rpl_server_id2.result:
  result update
mysql-test/t/rpl_server_id2.test:
  We stop the slave before cleaning up otherwise we'll get
  'drop table t1' executed twice, so an error in the slave.err
  (not critical).
sql/slave.cc:
  update comment about 4.1 now that 4.1 is fixed (in a few minutes, exactly)
2004-05-05 21:50:51 +02:00
unknown
3594adb165 InnoDB: implement LOCK TABLE (Bug #3299)
innobase/include/lock0lock.h:
  Add lock_table_unlock() and lock_release_tables_off_kernel()
  Add LOCK_TABLE_EXP
innobase/include/row0mysql.h:
  Add row_unlock_table_for_mysql() and row_lock_table_for_mysql()
innobase/include/trx0trx.h:
  Add n_tables_locked
innobase/lock/lock0lock.c:
  Add LOCK_TABLE_EXP for explicit LOCK TABLE commands
  Add lock_table_unlock()
  Add lock_release_tables_off_kernel()
innobase/row/row0mysql.c:
  Add row_unlock_table_for_mysql() and row_lock_table_for_mysql()
innobase/trx/trx0trx.c:
  Add n_tables_locked
mysql-test/r/innodb.result:
  Updated handling of auto_inc columns
sql/ha_innodb.cc:
  Call row_lock_table_for_mysql() and row_unlock_table_for_mysql()
2004-04-29 16:42:33 +03:00
unknown
2a5d6bdc39 Very small fixes for testsuite (a real_sleep instead of sleep, plus TCP port independency of the result file).
mysql-test/r/rpl_server_id1.result:
  be port-independent
mysql-test/r/rpl_server_id2.result:
  be port-independent
mysql-test/t/rpl_error_ignored_table.test:
  we want to sleep 2 secs, not more; if we allow ourselves to sleep >=10 seconds, then
  the get_lock() will be aborted and we will arrive to late for the KILL to have
  the desired effect of generating an error code in the binlog.
mysql-test/t/rpl_server_id1.test:
  be port-independent
mysql-test/t/rpl_server_id2.test:
  be port-independent
2004-04-28 23:43:46 +02:00
unknown
b1f590203e Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-04-28 18:31:31 +02:00
unknown
87a93a3195 A new option --replicate-same-server-id to force a slave to execute queries originating from itself
(WL#794). This can be of interest in some recovery-from-backup scenarios, and also when you have
two databases in one mysqld, having a certain similarity and you want one db to be updated when the other is
(some sort of trigger).
Plus small fix for BUG#3568 "MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT"


sql/mysqld.cc:
  new option --replicate-same-server-id
sql/slave.cc:
  new option replicate_same_server_id, to force a slave to execute its own queries.
  Small fix for BUG#3568 "MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT"
sql/slave.h:
  new option --replicate-same-server-id
2004-04-28 18:24:46 +02:00
unknown
7afbb734b7 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-04-28 18:38:30 +03:00
unknown
8702628029 Merge ltantony.dsl-verizon.net:/usr/home/antony/work/mysql-4.0
into ltantony.dsl-verizon.net:/usr/home/antony/work/bug3481


mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
2004-04-28 16:38:29 +01:00
unknown
0d07fe42c3 Fix for Bug 3481
CREATE statement allowed extra unnecessary commas


mysql-test/r/alias.result:
  Extra comma removed in CREATE statement
mysql-test/r/create.result:
  New test for Bug 3481
mysql-test/r/func_str.result:
  Extra comma removed in CREATE statement
mysql-test/r/rpl_multi_update.result:
  Extra comma removed in CREATE statement
mysql-test/t/alias.test:
  Extra comma removed in CREATE statement
mysql-test/t/create.test:
  New test for bug 3481
mysql-test/t/func_str.test:
  Extra comma removed in CREATE statement
mysql-test/t/rpl_multi_update.test:
  Extra comma removed in CREATE statement
sql/sql_yacc.yy:
  Fix for bug 3481
    No path through the grammar which has no clauses
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-28 16:14:53 +01:00
unknown
8b9ecce08c Fixed http address in some scripts (Bug #3460)
Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19)) (portability fix)
Fixed that INTERVAL can handle big integers. (Bug #3498)
Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)


mysql-test/mysql-test-run.sh:
  Fixed wrong http address (Bug #3460)
mysql-test/r/func_time.result:
  Results for new test cases
mysql-test/t/func_time.test:
  Added test of INTERVAL with big integers
scripts/mysqld_safe.sh:
  Added html address to manual in case of error
sql/field.cc:
  Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19))
sql/item_timefunc.cc:
  Fixed that INTERVAL can handle big integers. (Bug #3498)
sql/mysql_priv.h:
  Removed not needed prototype
sql/sql_acl.cc:
  Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
  Moved GRANT_TABLE::GRANT_TABLE functions ou from class definition to make it possible to debug them
sql/structs.h:
  Fix for long values to INTERVAL
2004-04-28 17:45:08 +03:00
unknown
fdee1cbbb4 bug#3556 - soundex 2004-04-28 14:19:02 +02:00
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