1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-18 23:03:28 +03:00
Commit Graph

717 Commits

Author SHA1 Message Date
88dd873de0 Fixed compiler warnings detected by option -Wshadow and -Wunused:
- Removed not used variables and functions
- Added #ifdef around code that is not used
- Renamed variables and functions to avoid conflicts
- Removed some not used arguments

Fixed some class/struct warnings in ndb
Added define IS_LONGDATA() to simplify code in libmysql.c

I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
2006-12-15 00:51:37 +02:00
c06f995ba7 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build


client/mysqltest.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2006-12-01 13:02:54 +01:00
da7820c37d Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
2006-12-01 13:02:54 +01:00
9b1336fec9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1


configure.in:
  Auto merged
include/my_pthread.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_plugin.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
storage/archive/ha_archive.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
sql/item_create.cc:
  manual merge
2006-11-30 23:27:16 +02:00
693b906f6e Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1
2006-11-30 23:27:16 +02:00
7191e77539 Fixed portability issue in my_thr_init.c (was added in my last push)
Fixed compiler warnings (detected by VC++):
- Removed not used variables
- Added casts
- Fixed wrong assignments to bool
- Fixed wrong calls with bool arguments
- Added missing argument to store(longlong), which caused wrong store method to be called.



client/mysqldump.c:
  Removed compiler warning
heap/hp_clear.c:
  Removed compiler warning
include/my_global.h:
  Removed compiler warning
include/my_tree.h:
  Changed memory limits from int to ulong
  (Allowed me to get rid of some compiler warnings)
myisam/mi_create.c:
  Removed compiler warning
myisam/myisampack.c:
  Removed compiler warning
mysys/base64.c:
  Removed compiler warning
mysys/my_thr_init.c:
  Fixed portability issue (detected on windows)
  Added DBUG_ASSERT to detect if we call my_thread_end() too many times
  Don't wait if THR_thread_count == -1 (error condition)
mysys/tree.c:
  Removed compiler warning
sql/field.cc:
  Removed compiler warning
  Fixed wrong parameter to check_date()
  Added missing argument to store(longlong)
sql/ha_archive.cc:
  Removed compiler warning
sql/ha_federated.cc:
  Removed compiler warning
sql/ha_innodb.cc:
  Removed not used variable
sql/handler.cc:
  Removed not used variable
  Fixed wrong if (we didn't detect if rollback or commit failed). Not critical as value is not yet used
sql/item.cc:
  Removed compiler warning
sql/item_func.cc:
  Removed compiler warning
sql/item_strfunc.cc:
  Removed compiler warning
sql/item_timefunc.cc:
  Removed compiler warning
sql/log.cc:
  Removed compiler warning
sql/mysql_priv.h:
  Removed compiler warning
sql/opt_range.cc:
  Removed compiler warning
sql/password.c:
  Removed compiler warning
sql/set_var.cc:
  Removed compiler warning
sql/slave.cc:
  Removed compiler warning
sql/sp.cc:
  Removed compiler warning
sql/sp_cache.cc:
  Removed compiler warning
sql/sp_head.cc:
  Removed compiler warning
  Adjusted argument to reserve() to not use up too much memory that we are probably not going to need
sql/sql_acl.cc:
  Added missing argument to store(longlong)
sql/sql_base.cc:
  Removed compiler warning
sql/sql_db.cc:
  Removed compiler warning
sql/sql_delete.cc:
  Removed compiler warning
sql/sql_handler.cc:
  Removed not used variable
sql/sql_lex.h:
  Removed not used variable
sql/sql_prepare.cc:
  Removed not used variable
sql/sql_rename.cc:
  Removed not used variable
sql/sql_select.cc:
  Fixed that select_options are not 'cut'
  Removed some not used variables
  Removed compiler warnings by adding cast
sql/sql_show.cc:
  Removed not used variables
  Added missing argument to store(longlong)
  Removed compiler warnings
sql/sql_trigger.cc:
  Removed not used variables
  Added cast to remove compiler warnings
sql/sql_update.cc:
  Fixed wrong set of bool variable
sql/sql_view.cc:
  Removed not used variables
  Added cast to get rid of compiler warnings
sql-common/client.c:
  Fixed compiler warning
sql-common/my_time.c:
  Fixed wrong argument to check_date()
  Added casts to get rid of compiler warnings
sql/sql_yacc.yy:
  Removed not used variable
sql/uniques.cc:
  Changes memory size from uint to ulong
  Added casts to get rid of compiler warnings
strings/ctype-simple.c:
  Fixed cast to get rid of compiler warnings
2006-11-30 18:25:05 +02:00
3d40956039 Fixed portability issue in my_thr_init.c (was added in my last push)
Fixed compiler warnings (detected by VC++):
- Removed not used variables
- Added casts
- Fixed wrong assignments to bool
- Fixed wrong calls with bool arguments
- Added missing argument to store(longlong), which caused wrong store method to be called.
2006-11-30 18:25:05 +02:00
1e87cfee19 Fixed compiler warnings (Mostly VC++):
- Removed not used variables
- Changed some ulong parameters/variables to ulonglong (possible serious bug)
- Added casts to get rid of safe assignment from longlong to long (and similar)
- Added casts to function parameters
- Fixed signed/unsigned compares
- Added some constructores to structures
- Removed some not portable constructs

Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
(Added new parameter to net_clear() to define when we want the communication buffer to be emptied)


client/mysql.cc:
  Removed not used variable
client/mysqldump.c:
  Fixed compiler warning
client/mysqlslap.c:
  Fixed compiler warning
client/mysqltest.c:
  Fixed compiler warning
extra/replace.c:
  Fixed compiler warning
include/my_global.h:
  Fixed compiler warning
include/mysql_com.h:
  Changed prototype for net_clear()
libmysql/libmysql.c:
  Changed prototype for net_clear()
mysys/base64.c:
  Fixed compiler warning (function definition and prototype didn't match)
mysys/my_thr_init.c:
  AFter merge fixes
mysys/my_vle.c:
  Fixed compiler warning
sql/event_data_objects.cc:
  Fixed compiler warning
sql/event_scheduler.cc:
  Removed not used variable
sql/field.cc:
  Removed not used variables
  Fixed compiler warning
sql/gen_lex_hash.cc:
  Fixed compiler warning
sql/ha_partition.h:
  Fixed compiler warning
sql/handler.cc:
  Fixed compiler warning
sql/item.cc:
  Fixed compiler warning
sql/item_create.cc:
  Fixed compiler warning
sql/item_func.cc:
  Fixed compiler warning
sql/item_strfunc.cc:
  Fixed compiler warning
sql/item_timefunc.cc:
  Fixed compiler warning
sql/item_xmlfunc.cc:
  Fixed compiler warning
sql/log.cc:
  Fixed compiler warning
sql/log_event.cc:
  Fixed compiler warning
sql/log_event.h:
  Fixed compiler warning
sql/mysql_priv.h:
  Fixed too short 'select_type'
sql/net_serv.cc:
  Added argument to net_clear() if we should empty the communication buffer.
sql/opt_range.cc:
  Fixed compiler warning
sql/partition_info.cc:
  Fixed compiler warning
sql/rpl_injector.h:
  Fixed compiler warning
sql/set_var.cc:
  Fixed compiler warning
sql/slave.cc:
  Fixed compiler warning
sql/sp_head.cc:
  Fixed compiler warning
sql/sql_base.cc:
  Fixed compiler warning
sql/sql_db.cc:
  Fixed compiler warning
sql/sql_delete.cc:
  Fixed compiler warning
sql/sql_insert.cc:
  Fixed compiler warning
sql/sql_lex.h:
  Fixed compiler warning
sql/sql_parse.cc:
  Fixed compiler warning
sql/sql_partition.cc:
  Fixed compiler warning
sql/sql_plugin.cc:
  Fixed compiler warning
sql/sql_prepare.cc:
  Fixed compiler warning
sql/sql_rename.cc:
  Fixed compiler warning
sql/sql_select.cc:
  Fixed compiler warning
sql/sql_show.cc:
  Fixed compiler warning
sql/sql_table.cc:
  Fixed compiler warning
sql/sql_trigger.cc:
  Fixed compiler warning
sql-common/client.c:
  Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
sql-common/my_time.c:
  Fixed compiler warning
sql/sql_union.cc:
  Fixed compiler warning
sql/sql_update.cc:
  Fixed compiler warning
sql/sql_view.cc:
  Fixed compiler warning
sql/sql_yacc.yy:
  Fixed compiler warning
sql/table.cc:
  Fixed compiler warning
storage/archive/azio.c:
  Fixed compiler warning
storage/csv/ha_tina.cc:
  Removed not used code
storage/myisam/mi_unique.c:
  Fixed compiler warning
storage/ndb/include/util/OutputStream.hpp:
  Fixed compiler warning
storage/ndb/include/util/SocketAuthenticator.hpp:
  Fixed compiler warning
storage/ndb/src/kernel/vm/Pool.hpp:
  Fixed compiler warning
strings/ctype-simple.c:
  Fixed compiler warning
strings/my_strchr.c:
  Fixed compiler warning
2006-11-30 03:40:42 +02:00
3a35c30027 Fixed compiler warnings (Mostly VC++):
- Removed not used variables
- Changed some ulong parameters/variables to ulonglong (possible serious bug)
- Added casts to get rid of safe assignment from longlong to long (and similar)
- Added casts to function parameters
- Fixed signed/unsigned compares
- Added some constructores to structures
- Removed some not portable constructs

Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
(Added new parameter to net_clear() to define when we want the communication buffer to be emptied)
2006-11-30 03:40:42 +02:00
6949b04246 A post-merge fix: fix the failing trigger-grant.test.
sql/sql_trigger.cc:
  Another post-merge fix: make TRIGGER privilege work again, after
  IF EXISTS refactoring.
2006-11-30 03:34:10 +03:00
931cf68b59 A post-merge fix: fix the failing trigger-grant.test. 2006-11-30 03:34:10 +03:00
126375b16a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/r/im_daemon_life_cycle.result:
  Auto merged
mysql-test/r/im_life_cycle.result:
  Auto merged
mysql-test/r/rpl_trigger.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/im_life_cycle.imtest:
  Auto merged
mysql-test/t/im_utils.imtest:
  Auto merged
mysql-test/t/rpl_trigger.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Use local.
mysql-test/r/func_str.result:
  SCCS merged
mysql-test/t/func_str.test:
  Manual merge.
sql/sql_trigger.cc:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
2006-11-30 02:36:18 +03:00
9fa2b75804 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-11-30 02:36:18 +03:00
788ad30f08 Fixed a LOT of compiler warnings
Added missing DBUG_RETURN statements (in mysqldump.c)
Added missing enums
Fixed a lot of wrong DBUG_PRINT() statements, some of which could cause crashes
Removed usage of %lld and %p in printf strings as these are not portable or produces different results on different systems.


client/mysqldump.c:
  Fixed some compiler warnings
  Added some missing DBUG_RETURN
  Remove copying of 'cluster' database
client/mysqlslap.c:
  Fixed compiler warnings
client/mysqltest.c:
  After merge fix
extra/yassl/taocrypt/include/algebra.hpp:
  Removed compiler warning
mysql-test/include/im_check_env.inc:
  Fixed race condition (mysqld1 could report 'starting' or 'online'
mysql-test/mysql-test-run.pl:
  After merge fixes
  Added missing directory to LD_LIBRARY_PATH
mysql-test/r/ctype_cp1250_ch.result:
  After merge fix
mysql-test/r/im_cmd_line.result:
  Fixed race condition
mysql-test/r/im_daemon_life_cycle.result:
  Fixed race condition
mysql-test/r/im_instance_conf.result:
  Fixed race condition
mysql-test/r/im_life_cycle.result:
  Fixed race condition
mysql-test/r/im_utils.result:
  Fixed race condition
mysql-test/r/log_tables.result:
  Fixed wrong result
mysql-test/t/disabled.def:
  Disabled ndb_restore_partion, as ndb_restore_compate caused it to fail, becasue of table 'cluster/def/schema' which is stored in ndb_backup50
mysys/my_compress.c:
  Removed compiler warnings
mysys/my_getopt.c:
  Ensure we always have at least one space between option name and value
plugin/fulltext/plugin_example.c:
  Removed compiler warnings
server-tools/instance-manager/mysql_connection.cc:
  After merge fix
sql/event_data_objects.cc:
  Fixed compiler warnings
  Fixed platform compatibility issues (%lld is not portable)
sql/event_data_objects.h:
  Fixed compiler warnings
sql/event_db_repository.cc:
  Fixed compiler warnings
sql/event_queue.cc:
  Fixed compiler warnings
sql/event_scheduler.cc:
  Fixed compiler warnings
sql/events.cc:
  Fixed compiler warnings
sql/field.cc:
  Fixed compiler warnings
sql/ha_ndbcluster.cc:
  Fixed compiler warnings
sql/ha_ndbcluster_binlog.cc:
  Fixed compiler warnings
sql/ha_partition.cc:
  Fixed compiler warnings
sql/handler.cc:
  Fixed compiler warnings
sql/item_cmpfunc.cc:
  Fixed DBUG_PRINT style
sql/item_func.cc:
  Fixed compiler warnings
sql/log.cc:
  Fixed compiler warnings
sql/log_event.cc:
  Fixed compiler warnings
sql/mysqld.cc:
  Fixed compiler warnings
sql/opt_range.cc:
  Fixed compiler warnings
sql/repl_failsafe.cc:
  Indentation fixes
sql/rpl_rli.cc:
  Fixed compiler warnings
sql/rpl_tblmap.cc:
  Fixed compiler warnings
sql/set_var.cc:
  Fixed compiler warnings
sql/slave.cc:
  Fixed compiler warnings
sql/sp_head.cc:
  Fixed compiler warnings
sql/sql_base.cc:
  Fixed compiler warnings
  Fixed indentation
sql/sql_binlog.cc:
  Fixed compiler warnings
sql/sql_cache.cc:
  Fixed compiler warnings
sql/sql_class.cc:
  Fixed compiler warnings
sql/sql_handler.cc:
  Fixed compiler warnings
sql/sql_lex.cc:
  Fixed compiler warnings
sql/sql_parse.cc:
  Fixed compiler warnings
sql/sql_partition.cc:
  Fixed compiler warnings
sql/sql_prepare.cc:
  Fixed compiler warnings
sql/sql_table.cc:
  Fixed compiler warnings
sql/sql_test.cc:
  Fixed DBUG_PRINT style
sql/sql_trigger.cc:
  Fixed DBUG_PRINT style
sql/table.cc:
  Fixed compiler warnings
storage/federated/ha_federated.cc:
  Fixed compiler warnings
storage/myisam/mi_rsamepos.c:
  Fixed compiler warnings
storage/ndb/include/ndb_global.h.in:
  After merge fix
storage/ndb/include/util/NdbOut.hpp:
  Inform gcc that ndbout_c takes a printf() string as argument
storage/ndb/include/util/SimpleProperties.hpp:
  After merge fixes
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Fixed compiler warnings
  Fixed usage of uninitialized value (Got help from Jonas with patch)
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/lgman.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/pgman.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/restore.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Fixed compiler warnings
  Added missing enum's to switch
storage/ndb/src/kernel/vm/Configuration.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/DLHashTable.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/RWPool.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/WOPool.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
  Fixed compiler warnings
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Fixed compiler warnings
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/DictCache.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbIndexStat.cpp:
  Initialize possible uninitialized variable
storage/ndb/src/ndbapi/NdbOperationInt.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
  Added missing enum's (To avoid compiler warnings)
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/ObjectMap.hpp:
  Fixed compiler warnings
storage/ndb/tools/desc.cpp:
  Fixed compiler warnings
storage/ndb/tools/restore/Restore.cpp:
  Fixed compiler warnings
storage/ndb/tools/restore/consumer_restore.cpp:
  Fixed compiler warnings
unittest/mytap/t/basic-t.c:
  Fixed compiler warnings
unittest/mytap/tap.c:
  Fixed compiler warnings
2006-11-27 01:47:38 +02:00
fa81a82e7f Fixed a LOT of compiler warnings
Added missing DBUG_RETURN statements (in mysqldump.c)
Added missing enums
Fixed a lot of wrong DBUG_PRINT() statements, some of which could cause crashes
Removed usage of %lld and %p in printf strings as these are not portable or produces different results on different systems.
2006-11-27 01:47:38 +02:00
541e9c9ac5 Bug#23703 (DROP TRIGGER needs an IF EXISTS)
This change set implements the DROP TRIGGER IF EXISTS functionality.

This fix is considered a bug and not a feature, because without it,
there is no known method to write a database creation script that can create
a trigger without failing, when executed on a database that may or may not
contain already a trigger of the same name.

Implementing this functionality closes an orthogonality gap between triggers
and stored procedures / stored functions (which do support the DROP IF
EXISTS syntax).

In sql_trigger.cc, in mysql_create_or_drop_trigger,
the code has been reordered to:
- perform the tests that do not depend on the file system (access()),
- get the locks (wait_if_global_read_lock, LOCK_open)
- call access()
- perform the operation
- write to the binlog
- unlock (LOCK_open, start_waiting_global_read_lock)

This is to ensure that all the code that depends on the presence of the
trigger file is executed in the same critical section,
and prevents race conditions similar to the case fixed by Bug 14262 :

- thread 1 executes DROP TRIGGER IF EXISTS, access() returns a failure
- thread 2 executes CREATE TRIGGER
- thread 2 logs CREATE TRIGGER
- thread 1 logs DROP TRIGGER IF EXISTS

The patch itself is based on code contributed by the MySQL community,
under the terms of the Contributor License Agreement (See Bug 18161).


mysql-test/r/rpl_trigger.result:
  DROP TRIGGER IF EXISTS
mysql-test/r/trigger.result:
  DROP TRIGGER IF EXISTS
mysql-test/t/rpl_trigger.test:
  DROP TRIGGER IF EXISTS
mysql-test/t/trigger.test:
  DROP TRIGGER IF EXISTS
sql/sql_trigger.cc:
  DROP TRIGGER IF EXISTS
sql/sql_yacc.yy:
  DROP TRIGGER IF EXISTS
2006-11-13 15:40:22 -07:00
429b0e6c0f Bug#23703 (DROP TRIGGER needs an IF EXISTS)
This change set implements the DROP TRIGGER IF EXISTS functionality.

This fix is considered a bug and not a feature, because without it,
there is no known method to write a database creation script that can create
a trigger without failing, when executed on a database that may or may not
contain already a trigger of the same name.

Implementing this functionality closes an orthogonality gap between triggers
and stored procedures / stored functions (which do support the DROP IF
EXISTS syntax).

In sql_trigger.cc, in mysql_create_or_drop_trigger,
the code has been reordered to:
- perform the tests that do not depend on the file system (access()),
- get the locks (wait_if_global_read_lock, LOCK_open)
- call access()
- perform the operation
- write to the binlog
- unlock (LOCK_open, start_waiting_global_read_lock)

This is to ensure that all the code that depends on the presence of the
trigger file is executed in the same critical section,
and prevents race conditions similar to the case fixed by Bug 14262 :

- thread 1 executes DROP TRIGGER IF EXISTS, access() returns a failure
- thread 2 executes CREATE TRIGGER
- thread 2 logs CREATE TRIGGER
- thread 1 logs DROP TRIGGER IF EXISTS

The patch itself is based on code contributed by the MySQL community,
under the terms of the Contributor License Agreement (See Bug 18161).
2006-11-13 15:40:22 -07:00
75ed6f1a3b Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint


BitKeeper/deleted/.del-CMakeLists.txt~1:
  Auto merged
BitKeeper/deleted/.del-make_win_bin_dist:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/mysql.h:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/r/log_tables.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
netware/BUILD/mwenv:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
include/my_time.h:
  manual merge.
mysql-test/mysql-test-run.pl:
  manual merge.
mysql-test/r/ps.result:
  manual merge.
mysql-test/t/disabled.def:
  manual merge.
mysql-test/t/ps.test:
  manual merge.
2006-11-02 17:51:59 -05:00
b074e13483 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2006-11-02 17:51:59 -05:00
f0364b7b84 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/innodb_mysql.test:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Manual merge.
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
2006-11-02 17:39:52 -05:00
af5acac047 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-11-02 17:39:52 -05:00
ec5bdb5185 Fix bad merge. 2006-10-20 22:21:05 -04:00
dae79f0a50 Fix bad merge. 2006-10-20 22:21:05 -04:00
f565eaf21f Fix bad merge from #14262.
sql/sql_trigger.cc:
  Correct previous patch regarding binlog-entry type.
2006-10-20 17:44:03 -04:00
c2119709c6 Fix bad merge from #14262. 2006-10-20 17:44:03 -04:00
a6273e6d40 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2


sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2006-10-20 16:05:23 +04:00
384f0fee0d Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2
2006-10-20 16:05:23 +04:00
d76cf9973a Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg15228


sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2006-10-20 15:54:58 +04:00
850688194b Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg15228
2006-10-20 15:54:58 +04:00
1a793de9e4 Fix for bug#15228 "'invalid access to non-static data member'
warnings in sql_trigger.cc and sql_view.cc".

According to the current version of C++ standard offsetof() macro
can't be used for non-POD types. So warnings were emitted when we
tried to use this macro for TABLE_LIST and Table_triggers_list
classes. Note that despite of these warnings it was probably safe
thing to do.

This fix tries to circumvent this limitation by implementing
custom version of offsetof() macro to be used with these
classes. This hack should go away once we will refactor
File_parser class.

Alternative approaches such as disabling this warning for
sql_trigger.cc/sql_view.cc or for the whole server were
considered less explicit. Also I was unable to find a way
to disable particular warning for particular _part_ of
file in GCC.


sql/parse_file.h:
  Introduced auxillary macro which can be used instead of offsetof()
  to get offsets of members in class for non-POD types without getting
  warnings (assuming that all instances of the class has same offsets
  for same members).
sql/sql_trigger.cc:
  Use my_offsetof() macro instead of standard offsetof() macro with
  Table_triggers_list class in order to avoid warnings (offsetof()
  cannot be used for non-POD types according to the standard).
sql/sql_view.cc:
  Use my_offsetof() macro instead of standard offsetof() macro with
  TABLE_LIST class in order to avoid warnings (offsetof() cannot
  be used for non-POD types according to the standard).
2006-10-20 15:47:52 +04:00
3fce634fc1 Fix for bug#15228 "'invalid access to non-static data member'
warnings in sql_trigger.cc and sql_view.cc".

According to the current version of C++ standard offsetof() macro
can't be used for non-POD types. So warnings were emitted when we
tried to use this macro for TABLE_LIST and Table_triggers_list
classes. Note that despite of these warnings it was probably safe
thing to do.

This fix tries to circumvent this limitation by implementing
custom version of offsetof() macro to be used with these
classes. This hack should go away once we will refactor
File_parser class.

Alternative approaches such as disabling this warning for
sql_trigger.cc/sql_view.cc or for the whole server were
considered less explicit. Also I was unable to find a way
to disable particular warning for particular _part_ of
file in GCC.
2006-10-20 15:47:52 +04:00
aff965c3b1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug14262/my50-bug14262


BitKeeper/deleted/.del-collapsed:
  'Auto converge rename'
BitKeeper/etc/collapsed:
  'Auto converge'
sql/sp.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.h:
  Auto merged
vio/viosocket.c:
  Auto merged
sql/sql_parse.cc:
  Manual merge
sql/sql_view.cc:
  Manual merge
2006-10-13 08:57:15 -04:00
87ba07e832 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug14262/my50-bug14262
2006-10-13 08:57:15 -04:00
0b48fb08c6 Additional patch for 5.1 commit for Bug#14262.
sql/sp.cc:
  Update binlog-writing scheme to 5.1 model.
sql/sql_acl.cc:
  Update binlog-writing scheme to 5.1 model.
sql/sql_trigger.cc:
  Update binlog-writing scheme to 5.1 model.
2006-10-12 17:51:56 -04:00
177f6c64df Additional patch for 5.1 commit for Bug#14262. 2006-10-12 17:51:56 -04:00
21e525c5ae Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug14262/my50-bug14262
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug14262/my51


BitKeeper/deleted/.del-collapsed~66d21d0d6c19df3d:
  Delete: BitKeeper/etc/collapsed
BitKeeper/etc/collapsed:
  'Auto converge'
sql/sp.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.h:
  Auto merged
sql/sql_parse.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
sql/sql_view.cc:
  Manual merge.
vio/viosocket.c:
  Manual merge.
2006-10-11 16:49:59 -04:00
1279acd975 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug14262/my50-bug14262
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug14262/my51
2006-10-11 16:49:59 -04:00
e6eef5c1a7 Bug #14262: SP: DROP PROCEDURE|VIEW (maybe more) write to binlog too late \
(race cond)

It was possible for one thread to interrupt a Data Definition Language 
statement and thereby get messages to the binlog out of order.  Consider:

Connection 1: Drop Foo x
Connection 2: Create or replace Foo x
Connection 2: Log "Create or replace Foo x"
Connection 1: Log "Drop Foo x"

Local end would have Foo x, but the replicated slaves would not.

The fix for this is to wrap all DDL and logging of a kind in the same mutex.  
Since we already use mutexes for the various parts of altering the server, 
this only entails moving the logging events down close to the action, inside 
the mutex protection.


BitKeeper/etc/collapsed:
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
  ---
  BitKeeper file /home/cmiller/work/mysql/bug14262/my50-bug14262/BitKeeper/etc/collapsed
sql/sp.cc:
  Move logging inside the routine drop and update functions, so it can be 
  protected by a LOCK_open mutex.  (The "create" function already had such 
  a LOCK_open protection.)
sql/sql_acl.cc:
  Move logging inside the grant functions, so that it can be protected by 
  LOCK_grant .
sql/sql_db.cc:
  Add comments that describe how each logging event is protected.
sql/sql_parse.cc:
  Move all logging statements about DDL statements close to the actual event, 
  so each can be protected by the same mutex.
sql/sql_table.cc:
  Widen the scope of the mutex so that logging events are also protected.
sql/sql_trigger.cc:
  Widen the scope of the mutex so that logging events are also protected.
sql/sql_view.cc:
  Pass the head of the table linked-list so we can create a logging statement.
  
  Move the logging statement inside the worker function, and notably inside 
  the LOCK_open mutex.  Widen the same mutex a little to make room for logging.
sql/sql_view.h:
  Pass the head of the table linked-list so we can create a logging statement.
2006-10-03 13:38:25 -04:00
5512100c6a Bug #14262: SP: DROP PROCEDURE|VIEW (maybe more) write to binlog too late \
(race cond)

It was possible for one thread to interrupt a Data Definition Language 
statement and thereby get messages to the binlog out of order.  Consider:

Connection 1: Drop Foo x
Connection 2: Create or replace Foo x
Connection 2: Log "Create or replace Foo x"
Connection 1: Log "Drop Foo x"

Local end would have Foo x, but the replicated slaves would not.

The fix for this is to wrap all DDL and logging of a kind in the same mutex.  
Since we already use mutexes for the various parts of altering the server, 
this only entails moving the logging events down close to the action, inside 
the mutex protection.
2006-10-03 13:38:25 -04:00
0e4dd85d67 Fix for bug#20670 "UPDATE using key and invoking trigger that modifies
this key does not stop" (version for 5.0 only).

UPDATE statement which WHERE clause used key and which invoked trigger
that modified field in this key worked indefinetely.

This problem occured because in cases when UPDATE statement was
executed in update-on-the-fly mode (in which row is updated right
during evaluation of select for WHERE clause) the new version of
the row became visible to select representing WHERE clause and was
updated again and again.
We already solve this problem for UPDATE statements which does not
invoke triggers by detecting the fact that we are going to update
field in key used for scanning and performing update in two steps,
during the first step we gather information about the rows to be
updated and then doing actual updates. We also do this for
MULTI-UPDATE and in its case we even detect situation when such
fields are updated in triggers (actually we simply assume that
we always update fields used in key if we have before update
trigger).

The fix simply extends this check which is done in check_if_key_used()/
QUICK_SELECT_I::check_if_keys_used() routine/method in such way that
it also detects cases when field used in key is updated in trigger.
As nice side-effect we have more precise and thus more optimal
perfomance-wise check for the MULTI-UPDATE.
Also check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() were
renamed to is_key_used()/QUICK_SELECT_I::is_keys_used() in order to
better reflect that boolean predicate.

Note that this check is implemented in much more elegant way in 5.1 


mysql-test/r/trigger.result:
  Added test case for bug#20670 "UPDATE using key and invoking trigger that
  modifies this key does not stop".
mysql-test/t/trigger.test:
  Added test case for bug#20670 "UPDATE using key and invoking trigger that
  modifies this key does not stop".
sql/key.cc:
  Renamed check_if_key_used() to is_key_used(). Also this routine checks if
  key uses field which can be updated by before update trigger defined on the
  table. As result we avoid using update-on-the-fly method in cases when trigger
  updates part of key which is used by select which filters rows to be updated
  and thus avoid infinite updates. By doing such check here we cover both UPDATE
  and MULTI-UPDATE cases.
sql/mysql_priv.h:
  Renamed check_if_key_used() to is_key_used().
sql/opt_range.cc:
  Renamed check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() to
  is_key_used()/QUICK_SELECT_I::is_keys_used().
sql/opt_range.h:
  Renamed QUICK_SELECT_I::check_if_keys_used() method to is_keys_used(),
  also updated comment describing it to reflect its extended semantics
  (this change was caused by change in check_if_key_used()/is_key_used()
   routine semantics).
sql/sql_trigger.cc:
  Introduced Table_triggers_list::is_updated_in_before_update_triggers()
  method which is needed for checking if field of subject table can be
  changed in before update trigger.
sql/sql_trigger.h:
  Table_triggers_list:
    Removed has_before_update_triggers() method which is not used any longer.
    Added declaration of is_updated_in_before_update_triggers() which is
    needed for checking if field of subject table can be changed by before
    update trigger.
sql/sql_update.cc:
  safe_update_on_fly():
    check_if_key_used() routine and check_if_keys_used() method were
    renamed to is_key_used()/is_keys_used(). 
    Now cases when trigger updates fields which are part of key used for
    filtering rows for update are caught directly in is_key_used().
    This also allows to cover both UPDATE and MULTI-UPDATE cases.
2006-09-21 11:35:38 +04:00
091ed9fb38 Fix for bug#20670 "UPDATE using key and invoking trigger that modifies
this key does not stop" (version for 5.0 only).

UPDATE statement which WHERE clause used key and which invoked trigger
that modified field in this key worked indefinetely.

This problem occured because in cases when UPDATE statement was
executed in update-on-the-fly mode (in which row is updated right
during evaluation of select for WHERE clause) the new version of
the row became visible to select representing WHERE clause and was
updated again and again.
We already solve this problem for UPDATE statements which does not
invoke triggers by detecting the fact that we are going to update
field in key used for scanning and performing update in two steps,
during the first step we gather information about the rows to be
updated and then doing actual updates. We also do this for
MULTI-UPDATE and in its case we even detect situation when such
fields are updated in triggers (actually we simply assume that
we always update fields used in key if we have before update
trigger).

The fix simply extends this check which is done in check_if_key_used()/
QUICK_SELECT_I::check_if_keys_used() routine/method in such way that
it also detects cases when field used in key is updated in trigger.
As nice side-effect we have more precise and thus more optimal
perfomance-wise check for the MULTI-UPDATE.
Also check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() were
renamed to is_key_used()/QUICK_SELECT_I::is_keys_used() in order to
better reflect that boolean predicate.

Note that this check is implemented in much more elegant way in 5.1
2006-09-21 11:35:38 +04:00
5fab3969af Merge bodhi.local:/opt/local/work/mysql-5.0-runtime-safemerge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


BitKeeper/deleted/.del-im_check_os.inc:
  Auto merged
BitKeeper/deleted/.del-im_options_set.imtest~b53d9d60e5684833:
  Auto merged
BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
  Auto merged
BitKeeper/deleted/.del-im_options_unset.imtest~768eb186b51d0048:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
  Auto merged
include/mysql_com.h:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/r/im_daemon_life_cycle.result:
  Auto merged
mysql-test/r/im_life_cycle.result:
  Auto merged
mysql-test/r/im_utils.result:
  Auto merged
mysql-test/r/sp-error.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/type_varchar.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/im_life_cycle.imtest:
  Auto merged
mysql-test/t/im_utils.imtest:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
mysql-test/t/type_varchar.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_row.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_error.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/mysql-test-run.pl:
  Use local. Alik will merge his changes manually.
mysql-test/lib/mtr_process.pl:
  Use local.
mysql-test/r/grant.result:
  Use local.
mysql-test/r/sp.result:
  Use local.
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/grant.test:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
mysql-test/t/sp.test:
  Manual merge.
sql/Makefile.am:
  Manual merge.
sql/field.cc:
  Manual merge.
sql/mysqld.cc:
  Manual merge.
sql/share/errmsg.txt:
  Manual merge.
sql/sp.cc:
  Manual merge.
sql/sp_head.h:
  Manual merge.
sql/sql_trigger.cc:
  Manual merge.
sql/sql_view.cc:
  Manual merge.
2006-08-30 03:00:19 +04:00
ebb7070430 Merge bodhi.local:/opt/local/work/mysql-5.0-runtime-safemerge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-08-30 03:00:19 +04:00
2f0a610f91 Polishing (was the part of original patch for BUG#16899):
Changed trigger-handling code so that there will be the one
place for generate statement string for replication log
and for trigger file.


sql/sql_trigger.cc:
  Changed trigger-handling code so that there will be the one
  place for generate statement string for replication log
  and for trigger file.
sql/sql_trigger.h:
  Changed trigger-handling code so that there will be the one
  place for generate statement string for replication log
  and for trigger file.
2006-08-24 18:48:26 +04:00
ad7d4b0c3f Polishing (was the part of original patch for BUG#16899):
Changed trigger-handling code so that there will be the one
place for generate statement string for replication log
and for trigger file.
2006-08-24 18:48:26 +04:00
96aef62c73 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  example.com:/work/mysql-5.1-runtime


sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2006-08-17 19:09:55 +02:00
30b4a45998 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  example.com:/work/mysql-5.1-runtime
2006-08-17 19:09:55 +02:00
728a924c66 Cleanup patch.
There is an existing macros for initializing LEX_STRINGs
with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
(char *) STRING_WITH_LEN -> C_STRING_WITH_LEN


sql/handler.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/item.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/mysql_priv.h:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_acl.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_error.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_error.h:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_lex.h:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_parse.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_partition.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_plugin.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_show.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_trigger.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_view.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/tztime.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
2006-08-17 18:13:45 +02:00
081b865936 Cleanup patch.
There is an existing macros for initializing LEX_STRINGs
with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
(char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
2006-08-17 18:13:45 +02:00
021cea21fd Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
sql/sql_db.cc:
  Manual merge.
sql/sql_show.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
2006-08-14 16:30:57 +04:00