Commit graph

864 commits

Author SHA1 Message Date
unknown
19758ce635 Fix for dropping a table with frm file consisting of "junk"
mysql-test/r/show_check.result:
  Move result to correct place
sql/sql_table.cc:
  Reset error if table_type is unknown. ie. the .frm file could not be opened
2005-10-24 15:05:06 +02:00
unknown
5727309da8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg12739


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2005-10-17 22:47:46 +04:00
unknown
dd02b98d14 Fix for bug #12739 "Deadlock in multithreaded environment during creating/
droping trigger on InnoDB table".

Deadlock occured in cases when we were trying to create two triggers for
the same InnoDB table concurrently and both threads were able to reach
close_cached_table() simultaneously. Bugfix implements new approach to
table locking and table cache invalidation during creation/dropping
of trigger.

No testcase is supplied since bug was repeatable only under high concurrency.


sql/mysql_priv.h:
  reopen_name_locked_table():
    Changed function signature to make it more robust against erroneous usage.
sql/sql_base.cc:
  reopen_name_locked_table():
    Changed function signature to make it more robust against erroneous usage.
    Obtaining LOCK_open lock is now resposibility of caller.
    When searching for the table to open we should not prefer connection's current
    database over database which was explicitly specified in TABLE_LIST::db member
    (even if database is not explicitly specified for table in original query
    TABLE_LIST::db will be set properly at parsing stage).
    Fixed behavior of function in cases when error occurs during opening of table.
sql/sql_table.cc:
  prepare_for_restore()/prepare_for_repair():
    We should not prefer connection's current database over database which was
    specified in TABLE_LIST::db member (even if database is not explicitly
    specified for table in original query TABLE_LIST::db will be set properly
    at parsing stage). Fixed behavior in unlikely case when we are unable
    to open table which we are restoring/reparing at the end of preparation
    stage.
sql/sql_trigger.cc:
  mysql_create_or_drop_trigger():
    Now instead of opening and locking table, creating trigger, and then trying
    to invalidate all instances of this table in table cache, we obtain name
    lock on table first (thus ensuring that no other thread has this table
    open), open it, create trigger and then close table therefore releasing lock.
    New approach is more in line with other places where change .frm files
    (i.e. change table meta-data).
    With this change we also get rid of deadlock which occured in cases when we
    were trying to create two triggers for the same InnoDB table concurrently
    and both threads were able to reach close_cached_table() simultaneously.
    (Alternative was to forbid to InnoDB downgrade locks for CREATE/DROP
     TRIGGER statements in one way or another but I think that proposed
     solution is better long term).
2005-10-17 22:37:24 +04:00
unknown
c2b9856333 Additional fix for bug #12267 (Can't use POINT for primary key)
mysql-test/r/gis.result:
  result fixed
mysql-test/t/gis.test:
  testcase added
sql/sql_table.cc:
  no need to specify keylength for Point type
sql/sql_yacc.yy:
  no need to specify length for Point type
2005-10-15 22:23:13 +05:00
unknown
56d85e2a03 Merge bk@192.168.21.1:/usr/home/bk/mysql-5.0
into deer.(none):/home/hf/work/mysql-5.0.12267


sql/sql_table.cc:
  Auto merged
2005-10-15 21:05:29 +05:00
unknown
0ce12f70ed Reviewing new pushed code
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  (Some old systems returns ETIME and it's safer to test for both values
   than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code


client/mysqldump.c:
  Simple optimizations of new code
  Indentation fixes
client/mysqltest.c:
  Removed not needed variable
include/mysql_com.h:
  Made octec2hex() more usable
mysql-test/r/ctype_utf8.result:
  CHAR() now returns binary string as default
mysql-test/r/func_str.result:
  CHAR() now returns binary string as default
mysql-test/r/range.result:
  Added test to verify new introduced bug in NOT BETWEEN X and X
mysql-test/r/user_var-binlog.result:
  CHAR() now returns binary string as default
mysql-test/r/view.result:
  More tests of view rename
mysql-test/t/ctype_utf8.test:
  CHAR() now returns binary string as default
mysql-test/t/func_str.test:
  CHAR() now returns binary string as default
mysql-test/t/range.test:
  Added test to verify new introduced bug in NOT BETWEEN X and X
mysql-test/t/view.test:
  More tests of view rename
mysys/mf_keycache.c:
  Indentation changes
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
mysys/my_os2cond.c:
  Fix to MySQL coding style
  Optimized functions
mysys/thr_lock.c:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
mysys/thr_mutex.c:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
server-tools/instance-manager/instance.cc:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
server-tools/instance-manager/thread_registry.cc:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
sql/ha_federated.cc:
  Use octet2hex()
sql/ha_ndbcluster.cc:
  Removed not used variable
sql/handler.cc:
  Simplify code
  Use *NONE* instead of 'none' for not existing storage engine
  Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
sql/item.h:
  Remove not needed test for *ref.  (If ref is set, it should never point at 0)
sql/item_func.cc:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  Simplify code
  More comments
  Require that last argument to find_and_check_access() is given
  (Made code shorter and faster)
sql/item_strfunc.cc:
  Changed CHAR() to return result in binary collation
  CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
  
  Bar will shortly add the following syntax:
  CHAR(.... USING character_set)
  and ensure that
  CONVERT(CHAR(....) USING utf8) cuts not legal utf8 strings
  Use ocet2hex()
sql/item_strfunc.h:
  CHAR() now returns a binary string
sql/log_event.cc:
  Use octet2hex()
  Simplify code
sql/parse_file.cc:
  Indentation fixes
  Use for() instead of while()
sql/password.c:
  Make octet2hex() more generally usable by returning pointer to end 0
sql/slave.cc:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
sql/sql_base.cc:
  Indentation fixes
sql/sql_insert.cc:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
sql/sql_manager.cc:
  Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
sql/sql_parse.cc:
  Don't check thd->db when checking for function privileges
sql/sql_prepare.cc:
  Fixed wrong merge
sql/sql_select.cc:
  Fixed new bug for NOT BETWEEN X and X
sql/sql_show.cc:
  Removed not used variable
sql/sql_table.cc:
  Indentation fixed
  Removed DBUG_PRINT that is obvious from context
sql/sql_view.cc:
  Simplify code
sql/unireg.cc:
  Use octet2hex()
2005-10-12 00:58:22 +03:00
unknown
c2621f3dcb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


BUILD/SETUP.sh:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_sys.h:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/information_schema_inno.result:
  Auto merged
mysql-test/r/multi_statement.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/temp_table.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
mysql-test/t/information_schema_inno.test:
  Auto merged
mysql-test/t/multi_statement.test:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/temp_table.test:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/structs.h:
  Auto merged
sql/table.h:
  Auto merged
strings/decimal.c:
  Auto merged
sql/sql_parse.cc:
  manual merge
sql/sql_prepare.cc:
  manual merge
sql/table.cc:
  manual merge
2005-10-08 03:37:23 +03:00
unknown
d67485c86c Simple changes during review of code
Added back flag that I accidently removed in last patch


sql/ha_federated.cc:
  Indentation cleanups
  Simple optimization using min() and strmake()
  Much simpler create()
sql/sql_prepare.cc:
  Added back flag that I accidently removed in last patch
sql/sql_table.cc:
  Simplify code by having error block last
2005-10-08 00:57:40 +03:00
unknown
7b54f5d633 Merge mysqldev@production.mysql.com:/data0/mysqldev/my/mysql-5.0-release
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/sql_table.cc:
  Auto merged
2005-10-05 19:37:02 +02:00
unknown
f1d7899e70 sql_table.cc:
fixed CHECKSUM TABLE to be independent from the first 'deleted' bit in the null bitmask (undefined in the InnoDB)
  bug#13710


sql/sql_table.cc:
  fixed CHECKSUM TABLE to be independent from the first 'deleted' bit in the null bitmask (undefined in the InnoDB)
  bug#13710
2005-10-05 19:36:20 +02:00
unknown
658eec0678 Merge mysqldev@production.mysql.com:/data0/mysqldev/my/mysql-5.0-release
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
2005-10-04 18:10:38 +02:00
unknown
ba95081510 sql_table.cc, table.cc, table.h:
fixed CHECKSUM TABLE to be independent from last - undefined in InnoDB - bits in the null bitmask
  bug#13710


sql/table.h:
  fixed CHECKSUM TABLE to be independent from last - undefined in InnoDB - bits in the null bitmask
  bug#13710
sql/table.cc:
  fixed CHECKSUM TABLE to be independent from last - undefined in InnoDB - bits in the null bitmask
  bug#13710
sql/sql_table.cc:
  fixed CHECKSUM TABLE to be independent from last - undefined in InnoDB - bits in the null bitmask
  bug#13710
2005-10-04 17:04:20 +02:00
unknown
d553b66791 Move handler specific options into handlerton flag check
BUG#13108


mysql-test/r/federated.result:
  added test results for federated alter table
mysql-test/t/federated.test:
  added test for federated alter table
sql/examples/ha_example.cc:
  supports table re-creation
sql/examples/ha_tina.cc:
  supports table re-creation
sql/ha_blackhole.cc:
  supports table re-creation
sql/ha_federated.cc:
  added flag for not supporting alter
sql/ha_heap.cc:
  supports table recreation
sql/ha_myisam.cc:
  supports table recreation
sql/ha_myisammrg.cc:
  supports table re-creation
sql/handler.cc:
  implemented flag check function
sql/handler.h:
  added additional handlerton flags
  created a function to test flags
  replace ha_supports_generate macro with call to flag check
sql/sql_delete.cc:
  replaced ha_supports_generate with handlerton flag check
sql/sql_table.cc:
  added check for handlerton check for alter support
2005-09-30 16:26:48 -07:00
unknown
94496220cd CHECKSUM TABLE now allows concurrent inserts
myisam/mi_check.c:
  info->s->state.checksum moved to info->state->checksum
myisam/mi_delete.c:
  info->s->state.checksum moved to info->state->checksum
myisam/mi_delete_all.c:
  info->s->state.checksum moved to info->state->checksum
myisam/mi_open.c:
  info->s->state.checksum moved to info->state->checksum
myisam/mi_update.c:
  info->s->state.checksum moved to info->state->checksum
myisam/mi_write.c:
  info->s->state.checksum moved to info->state->checksum
myisam/myisamchk.c:
  info->s->state.checksum moved to info->state->checksum
myisam/myisamdef.h:
  info->s->state.checksum moved to info->state->checksum
myisam/myisampack.c:
  info->s->state.checksum moved to info->state->checksum
mysql-test/r/system_mysql_db.result:
  result fixed
sql/ha_myisam.cc:
  info->s->state.checksum moved to info->state->checksum
2005-09-27 20:11:09 +02:00
unknown
2616b65787 Fix for bug #12267 (primary key over GEOMETRY field)
mysql-test/r/gis.result:
  test result fixed
mysql-test/t/gis.test:
  test case added
sql/sql_table.cc:
  we should check this for GEOMETRY fields
2005-09-26 14:55:52 +05:00
unknown
f147d73c87 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-4.1
into lmy004.:/work/mysql-4.1-bug12913


mysql-test/r/create.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
sql/sql_table.cc:
  Auto merged
2005-09-20 06:55:23 +03:00
unknown
dceb8fb271 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg12704-2


sql/mysql_priv.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2005-09-15 03:57:59 +04:00
unknown
d5303b8ab8 Fix for bug #12704 "Server crashes during trigger execution".
This bug occurs when some trigger for table used by DML statement is created
or changed while statement was waiting in lock_tables(). In this situation
prelocking set which we have calculated becames invalid which can easily lead
to errors and even in some cases to crashes.

With proposed patch we no longer silently reopen tables in lock_tables(),
instead caller of lock_tables() becomes responsible for reopening tables and
recalculation of prelocking set.


mysql-test/t/trigger.test:
  Added tests for bug #12704 "Server crashes during trigger execution".
  Unfortunately these tests rely on the order in which tables are locked
  by statement so they are non-determenistic and therefore should be disabled.
sql/lock.cc:
  mysql_lock_tables():
    Now instead of always reopening altered or dropped tables by itself
    mysql_lock_tables() can notify upper level and rely on caller doing this.
sql/mysql_priv.h:
  Now mysql_lock_tables() can either reopen deleted or altered tables by itself
  or notify caller about such situation through 'need_reopen' argument and rely
  on it in this.
  Also lock_tables() has new 'need_reopen' out parameter through which it
  notifies caller that some tables were altered or dropped so he needs to reopen
  them (and rebuild prelocking set some triggers may change or simply appear).
sql/sp.cc:
  sp_add_used_routine():
    To be able to restore LEX::sroutines_list to its state right after parsing
    we now adjust  LEX::sroutines_list_own_last/sroutines_list_own_elements when
    we add directly used routine.
  sp_remove_not_own_routines():
    Added procedure for restoring LEX::sroutines/sroutines_list to their state
    right after parsing (by throwing out non-directly used routines).
  sp_cache_routines_and_add_tables_for_view()/sp_update_stmt_used_routines():
    We should use LEX::sroutines_list instead of LEX::sroutines as source of
    routines used by view, since LEX::sroutines is not availiable for view
    on second attempt to open it (see comment in open_tables() about it).
sql/sp.h:
  sp_remove_not_own_routines():
    Added procedure for restoring LEX::sroutines/sroutines_list to their state
    right after parsing (by throwing out non-directly used routines).
sql/sp_head.cc:
  Removed assert which is no longer always true.
sql/sql_base.cc:
  reopen_table():
    When we re-open table and do shallow copy of TABLE object we should adjust
    pointers to it in associated Table_triggers_list object. Removed nil
    operation.
  open_tables():
    Now this function is able to rebuild prelocking set for statement if it is
    needed. It also correctly handles FLUSH TABLES which may occur during its
    execution.
  lock_tables():
    Instead of allowing mysql_lock_tables() to silently reopen altered or dropped
    tables let us notify caller and rely on that it will do reopen itself.
    This solves the problem when trigger suddenly appears or changed during
    mysq_lock_tables().
  close_tables_for_reopen():
    Added routine for properly preparing for reopening of tables and recalculation
    of set of prelocked tables.
sql/sql_handler.cc:
  Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_insert.cc:
  Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_lex.cc:
  LEX:
    Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members
    which are used for keeping state in which 'sroutines_list' was right after
    statement parsing (and for restoring of this list to this state).
sql/sql_lex.h:
  LEX:
    Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members
    which are used for keeping state in which 'sroutines_list' was right after
    statement parsing (and for restoring of this list to this state).
    Added chop_off_not_own_tables() method to simplify throwing away list
    of implicitly used (prelocked) tables.
sql/sql_prepare.cc:
  Now instead of silently reopening altered or dropped tables in
  lock_tables() we notify caller and rely on that the caller will
  reopen tables.
sql/sql_table.cc:
  Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_trigger.cc:
  Added Table_triggers_list::set_table() method to adjust Table_triggers_list
  to new pointer to TABLE instance.
sql/sql_trigger.h:
  Added Table_triggers_list::set_table() method to adjust Table_triggers_list
  to new pointer to TABLE instance.
sql/sql_update.cc:
  Now instead of silently reopening altered or dropped tables in
  lock_tables() we notify caller and rely on that the caller will
  reopen tables.
2005-09-15 03:56:09 +04:00
unknown
d89f5a4e7a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.mysql.fi:/home/my/mysql-5.0


sql/item.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/t/mysqldump.test:
  Merge
2005-09-14 01:47:38 +03:00
unknown
f8f1c01675 Added option --valgrind-mysqltest to mysql-test-run
Added flag to Field::store(longlong) to specify if value is unsigned.
This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
Fixed warning from valgrind in CREATE ... SELECT
Fixed double free of mysql.options if reconnect failed


mysql-test/mysql-test-run.sh:
  Added option --valgrind-mysqltest to allow one to run mysqltest with valgrind
mysql-test/r/bigint.result:
  Update results after fix for Field::store(longlong)
mysql-test/r/range.result:
  Update results after fix for Field::store(longlong)
mysql-test/r/strict.result:
  Update results after fix for Field::store(longlong)
  (This fixes some wrong results when storing things into bigint columns)
mysql-test/r/type_ranges.result:
  Update results after fix for Field::store(longlong)
mysql-test/t/bigint.test:
  Added testing for #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
mysql-test/t/innodb.test:
  Removed comments affected by this bug fix
mysql-test/t/mysqldump.test:
  Fixed result to not depend on existing config files
mysql-test/t/range.test:
  0xff numbers are now unsigned
mysql-test/t/strict.test:
  Added errors for things that previously (wrongly) succeeded
sql-common/client.c:
  Fixed double free of mysql.options if reconnect failed
sql/field.cc:
  Added flag to Field::store(longlong) to specify if value is unsigned
sql/field.h:
  Added flag to Field::store(longlong) to specify if value is unsigned
sql/field_conv.cc:
  Fixed calls to Field::store(longlong,flag)
sql/ha_ndbcluster.cc:
  Fixed calls to Field::store(longlong,flag)
sql/handler.cc:
  Fixed calls to Field::store(longlong,flag)
sql/item.cc:
  Fixed calls to Field::store(longlong,flag)
sql/item_sum.cc:
  Fixed calls to Field::store(longlong,flag)
sql/sp.cc:
  Fixed calls to Field::store(longlong,flag)
sql/sql_acl.cc:
  Fixed calls to Field::store(longlong,flag)
sql/sql_help.cc:
  Fixed calls to Field::store(longlong,flag)
sql/sql_show.cc:
  Fixed calls to Field::store(longlong,flag)
sql/sql_table.cc:
  Fixed varning from valgrind
sql/sql_udf.cc:
  Fixed calls to Field::store(longlong,flag)
sql/tztime.cc:
  Fixed calls to Field::store(longlong,flag)
sql/unireg.cc:
  Fixed calls to Field::store(longlong,flag)
2005-09-14 01:41:44 +03:00
unknown
738ee00503 Bug#12845 - Stress test: Server crashes on CREATE .. SELECT statement
Solution for 5.0.
Changed calls to open_table(). Requested to ignore
flush at places where the command did already lock tables.
This could happen in CREATE ... SELECT and ALTER TABLE.

No test case. The bug can only be triggered by true concurrency.
The stress test suite provides a test case for this.


sql/sql_base.cc:
  Bug#12845 - Stress test: Server crashes on  CREATE .. SELECT statement
  Solution for 5.0.
  Changed open_table() so that ignoring flush requests
  is dependend on the 'flags' parameter as ignoring drop
  request was already. This aims for consistent behaviour.
sql/sql_table.cc:
  Bug#12845 - Stress test: Server crashes on  CREATE .. SELECT statement
  Solution for 5.0.
  Changed calls to open_table(). Requested to ignore
  flush at places where the command did already lock tables.
  This could happen in CREATE ... SELECT and ALTER TABLE.
2005-09-13 14:36:43 +02:00
unknown
8c3423652d Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0


mysql-test/r/temp_table.result:
  Auto merged
mysql-test/r/warnings.result:
  Auto merged
sql/sql_db.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/create.result:
  Merged from 4.1 to 5.0
mysql-test/r/innodb.result:
  Merged from 4.1 to 5.0
mysql-test/t/create.test:
  Merged from 4.1 to 5.0
sql/item_cmpfunc.cc:
  Merged from 4.1 to 5.0
sql/sql_table.cc:
  Merged from 4.1 to 5.0
2005-09-12 20:18:49 +03:00
unknown
63080dc200 Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
produce warning for 'create database if not exists' if database exists
  do not update database options in this case  
  produce warning for 'create table if not exists' if table exists



mysql-test/r/create.result:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    updated test case result
mysql-test/r/temp_table.result:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    updated test case result
mysql-test/r/warnings.result:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    updated test case result
mysql-test/t/create.test:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    test case
sql/sql_db.cc:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    produce warning for 'create database if not exists' if database exists
    do not update database options in this case
sql/sql_table.cc:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    produce warning for 'create table if not exists' if table exists
2005-09-12 17:09:19 +05:00
unknown
b5f8734487 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0


sql/examples/ha_archive.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2005-09-01 09:05:45 +02:00
unknown
bdddd8c089 Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean


mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
mysql-test/t/system_mysql_db_fix.test:
  Auto merged
ndb/src/kernel/blocks/backup/BackupInit.cpp:
  Auto merged
ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
  Auto merged
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
  Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
ndb/src/kernel/vm/SimulatedBlock.cpp:
  Auto merged
ndb/src/kernel/vm/SimulatedBlock.hpp:
  Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Resolve conflicts
sql/ha_innodb.cc:
  Resolve conflicts
sql/item_strfunc.cc:
  Resolve conflicts
2005-08-31 15:24:06 -07:00
unknown
11bd1f871a fix for bug#12913
(Simple SQL can crash server or connection)
(not initialized member leads to server crash)


mysql-test/r/create.result:
  result of test for bug #12913
mysql-test/t/create.test:
  test for bug#12913
  (Simple SQL can crash server or connection)
sql/sql_table.cc:
  copy the interval pointer too or a bit later
  dereferencing of this pointer being 0x0 will crash the server
  (see bug #12913)
2005-09-01 00:13:02 +02:00
unknown
aa4820af40 Fix incorrect spellings of "dropped" in source and tests. (Bug #12828)
include/my_alloc.h:
  Fix incorrect spelling
mysql-test/t/rpl000009.test:
  Fix incorrect spelling
mysql-test/t/system_mysql_db_fix.test:
  Fix incorrect spelling
sql/sql_table.cc:
  Fix incorrect spelling
tests/mysql_client_test.c:
  Fix incorrect spelling
2005-08-30 12:24:37 -07:00
unknown
e3ba68f3ce Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-5000


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
sql/sql_table.cc:
  Auto merged
2005-08-30 08:18:27 +02:00
unknown
04af59a36c fix for bug 12207 (alter table discard tablespace on MyISAM table
causes ERROR 2013).
(all-in-one approved patch)


mysql-test/r/alter_table.result:
  result for test for bug #12207
  (alter table discard database works on mysiam and causes error 2013)
mysql-test/t/alter_table.test:
  test for bug #12207 (alter table discard tablescpae on MyISAM table
  causes ERROR 2013)
sql/sql_table.cc:
  send all error message to table->file->print_error() thus not missing
  handing of some (like engine not supported).
  
  fix for bug #12207 (alter table discard tablespace on MyISAM table
  causes ERROR 2013)
2005-08-29 21:00:43 +02:00
unknown
194a520d21 Merge mysql.com:/home/mydev/mysql-4.1-4100
into  mysql.com:/home/mydev/mysql-5.0-5000


myisam/mi_search.c:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/innodb.result:
  Hand merged.
mysql-test/r/key.result:
  Hand merged.
mysql-test/r/myisam.result:
  Hand merged.
mysql-test/t/key.test:
  Hand merged.
mysql-test/t/myisam.test:
  Hand merged.
sql/sql_delete.cc:
  Hand merged.
sql/sql_parse.cc:
  Hand merged.
2005-08-29 18:18:30 +02:00
unknown
ea36375027 Bug#12296 - CHECKSUM TABLE reports 0 for the table
Skipping deleted records instead of breaking the loop
during checksum calculation.


mysql-test/r/myisam.result:
  Bug#12296 - CHECKSUM TABLE reports 0 for the table
  The test result.
mysql-test/t/myisam.test:
  Bug#12296 - CHECKSUM TABLE reports 0 for the table
  The test case.
2005-08-29 17:08:41 +02:00
unknown
ad594de473 merged
mysys/my_alloc.c:
  Auto merged
sql/sql_table.cc:
  Auto merged
2005-08-26 13:24:59 +04:00
unknown
173e5df37f Merge mishka.local:/home/my/mysql-4.1
into  mishka.local:/home/my/mysql-5.0


BitKeeper/etc/ignore:
  auto-union
BitKeeper/deleted/.del-Grep.cpp~ad798e9ae519d667:
  Auto merged
BitKeeper/deleted/.del-Grep.hpp~b05e3af6cfabe387:
  Auto merged
BitKeeper/deleted/.del-ctype_cp932.result:
  Auto merged
BitKeeper/deleted/.del-ctype_cp932.test:
  Auto merged
BitKeeper/deleted/.del-have_lowercase0.inc:
  Delete: mysql-test/include/have_lowercase0.inc
VC++Files/mysql-test/mysql_test_run_new.dsp:
  Auto merged
configure.in:
  Auto merged
mysql-test/include/ps_conv.inc:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/examples/ha_archive.cc:
  Auto merged
sql/examples/ha_example.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
VC++Files/client/mysqltest.dsp:
  manual merge
VC++Files/sql/mysqld.dsp:
  manual merge
mysql-test/r/grant2.result:
  patch merge
mysql-test/r/subselect2.result:
  manual merge
mysql-test/t/grant2.test:
  patch merge
mysys/charset.c:
  Remove already deleted function
sql/examples/ha_archive.h:
  Manual merge
sql/sql_acl.cc:
  manual merge
sql/sql_db.cc:
  merge (no differences)
sql/sql_select.cc:
  manual merge
sql/table.h:
  merge (no differences)
tests/mysql_client_test.c:
  patch merge
2005-08-25 06:55:48 +03:00
unknown
0616d6905f Improve default error message for optimize/repair table
sql/sql_table.cc:
  Add result_code to default error message
2005-08-24 10:41:44 +02:00
unknown
e2c29343f8 after pull cleanup
configure.in:
  don't be too restrictive
mysql-test/r/rpl_drop_db.result:
  test case cleanup
mysql-test/t/rpl_drop_db.test:
  test case cleanup
2005-08-22 13:20:02 +04:00
unknown
4652c6b053 updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication).
We binlog the DROP TABLE for each table that was actually dropped. Per Sergei's 
suggestion a fixed buffer for the DROP TABLE query is pre-allocated from THD pool, and 
logging now is done in batches - new batch is started if the buffer becomes full.
Reduced memory usage by reusing the table list instead of accumulating a list of 
dropped table names. Also fixed the problem if the table was not actually dropped, eg
due to permissions. Extended the test case to make sure batched query 
logging does work.  


mysql-test/r/rpl_drop_db.result:
  test for query buffer overrun
mysql-test/t/rpl_drop_db.test:
  test for query buffer overrun
sql/mysql_priv.h:
  updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
BitKeeper/etc/ignore:
  Added support-files/MacOSX/postflight support-files/MacOSX/preflight to the ignore list
sql/sql_db.cc:
  updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
sql/sql_table.cc:
  updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
sql/table.h:
  updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
2005-08-18 21:40:14 -06:00
unknown
ec657e8d2a patch for BUG#4680 - drop database breaking replication if there were extra files
in the database directory on the master


mysql-test/r/rpl_drop_db.result:
  New BitKeeper file ``mysql-test/r/rpl_drop_db.result''
mysql-test/t/rpl_drop_db.test:
  New BitKeeper file ``mysql-test/t/rpl_drop_db.test''
2005-08-03 18:08:20 -06:00
unknown
71bc6fef62 Changed/fixed error message from last commit 2005-08-04 02:06:21 +02:00
unknown
7c17339561 Fix for bug #6859 (after Sanja's review)
Added check which throws ER_WRONG_OBJECT error in case the .frm
doesn't contain a valid table type (e.g. view or trigger)


mysql-test/r/create.result:
  Added test case for bug #6859
mysql-test/t/create.test:
  Add testcase for bug #6850
2005-08-03 07:29:48 +02:00
unknown
36b6bf2ef3 Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0


BitKeeper/etc/ignore:
  auto-union
BitKeeper/deleted/.del-ctype_cp932.test:
  Auto merged
BitKeeper/deleted/.del-isam.test~834fb0ee8196c445:
  Auto merged
include/thr_lock.h:
  Auto merged
mysql-test/t/alias.test:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/archive.test:
  Auto merged
mysql-test/t/backup.test:
  Auto merged
mysql-test/t/bool.test:
  Auto merged
mysql-test/t/connect.test:
  Auto merged
mysql-test/t/count_distinct2.test:
  Auto merged
mysql-test/t/create.test:
  Auto merged
mysql-test/t/ctype_many.test:
  Auto merged
mysql-test/t/ctype_ucs_binlog.test:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
mysql-test/t/delayed.test:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
mysql-test/t/distinct.test:
  Auto merged
mysql-test/t/drop.test:
  Auto merged
mysql-test/t/endspace.test:
  Auto merged
mysql-test/t/flush.test:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
mysql-test/t/fulltext_order_by.test:
  Auto merged
mysql-test/t/func_compress.test:
  Auto merged
mysql-test/t/func_concat.test:
  Auto merged
mysql-test/t/func_date_add.test:
  Auto merged
mysql-test/t/func_equal.test:
  Auto merged
mysql-test/t/func_if.test:
  Auto merged
mysql-test/t/func_sapdb.test:
  Auto merged
mysql-test/t/func_set.test:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/gis-rtree.test:
  Auto merged
mysql-test/t/gis.test:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/grant2.test:
  Auto merged
mysql-test/t/grant_cache.test:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
mysql-test/t/heap_btree.test:
  Auto merged
mysql-test/t/heap_hash.test:
  Auto merged
mysql-test/t/init_connect.test:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
mysql-test/t/insert_update.test:
  Auto merged
mysql-test/t/key.test:
  Auto merged
mysql-test/t/keywords.test:
  Auto merged
mysql-test/t/limit.test:
  Auto merged
mysql-test/t/lock.test:
  Auto merged
mysql-test/t/lowercase_table.test:
  Auto merged
mysql-test/t/lowercase_table3.test:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/mysqlbinlog2.test:
  Auto merged
mysql-test/t/ndb_alter_table.test:
  Auto merged
mysql-test/t/ndb_autodiscover.test:
  Auto merged
mysql-test/t/ndb_charset.test:
  Auto merged
mysql-test/t/ndb_grant.later:
  Auto merged
mysql-test/t/ndb_index_ordered.test:
  Auto merged
mysql-test/t/ndb_index_unique.test:
  Auto merged
mysql-test/t/ndb_restore.test:
  Auto merged
mysql-test/t/ndb_types.test:
  Auto merged
mysql-test/t/ndb_update.test:
  Auto merged
mysql-test/t/null.test:
  Auto merged
mysql-test/t/null_key.test:
  Auto merged
mysql-test/t/olap.test:
  Auto merged
mysql-test/t/openssl_1.test:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/ps_4heap.test:
  Auto merged
mysql-test/t/ps_5merge.test:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
mysql-test/t/replace.test:
  Auto merged
mysql-test/t/row.test:
  Auto merged
mysql-test/t/rpl000001.test:
  Auto merged
mysql-test/t/rpl000015.test:
  Auto merged
mysql-test/t/rpl000017.test:
  Auto merged
mysql-test/t/rpl000018.test:
  Auto merged
mysql-test/t/rpl_EE_error.test:
  Auto merged
mysql-test/t/rpl_change_master.test:
  Auto merged
mysql-test/t/rpl_charset.test:
  Auto merged
mysql-test/t/rpl_create_database.test:
  Auto merged
mysql-test/t/rpl_ddl.test:
  Auto merged
mysql-test/t/rpl_deadlock.test:
  Auto merged
mysql-test/t/rpl_empty_master_crash.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysql-test/t/rpl_flush_log_loop.test:
  Auto merged
mysql-test/t/rpl_flush_tables.test:
  Auto merged
mysql-test/t/rpl_get_lock.test:
  Auto merged
mysql-test/t/rpl_heap.test:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/rpl_log_pos.test:
  Auto merged
mysql-test/t/rpl_max_relay_size.test:
  Auto merged
mysql-test/t/rpl_multi_query.test:
  Auto merged
mysql-test/t/rpl_openssl.test:
  Auto merged
mysql-test/t/rpl_redirect.test:
  Auto merged
mysql-test/t/rpl_relayrotate.test:
  Auto merged
mysql-test/t/rpl_replicate_do.test:
  Auto merged
mysql-test/t/rpl_reset_slave.test:
  Auto merged
mysql-test/t/rpl_server_id2.test:
  Auto merged
mysql-test/t/rpl_temporary.test:
  Auto merged
mysql-test/t/rpl_timezone.test:
  Auto merged
mysql-test/t/rpl_user_variables.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
mysql-test/t/synchronization.test:
  Auto merged
mysql-test/t/system_mysql_db.test:
  Auto merged
mysql-test/t/system_mysql_db_fix.test:
  Auto merged
mysql-test/t/temp_table.test:
  Auto merged
mysql-test/t/timezone2.test:
  Auto merged
mysql-test/t/timezone_grant.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/type_ranges.test:
  Auto merged
mysql-test/t/type_timestamp.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
mysql-test/t/update.test:
  Auto merged
mysql-test/t/user_var-binlog.test:
  Auto merged
mysql-test/t/warnings.test:
  Auto merged
mysys/thr_lock.c:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
BitKeeper/deleted/.del-rpl_trunc_binlog.test~961b1f6ac73d37c8:
  Simple merge
mysql-test/r/ps_grant.result:
  Simple merge
mysql-test/t/analyse.test:
  Simple merge
mysql-test/t/auto_increment.test:
  Simple merge
mysql-test/t/bdb.test:
  Simple merge
mysql-test/t/bigint.test:
  Simple merge
mysql-test/t/case.test:
  Simple merge
mysql-test/t/cast.test:
  Simple merge
mysql-test/t/check.test:
  Simple merge
mysql-test/t/count_distinct.test:
  Simple merge
mysql-test/t/ctype_latin1_de.test:
  Simple merge
mysql-test/t/ctype_uca.test:
  Simple merge
mysql-test/t/ctype_ucs.test:
  Simple merge
mysql-test/t/ctype_utf8.test:
  Simple merge
mysql-test/t/delete.test:
  Simple merge
mysql-test/t/flush_block_commit.test:
  Simple merge
mysql-test/t/func_default.test:
  Simple merge
mysql-test/t/func_gconcat.test:
  Simple merge
mysql-test/t/func_group.test:
  Aligned code with 4.1
mysql-test/t/func_in.test:
  Simple merge
mysql-test/t/func_math.test:
  Simple merge
mysql-test/t/func_misc.test:
  Simple merge
mysql-test/t/func_test.test:
  Simple merge
mysql-test/t/func_time.test:
  Simple merge
mysql-test/t/group_by.test:
  Simple merge
mysql-test/t/having.test:
  Simple merge
mysql-test/t/innodb.test:
  Simple merge
mysql-test/t/insert.test:
  Simple merge
mysql-test/t/join_outer.test:
  Simple merge
mysql-test/t/kill.test:
  Simple merge
mysql-test/t/loaddata.test:
  Simple merge
mysql-test/t/lock_multi.test:
  Simple merge
mysql-test/t/multi_update.test:
  Simple merge
mysql-test/t/mysqlbinlog.test:
  Simple merge
mysql-test/t/mysqldump.test:
  Aligned code with 4.1
mysql-test/t/mysqltest.test:
  Simple merge
mysql-test/t/ndb_basic.test:
  Simple merge
mysql-test/t/ndb_cache.test:
  Simple merge
mysql-test/t/ndb_subquery.test:
  Simple merge
mysql-test/t/ps_grant.test:
  Simple merge
mysql-test/t/range.test:
  Simple merge
mysql-test/t/rpl_drop_temp.test:
  Simple merge
mysql-test/t/rpl_loaddata_rule_s.test:
  Simple merge
mysql-test/t/rpl_loaddatalocal.test:
  Simple merge
mysql-test/t/rpl_rotate_logs.test:
  Simple merge
mysql-test/t/rpl_until.test:
  Simple merge
mysql-test/t/rpl_variables.test:
  Simple merge
mysql-test/t/select.test:
  Simple merge
mysql-test/t/sql_mode.test:
  Simple merge
mysql-test/t/type_blob.test:
  Simple merge
mysql-test/t/type_decimal.test:
  Simple merge
mysql-test/t/user_var.test:
  Simple merge
mysql-test/t/variables.test:
  Simple merge
sql/lock.cc:
  Simple optimization
sql/mysql_priv.h:
  Simple merge
sql/sql_table.cc:
  Simple merge
sql/table.cc:
  Simple merge
sql/unireg.cc:
  Simple merge
2005-07-28 17:09:54 +03:00
unknown
34b340c4dd Review of new code:
Change argument order to be database, tablename for some functions


sql/lock.cc:
  Remove not needed block
sql/mysql_priv.h:
  Change argument order to be database, tablename (like in most other functions)
sql/sql_table.cc:
  Change argument order to be database, tablename (like in most other functions)
  Make 'flags' inline
sql/table.cc:
  Change argument order to be database, tablename (like in most other functions)
sql/unireg.cc:
  Change argument order to be database, tablename (like in most other functions)
2005-07-27 13:05:30 +03:00
unknown
6fd718dfbb Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean


mysql-test/r/create.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/t/create.test:
  Resolve conflict
sql/mysql_priv.h:
  Resolve conflict
sql/table.cc:
  Resolve conflict
sql/unireg.cc:
  Resolve conflict
2005-07-22 12:35:15 -07:00
unknown
4198410528 Fix error message generated when trying to create a table in a
non-existent database. (Bug #10407)


mysql-test/r/create.result:
  Update results
mysql-test/t/create.test:
  Update error numbers
sql/mysql_priv.h:
  Adjust some other function signature so table and db information
  is passed down into create_frm().
sql/sql_table.cc:
  Check for database not existing after hitting an error when
  copying the .frm file for 'CREATE TABLE ... LIKE ...', and
  pass table and db name into rea_create_table().
sql/table.cc:
  Generate specific error message when .frm creation fails because
  the database does not exist.
sql/unireg.cc:
  Pass database and table name down into create_frm().
2005-07-21 20:08:54 -07:00
unknown
0b732c4797 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into  c-450ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.0


include/my_sys.h:
  Auto merged
include/thr_lock.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql-common/client.c:
  Auto merged
client/mysqldump.c:
  Manual merge
include/mysql.h:
  Manual merge
libmysql/libmysql.c:
  Manual merge
myisam/rt_split.c:
  Manual merge
mysys/thr_lock.c:
  Manual merge
sql/lock.cc:
  Manual merge
sql/mysql_priv.h:
  Manual merge
sql/sql_base.cc:
  Manual merge
sql/sql_table.cc:
  Manual merge
tests/mysql_client_test.c:
  Manual merge
2005-07-21 01:29:57 -04:00
unknown
31ebc6ef71 Fix merge 2005-07-20 22:30:34 -04:00
unknown
a3fe765249 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.0
into  c-450ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-4.1


include/thr_lock.h:
  Auto merged
mysys/thr_lock.c:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_table.cc:
  Manual merge after 4.0 fix
2005-07-20 21:58:33 -04:00
unknown
af1dfb613b Bug #10600 After review fixes
sql/lock.cc:
  Used flags immediately in call
sql/mysql_priv.h:
  Added RTFC (short for remove_table_from_cache)
  for constants and used hex syntax to clarify it is bits
  in the flags
sql/sql_base.cc:
  Use flags parameter immediately and use flags immediately in call
  Change to other variant of eternal loop variant
sql/sql_table.cc:
  Use flags immediately in call
2005-07-20 21:19:01 +02:00
unknown
a32bf7fb82 Fix for bugs #5892/6182/8751/8758/10994 (based on Antony's patch)
"Triggers have the wrong namespace"
  "Triggers: duplicate names allowed"
  "Triggers: CREATE TRIGGER does not accept fully qualified names"
  "SHOW TRIGGERS"


mysql-test/r/information_schema.result:
  Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/r/information_schema_db.result:
  INFORMATION_SCHEMA.TRIGGERS view was added.
mysql-test/r/rpl_sp.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/r/trigger.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
  Added test checking that triggers have database wide namespace.
  Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
  table in a different DB".
mysql-test/r/view.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/t/information_schema.test:
  Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/t/rpl_sp.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/t/trigger.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
  Added test checking that triggers have database wide namespace.
  Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
  table in a different DB".
mysql-test/t/view.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
sql/handler.cc:
  Added .TRN tho the list of known file extensions assoicated with tables.
sql/item.h:
  trg_action_time_type/trg_event_type enums:
    Added TRG_ACTION_MAX/TRG_EVENT_MAX elements which should be used instead of
    magical values in various loops where we iterate through all types of trigger
    action times or/and trigger event types.
sql/lex.h:
  Added new symbol "TRIGGERS".
sql/mysql_priv.h:
  Added declaration of constant holding extension for trigger name (.TRN) files.
sql/mysqld.cc:
  Added statistical variable for SHOW TRIGGERS command.
sql/share/errmsg.txt:
  Added error message saying that one attempts to create trigger in wrong schema.
sql/sp.cc:
  Replaced magical values with TRG_EVENT_MAX/TRG_ACTION_MAX constants.
sql/sql_base.cc:
  open_unireg_entry():
    Now Table_triggers_list::check_n_load() has one more argument which
    controls whether we should prepare Table_triggers_list with fully functional
    triggers or load only their names.
sql/sql_lex.h:
  Added element for new SHOW TRIGGERS command to enum_sql_command enum.
sql/sql_parse.cc:
  prepare_schema_table():
    Added support for SHOW TRIGGERS statement.
sql/sql_show.cc:
  Added new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
sql/sql_table.cc:
  mysql_rm_table_part2():
    Replaced simple deletion of .TRG file with call to
    Table_triggers_list::drop_all_triggers which will also delete .TRN files
    for all triggers associated with table.
sql/sql_trigger.cc:
  Now triggers have database wide namespace. To support it we create special .TRN
  file with same name as trigger for each trigger. This file contains name of
  trigger's table so one does not need to specify it explicitly in DROP TRIGGER.
  Moreover DROP TRIGGER treats first part of trigger identifier as database name
  now. Updated mysql_create_or_drop_trigger() routine and
  Table_triggers_list::create_trigger()/drop_trigger()/check_n_load() methods
  accordingly. Added add_table_for_trigger() routine and
  Table_triggers_list::drop_all_triggers() method.
  
  Added Table_triggers_list::get_trigger_info() for obtaining trigger metadata.
sql/sql_trigger.h:
  Table_triggers_list:
    Use TRG_EVENT_MAX, TRG_ACTION_MAX instead of magic values.
    Added get_trigger_info() method for obtaining trigger's meta-data.
    Added drop_all_triggers() method which drops all triggers for table.
    Added declarations of trg_action_time_type_names/trg_event_type_names
    arrays which hold names of triggers action time types  and event types.
sql/sql_yacc.yy:
  Changed grammar for CREATE/DROP TRIGGER to support database wide trigger
  namespace. Added new SHOW TRIGGERS statement.
sql/table.h:
  enum enum_schema_tables:
    Added constant for new INFORMATION_SCHEMA.TRIGGERS view.
2005-07-19 20:06:49 +04:00
unknown
6d29b23b15 Bug #10600
remove_table_from_cache fails to signal other thread and gets
blocked when other thread also gets blocked


include/thr_lock.h:
  Report if any threads was signalled
mysys/thr_lock.c:
  Report if any threads was signalled
sql/lock.cc:
  Report if any threads was signalled
  Use new interface for remove_table_from_cache
sql/mysql_priv.h:
  New interface for remove_table_from_cache
  + mysql_lock_abort_for_thread
sql/sql_base.cc:
  Use new interface of remove_table_cache
  Rewrote remove_table_from_cache to fix bug
sql/sql_table.cc:
  Use new interface of remove_table_from_cache
2005-07-19 00:29:19 +02:00
unknown
212345b400 Merge mysql.com:/usr/home/bar/mysql-4.1.num-conv
into  mysql.com:/usr/home/bar/mysql-5.0


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/item.cc:
  After merge fix.
2005-07-14 16:11:55 +05:00